Kenapa fungsi ordersend terkena warning pada metaeditor

KASKUS

https://s.kaskus.id/e3.1/images/layout/home-logo-n.png

51

244

https://www.kaskus.co.id/thread/000000000000000003311468/share-mau-buat-expert-advisor-atau-indicator-sendiri

Kenapa fungsi ordersend terkena warning pada metaeditor

05-02-2010 23:27

List tips & trick - Update 31 Mei 2010
Halo para kaskuser, Mungkin ada yg pernah nyoba EA (expert advisor) / robot trading milik org lain dan merasa bisa disempurnakan. Atau punya gaya trading sendiri yg ingin diotomatisasi biar meniadakan faktor emosi atau tdk disiplin. Pernah berpikir utk buat EA / robot sendiri? Kalo di platform metatrader ada tombol yg akan menjalankan editor yg bisa meng-compile script yg kita buat jadi ex4 sehingga bisa dijalankan di broker manapun yg memakai platform metatrader.
Kenapa fungsi ordersend terkena warning pada metaeditor


editor dari platform metatrader bernama metaeditor juga dilengkapi online help lengkap agar kita bisa membuat EA yg canggih. Secara berkala gw akan share tips & trick membuat EA, harapan gw agar para kaskuser bisa membuat EA sendiri jadi bebas menerapkan & menyempurnakan teknik trading, juga agar kita bisa belajar bareng2.

Kalo ada yg mau nanya atau ikutan sharing, monggo gan

Kenapa fungsi ordersend terkena warning pada metaeditor

05-02-2010 23:27

Kenapa fungsi ordersend terkena warning pada metaeditor

tata604 memberi reputasi

2010-02-05T23:27:38+07:00

Tampilkan isi Thread

Kenapa fungsi ordersend terkena warning pada metaeditor

24-03-2010 21:55

thanks


gw rapihin sedikit codingnya, utk memperlancar pembuatan EA nggak ada salahnya kalo dibiasakan code-nya "diperindah" sedikit
Kenapa fungsi ordersend terkena warning pada metaeditor
sehingga kita bisa men-track flow EA dgn sekilas pandang.
if(OrdersTotal() == 0) { if(signal==1) { ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point,"buy",magic,0,Blue); if(ticket==-1) { Alert("OrderSend error #",GetLastError()); } [COLOR="Red"][B]signal = 0[/B][/COLOR] } }

}

jadi kl ada signal, selain op, EA mereset signal sehingga tidak op berulang2

semoga membantu

Kenapa fungsi ordersend terkena warning pada metaeditor

24-03-2010 21:55

Kenapa fungsi ordersend terkena warning pada metaeditor

Kaskus Maniac Posts: 6,066

Kenapa fungsi ordersend terkena warning pada metaeditor

coba arahkan text cursor-nya ke tengah2 tulisan iStochastic atau iRSI terus tekan F1, voila..

Kenapa fungsi ordersend terkena warning pada metaeditor
online help
Kenapa fungsi ordersend terkena warning pada metaeditor

semoga membantu

Kenapa fungsi ordersend terkena warning pada metaeditor

Kenapa fungsi ordersend terkena warning pada metaeditor
Kenapa fungsi ordersend terkena warning pada metaeditor
Kenapa fungsi ordersend terkena warning pada metaeditor
Kenapa fungsi ordersend terkena warning pada metaeditor
Kenapa fungsi ordersend terkena warning pada metaeditor
Kenapa fungsi ordersend terkena warning pada metaeditor

Kenapa fungsi ordersend terkena warning pada metaeditor

25-03-2010 07:54

Kenapa fungsi ordersend terkena warning pada metaeditor

25-03-2010 09:47

Kenapa fungsi ordersend terkena warning pada metaeditor

nyimak dulu gan

Kenapa fungsi ordersend terkena warning pada metaeditor


silahkan gan, ditunggu pertanyaannya
Kenapa fungsi ordersend terkena warning pada metaeditor
25-03-2010 09:47

Kenapa fungsi ordersend terkena warning pada metaeditor

25-03-2010 22:13

Kaskus Addict Posts: 1,736

Teruskan Gan! thank you
Kenapa fungsi ordersend terkena warning pada metaeditor

btw thread untuk buat custom indicator juga ok lho
Kenapa fungsi ordersend terkena warning pada metaeditor
25-03-2010 22:13

Kenapa fungsi ordersend terkena warning pada metaeditor

26-03-2010 16:49

thx berat utk cendolnya bro padisloof
Kenapa fungsi ordersend terkena warning pada metaeditor

sebetulnya ada 2 yg nyendolin tp yg satunya anonim alias ngga ada namanya, bro or sis whoever you are, thx
Kenapa fungsi ordersend terkena warning pada metaeditor
Kenapa fungsi ordersend terkena warning pada metaeditor

btw thread untuk buat custom indicator juga ok lho
Kenapa fungsi ordersend terkena warning pada metaeditor


ok gan
Kenapa fungsi ordersend terkena warning pada metaeditor
26-03-2010 16:49

Kenapa fungsi ordersend terkena warning pada metaeditor

01-04-2010 21:24

Pengganti OrderSend yg lebih sehat :)

agan2 sekalian mungkin pernah merasa "capek" dgn OrderSend yg memang vital tapi mungkin sedikit manja
Kenapa fungsi ordersend terkena warning pada metaeditor

  • kita harus berhati2 terhadap beda buy limit, buy stop, sell limit, sell stop
  • kl kita ingin ambil running price, harus pilih bid / ask, TP & SL hitung manual
  • kl coding kita lupa gunakan NormalizedDouble, order kita bisa ditolak ketika digit dibelakang koma yg dikembalikan platform tidak sama dgn market yg kita tuju.
  • kita juga harus menambahkan logika OP ulang bila terjadi requote

Gw juga merasa kayak gitu, makanya gw buat fungsi pengganti OrderSend yg menurut gw lebih memudahkan (paling nggak buat gw
Kenapa fungsi ordersend terkena warning pada metaeditor
) utk membedakan dgn OrderSend bawaan metatrader, fungsi ini gw namakan SR.OrderSend, lengkapnya:int SR.OrderSend(string symbol, int type, double volume, double reqPrice, double stoploss, double takeprofit, string comment="", int magic=0,

datetime expires=0, color arrow_color = CLR_NONE)

fitur2nya:
  1. "behavior"-nya sama dgn OrderSend biasa, jumlah & urutan parameternya persis sama, & bila symbol diisi NULL, maka SR.OrderSend akan OP ke market dimana EA di-attach
  2. type cukup pilih salah satu: OR_TYPE_BUY atau OR_TYPE_SELL, SR.OrderSend otomatis akan memilih limit atau stop berdasarkan harga yg diinginkan
  3. bila kita ingin OP di running price maka isi reqPrice dgn -1, maka otomatis akan diambil harga sesuai buy/sell dan stoploss & takeprofit akan berfungsi sbg pips (brp pips dari running price utk TP / SL) dan menyesuaikan apakah ordernya buy /sell, tidak perlu bingung kurang & tambah
    Kenapa fungsi ordersend terkena warning pada metaeditor

  4. semua harga sudah otomatis di NormalizeDouble
  5. otomatis retry bila terjadi requote (max 10x)
contoh pemakaian:

misal ingin ambil pending buy di AUDUSD di harga 0.9250, SL=0.9200, TP=0.9300 sebesar 0.1 lot


ticket = SR.OrderSend("AUDUSD", OR_TYPE_BUY, 0.1, 0.9250, 0.9200, 0.9250);
misal ingin op sell running price di GBPJPY SL=50 pips, TP=75 pips sebesar 1 lot
ticket = SR.OrderSend("GBPJPY", OR_TYPE_SELL, 1, -1, 50, 75);
sebelum gw kasih codenya, disclaimer dulu ya
Kenapa fungsi ordersend terkena warning pada metaeditor

semua code di bawah ini diberikan "as is", walau sudah di test & gw gunakan di hampir semua EA gw, tidak ada garansi bahwa code ini akan berfungsi di EA agan2 sekalian.
gw tidak bertanggung jawab atas kerugian apapun yg terjadi akibat penggunaan code ini. USE IT AT YOUR OWN RISK.

nah

Kenapa fungsi ordersend terkena warning pada metaeditor
kl yg mau coba, tinggal copas code berikut, taruh di sebuah file (misal: sr.mqh), save di folder experts\include


nanti kl mau digunakan dalam sebuah EA, pasang baris berikut di paling atas#include <sr.mqh>

semoga membantu

Kenapa fungsi ordersend terkena warning pada metaeditor

01-04-2010 21:24

Kenapa fungsi ordersend terkena warning pada metaeditor

05-04-2010 00:36

Gan klo indicator ini bs ditambahin alert ga ya? tlg bantu tambahin alert sound dunk.. thx
//+------------------------------------------------------------------+ //| Envelopes.mq4 | //| Copyright © 2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //---- indicator settings #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red //---- indicator parameters extern int MA_Period=14; extern int MA_Shift=0; extern int MA_Method=0; extern int Applied_Price=0; extern double Deviation=0.1; //---- indicator buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; //---- int ExtCountedBars=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { int draw_begin; string short_name; //---- drawing settings SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); SetIndexShift(0,MA_Shift); SetIndexShift(1,MA_Shift); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)); if(MA_Period<2) MA_Period=14; draw_begin=MA_Period-1; //---- indicator short name IndicatorShortName("Env("+MA_Period+")"); SetIndexLabel(0,"Env("+MA_Period+")Upper"); SetIndexLabel(1,"Env("+MA_Period+")Lower"); SetIndexDrawBegin(0,draw_begin); SetIndexDrawBegin(1,draw_begin); //---- indicator buffers mapping SetIndexBuffer(0,ExtMapBuffer1); SetIndexBuffer(1,ExtMapBuffer2); if(Deviation<0.1) Deviation=0.1; if(Deviation>100.0) Deviation=100.0; //---- initialization done return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; if(Bars<=MA_Period) return(0); ExtCountedBars=IndicatorCounted(); //---- check for possible errors if (ExtCountedBars<0) return(-1); //---- last counted bar will be recounted if (ExtCountedBars>0) ExtCountedBars--; limit=Bars-ExtCountedBars; //---- EnvelopesM counted in the buffers for(int i=0; i<limit; i++) { ExtMapBuffer1[i] = (1+Deviation/100)*iMA(NULL,0,MA_Period,0,MA_Method,Applied_Price,i); ExtMapBuffer2[i] = (1-Deviation/100)*iMA(NULL,0,MA_Period,0,MA_Method,Applied_Price,i); } //---- done return(0); }

//+------------------------------------------------------------------+

05-04-2010 00:36

Kenapa fungsi ordersend terkena warning pada metaeditor

05-04-2010 16:48

sekilas ini indi envelope standar metatrader khan ya ? sebaiknya utk alert sound di EA aja gan, lebih jelas & terkontrol, contoh:double i = iEnvelopes(NULL, 0, 14, MODE_SMA, 10, PRICE_CLOSE, 0.3, MODE_UPPER, 0); if (i < Ask - (LongThreshold * Point)) { // long signal PlaySound("alert.wav"); }
utk help tentang iEnvelopes coba lihat di bagian Trading Indicators
utk help PlaySound ada di bagian Common functions
File suara berformat WAV yg mau diputar, diletakkan di folder sounds dari instalasi metatrader.

semoga membantu

Kenapa fungsi ordersend terkena warning pada metaeditor

05-04-2010 16:48

Kenapa fungsi ordersend terkena warning pada metaeditor

07-04-2010 17:44

ada yg bertanya apakah SR.OrderSend dalam modus pips memperhitungkan spread, jawabannya adalah tidak karena spread bisa berubah2 dan infonya bisa didapatkan dengan mudah dgn:
MarketInfo(Symbol(), MODE_SPREAD)contoh pemakaian, misal ingin OP buy 0.1 lot dgn target profit 50 pips + spread:int targetProfit = 50 + MarketInfo(Symbol(), MODE_SPREAD); SR.OrderSend(Symbol(), OR_TYPE_BUY, 0.1, -1, 30, targetProfit);
semoga membantu
Kenapa fungsi ordersend terkena warning pada metaeditor
07-04-2010 17:44

Kenapa fungsi ordersend terkena warning pada metaeditor

07-04-2010 22:07

hi bro.. ikutan mau nanya dunk.. 1. gimana sih caranya mau ngambil angka titik zigzag yang baru saja terbentuk? misal setiap kali titik baru zigzag terbentuk, saya mau open posisi. tapi open posisi nya setiap kali ada titik baru saja.. jadi ngga berulang 2. trus bagaimana mendeteksi titik zigzag itu titik high apa titik low.. kan zigzag ada high low nya yah.. ttolong banget bantuannya yaaaa.... thanks banget yaa broo...

Kenapa fungsi ordersend terkena warning pada metaeditor

07-04-2010 22:07

Kenapa fungsi ordersend terkena warning pada metaeditor

12-04-2010 13:28

Kaskus Addict Posts: 2,031

Permisi Suhu, Nubie mau tanya... Gimana caranya untuk mengontrol MM di EA? Misalnya, jika equity awal $10,000 terus tinggal $5,000, atau bertambah jadi $15,000, maka EA akan berhenti beroperasi dan semua order akan di-close. Bingung saya.

Makasih Suhu...

Kenapa fungsi ordersend terkena warning pada metaeditor

12-04-2010 13:28

Kenapa fungsi ordersend terkena warning pada metaeditor

15-04-2010 22:59

Kenapa fungsi ordersend terkena warning pada metaeditor


waduh blm pernah pake zigzag bro
Kenapa fungsi ordersend terkena warning pada metaeditor
entar gw coba2 dulu ya
15-04-2010 22:59

Kenapa fungsi ordersend terkena warning pada metaeditor

15-04-2010 23:00

EA melakukan action berdasarkan Equity

Makasih Suhu...

Kenapa fungsi ordersend terkena warning pada metaeditor


kalo versi gw sih gini ya
Kenapa fungsi ordersend terkena warning pada metaeditor
cocok ngga?
#include <stderror.mqh> extern double EquityTreshUpper = 15000; extern double EquityTreshLower = 5000; void init() {} bool runEA = True; void start() { if (runEA) { // * * * * * * * * * * * * * * // main loop EA masuk di sini // * * * * * * * * * * * * * * // terakhir cek kondisi keuangan if (([B][COLOR="Blue"]AccountEquity()[/COLOR][/B] <= EquityTreshLower) || ([B][COLOR="Blue"]AccountEquity()[/COLOR][/B] >= EquityTreshUpper)) { closeAllOrder(); runEA = False; } } } void closeAllOrder() { for(int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY) { while (true) { bool done = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), 5); if (done) { break; } if (GetLastError() == ERR_INVALID_TICKET) { break; } RefreshRates(); // requote } } else if (OrderType() == OP_SELL) { while (true) { done = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 5); if (done) { break; } if (GetLastError() == ERR_INVALID_TICKET) { break; } RefreshRates(); // requote } } else // pending order { OrderDelete(OrderTicket()); } } } void deinit() {}

//+------------------------------------------------------------------+


semoga membantu
Kenapa fungsi ordersend terkena warning pada metaeditor
15-04-2010 23:00

Kenapa fungsi ordersend terkena warning pada metaeditor

16-04-2010 08:55

Kenapa fungsi ordersend terkena warning pada metaeditor
entar gw coba2 dulu ya

thanks bro.. semoga sukses nyobanya n bagi2 ane EA nya hihihihi...

:maho :maho :maho

16-04-2010 08:55

Kenapa fungsi ordersend terkena warning pada metaeditor

23-04-2010 12:26

Aktivis Kaskus Posts: 688

Gan... Mohon bantuannya untuk agan programmer MQL... Untuk EA yang sedang gw edit.... Gini gan pertanyaannya : gw sedang ngatur money management untuk sebuah EA yang gw pingin open dengan lot yang besarnya 0.1lot untuk setiap balance kelipatan 5000. Setelah otak atik sana sini, gw dapet sintaxnya : LOTS=NormalizeDouble(AccountBalance()*0.1/5000,1); Dengan syntax ini, maka dengan modal awal 5000, dia akan buka 0.1 lot, dan naik 0.1 lot setiap kelopatan 0.1 lot.... yaitu 1000, 1500, 2000, dst...nya. Cuma masalahnya setelah gw backtest, ternyata saat modal awal sudah berkembang setengah dari kelipatan, maka dia langsung naik lotnya.... Contoh : balance 5000, open 0.1 lot... balance 7000, open 0.1 lot... balance 7500, open 0.1 lot... balance 7600, open 0.2 lot.... <----- ini masalahnya: di atas 7500 dia akan membulatkannya ke atas balance 10000, open 0.2 lot... jadi gan masalahnya, saat balance sudah di atas setengah dari kelipatan 5000, maka dia akan membulatkannya keatas, sehingga akan menaikkan lotnya 0.1 lot. Pertanyaannya, gimana menanggulanginya, supaya dia hanya menaikkannya tepat setiap kelipatan 5000... tanpa ada pembulatan ke atas? Jadi mau gw lotnya naik dari 0.1 ke 0.2 itu pada saaat balance sudah 10000, bukan pada saat di atas 7500.... Kepinginnya gw,.... pembulatan balance itu ke bawah bukan ke atas... Jadi sebelum dia mencapai 10000,... tetap dianggap 5000 ... jadi open lotnya berdasarkan balance 5000... ........ Tolong bantuannya gan ....

Soalnya gw bukan programmer... mungkin ada syntax yang gw nggak tau, yang seharusnya bisa digunakan untuk mengatasi masalah ini.....

23-04-2010 12:26

Kenapa fungsi ordersend terkena warning pada metaeditor

Kenapa fungsi ordersend terkena warning pada metaeditor
:
Kenapa fungsi ordersend terkena warning pada metaeditor
:
Kenapa fungsi ordersend terkena warning pada metaeditor
:
izin memantau gan...
23-04-2010 20:29

Kenapa fungsi ordersend terkena warning pada metaeditor

Aktivis Kaskus Posts: 499

bookmark dolo....plus ijin nyimak gan..
24-04-2010 13:17

Kenapa fungsi ordersend terkena warning pada metaeditor

26-04-2010 13:21

Jadi sebelum dia mencapai 10000,... tetap dianggap 5000 ... jadi open lotnya berdasarkan balance 5000...


Coba bantu ya gan
Kenapa fungsi ordersend terkena warning pada metaeditor

pake MathFloor bisa:


double lots = MathFloor(AccountBalance()/5000)*0.1;

gw ngetesnya kaya gini

Kenapa fungsi ordersend terkena warning pada metaeditor


double lots1 = MathFloor(9999/5000)*0.1; // hasil 0.1 double lots2 = MathFloor(10000/5000)*0.1; // hasil 0.2 double lots3 = MathFloor(14999/5000)*0.1; // hasil 0.2 double lots4 = MathFloor(15000/5000)*0.1; // hasil 0.3 Comment("9999=",lots1," 10000=",lots2," 14999=",lots3,"

15000=",lots4);

MathFloor itu ngambil nilai integer / pembulatan ke bawah.

helpnya ada di bagian Math & Trig

semoga membantu

Kenapa fungsi ordersend terkena warning pada metaeditor

26-04-2010 13:21

Kenapa fungsi ordersend terkena warning pada metaeditor

26-04-2010 15:42

Kaskus Addict Posts: 2,031

Kenapa fungsi ordersend terkena warning pada metaeditor
cocok ngga?
#include <stderror.mqh> extern double EquityTreshUpper = 15000; extern double EquityTreshLower = 5000; void init() {} bool runEA = True; void start() { if (runEA) { // * * * * * * * * * * * * * * // main loop EA masuk di sini // * * * * * * * * * * * * * * // terakhir cek kondisi keuangan if (([B][COLOR="Blue"]AccountEquity()[/COLOR][/B] <= EquityTreshLower) || ([B][COLOR="Blue"]AccountEquity()[/COLOR][/B] >= EquityTreshUpper)) { closeAllOrder(); runEA = False; } } } void closeAllOrder() { for(int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY) { while (true) { bool done = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), 5); if (done) { break; } if (GetLastError() == ERR_INVALID_TICKET) { break; } RefreshRates(); // requote } } else if (OrderType() == OP_SELL) { while (true) { done = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 5); if (done) { break; } if (GetLastError() == ERR_INVALID_TICKET) { break; } RefreshRates(); // requote } } else // pending order { OrderDelete(OrderTicket()); } } } void deinit() {}

//+------------------------------------------------------------------+


semoga membantu
Kenapa fungsi ordersend terkena warning pada metaeditor

bingung mau ditaroh di mana gan... ntar ane PM aja ya EA abal2 ane... ntar ente modifin, gimana?

26-04-2010 15:42

Kenapa fungsi ordersend terkena warning pada metaeditor

26-04-2010 16:59

Aktivis Kaskus Posts: 688

Kenapa fungsi ordersend terkena warning pada metaeditor

pake MathFloor bisa:


double lots = MathFloor(AccountBalance()/5000)*0.1;

gw ngetesnya kaya gini

Kenapa fungsi ordersend terkena warning pada metaeditor


double lots1 = MathFloor(9999/5000)*0.1; // hasil 0.1 double lots2 = MathFloor(10000/5000)*0.1; // hasil 0.2 double lots3 = MathFloor(14999/5000)*0.1; // hasil 0.2 double lots4 = MathFloor(15000/5000)*0.1; // hasil 0.3 Comment("9999=",lots1," 10000=",lots2," 14999=",lots3,"

15000=",lots4);

MathFloor itu ngambil nilai integer / pembulatan ke bawah.

helpnya ada di bagian Math & Trig

semoga membantu

Kenapa fungsi ordersend terkena warning pada metaeditor

Wah... makasih banget gan....... Pelajarannya belom selesai di trid ini kan? O ya... kalo bisa pelajarannya agak lebih detil dengan contoh-contohnya gan.... Soalnya banyak non programmer kayak gw ini yang kepingin banget tau lebih banyak tentang MQL... dan daya tangkapnya gak sehebat para programmer....

gw do'a'in sukses forexnya buat orang seperti agan yang suka berbagi ilmu........

Kenapa fungsi ordersend terkena warning pada metaeditor

26-04-2010 16:59