BTC USD 80,864.6 Gold USD 4,382.33
Time now: Jun 1, 12:00 AM

Belajar Coding EA (mql) asas

itu la nak tanye. boleh ke ea tu buat camtu? pastu kalo post tu kena sl/tp siap ada comment/alert
cth: buy gu @ 1.6343 hit sl (lost -40pips)

atau : buy gu @ 1.6343 hit tp (win +40pips)


****** maaf la kalo soalan b*d*h :D:">

OrderSelect(0,SELECT_BY_POS,MODE_HISTORY) untuk dapatkan the latest closed position.
 
Format coding tu standard aje, functions dan syntax semua dah ada dalam metaeditor library memang complete sekali contoh. Saya banyak copy paste daripada situ, kemudian ubah aje sikit sikit.
Contohnya saya nak open buy post, macammana nak guna OrderSend. Saya type OrderSend dalam metaeditor, kemudian highlight word OrderSend tadi, kemudian press F1.

Betul tu. Yang terperinci memang dah depan mata. Sebenarnya utk sesetengah orang tu dia perlu cari yang basic dulu. Fahamkan struktur ea dan cara sesuatu program itu bekerja. Atau kata lain, basic programing. Macam if, else, for dan while. Semua jenis programing lebih kurang sama je. Kalau mahir ni, apa saja programming language tak da hal.
 
Sy dah cuba sblm ni, but xleh tuan..= invalid SL or TP...
teknik tradng sy, sy panggil PAGAR..myb teknik ni ada namanya sendiri dikalangan otai2..caranya..

eg:
1) Buy n sell GU at same time, vol 0.01 dengan TP 100p (Buy 1.6050 TP 1.6150 / Sell 1.6047 TP 1.5947)

2) Masuk pending order Buy n Sell , vol 0.02 dengan TP 100p (Pending order Buy 1.5950 TP 1.6050 / Pending order Sell 1.6147 TP 1.6047)

3) Sekiranya Buy/Sell pertama capai target n close, semestinya pending order Buy/Sell akan on jugak...then tukar TP yg pertama tadi ikut TP pending oeder yg dah on.

4)Masuk another order vol 0.01 ikut trend order yang dah close tadi dngn TP 100, n masuk pending order utk dia dgn vol 0.02 TP100.....
...PAGAR akn berterusan ikut berapa float trading...0.01,0.02,0.04,0.08,0.16,0.32.....

probnya: sy selalu xsempat masuk another order vol 0.01 ikut trend order yang dah close tadi dngn TP 100, sbb kalu nak msk pending order awai2 lagi= invalid SL or TP...
Mohon bantuan kalu leh dapat coding utk order ni=masuk order vol 0.01 ikut trend order yang dah close tadi dngn TP 100.
..pnjg cite sampe sy sndiri penin..:-?:-:))

Mungkin ini yang tuan cari
www.carigold.com/portal/forums/showthread.php?t=257958

Kalau invalid sl atau tp tu maknanya salah letak price, kena check betul2 price tp
 
itu la nak tanye. boleh ke ea tu buat camtu? pastu kalo post tu kena sl/tp siap ada comment/alert
cth: buy gu @ 1.6343 hit sl (lost -40pips)

atau : buy gu @ 1.6343 hit tp (win +40pips)


****** maaf la kalo soalan b*d*h :D:">

Check OrdersTotal() berapa jumlah, contoh ada 5, kemudian tiba2 terkurang tinggal 4, bermaksud ada pos baru close. Guna OrderSelect(0, SELECT_BY_POS, MODE_HISTORY) untuk check last pos yang baru close
 
kena masta aiman dan tempe buat buku buat EA...ramai agaknye yg nk beli...org pertama wt buku dalam BM..
 
Last edited:
salam masta aiman..

sori sye terpaksa ambik contoh indi tuan..

nk tnye.. ni pasal array...konpius gk..



Code:
for(i=0;i<ArraySize(iPairs);i++)
 {
  for(int j=i;j<ArraySize(iPairs);j++)
  {
   if((tradetype==1 && profitbuy[j]<profitbuy[i]) || (tradetype==2 && profitsell[j]<profitsell[i]))
   {
    strTemp=symbol[i]; // <<< ----ni ape  makne ek
    symbol[i]=symbol[j];
    symbol[j]=strTemp;

    dblTemp=openbuy[i];// <<< ----ni ape  makne ek
    openbuy[i]=openbuy[j]; // <<< ----ni ape  makne ek
    openbuy[j]=dblTemp;               

    dblTemp=closebuy[i];
    closebuy[i]=closebuy[j];
    closebuy[j]=dblTemp;               

    dblTemp=opensell[i];
    opensell[i]=opensell[j];
    opensell[j]=dblTemp;               

    dblTemp=closesell[i];
    closesell[i]=closesell[j];
    closesell[j]=dblTemp;          

    dblTemp=pipsbuy[i];
    pipsbuy[i]=pipsbuy[j];
    pipsbuy[j]=dblTemp;               

    dblTemp=pipssell[i];
    pipssell[i]=pipssell[j];
    pipssell[j]=dblTemp;               

    dblTemp=profitbuy[i];
    profitbuy[i]=profitbuy[j];
    profitbuy[j]=dblTemp;               

    dblTemp=profitsell[i];
    profitsell[i]=profitsell[j];
    profitsell[j]=dblTemp;      
    
    dblTemp=spread[i];
    spread[i]=spread[j];
    spread[j]=dblTemp;         
   }
  }
 }


npe i j ade kurungan []


sye tau ini untuk paparkan susunan pair ikut size...

tapi ape yg banyak sgt baris tuh..?
 
yg lain2 bro...sye dh faham...thanks yg sudi bantu sye...

nk masuk array ni payah btul..

dalam for ada for...ada plak array...pening btul...

sbenarnye masta..yg aritu punya EA dh siap..

tapi rasa nk buat EA scalping yg power guna magic girl..

tu yg kena mahir array nih...
 
kalau stakat EA yg pakai indi parabolic sar, ma,dan indi2 biasa..semua boleh MC,,,

btul tak?
 
salam masta aiman..

sori sye terpaksa ambik contoh indi tuan..

nk tnye.. ni pasal array...konpius gk..



Code:
for(i=0;i<ArraySize(iPairs);i++)
 {
  for(int j=i;j<ArraySize(iPairs);j++)
  {
   if((tradetype==1 && profitbuy[j]<profitbuy[i]) || (tradetype==2 && profitsell[j]<profitsell[i]))
   {
    strTemp=symbol[i]; // <<< ----ni ape  makne ek
    symbol[i]=symbol[j];
    symbol[j]=strTemp;

    dblTemp=openbuy[i];// <<< ----ni ape  makne ek
    openbuy[i]=openbuy[j]; // <<< ----ni ape  makne ek
    openbuy[j]=dblTemp;               

    dblTemp=closebuy[i];
    closebuy[i]=closebuy[j];
    closebuy[j]=dblTemp;               

    dblTemp=opensell[i];
    opensell[i]=opensell[j];
    opensell[j]=dblTemp;               

    dblTemp=closesell[i];
    closesell[i]=closesell[j];
    closesell[j]=dblTemp;          

    dblTemp=pipsbuy[i];
    pipsbuy[i]=pipsbuy[j];
    pipsbuy[j]=dblTemp;               

    dblTemp=pipssell[i];
    pipssell[i]=pipssell[j];
    pipssell[j]=dblTemp;               

    dblTemp=profitbuy[i];
    profitbuy[i]=profitbuy[j];
    profitbuy[j]=dblTemp;               

    dblTemp=profitsell[i];
    profitsell[i]=profitsell[j];
    profitsell[j]=dblTemp;      
    
    dblTemp=spread[i];
    spread[i]=spread[j];
    spread[j]=dblTemp;         
   }
  }
 }


npe i j ade kurungan []


sye tau ini untuk paparkan susunan pair ikut size...

tapi ape yg banyak sgt baris tuh..?

code tu buat sorting setiap open position mengikut profit. [] tu untuk array. setiap array mesti ada []. masa initialize variable kena letak [] untuk array.

contoh...

string mySymbol = "EURUSD"; // initialize mySymbol dengan value "EURUSD"

string mySymbol[] = {"EURUSD","EURJPY","USDJPY"};

untuk initialization di atas bermaksud.

mySymbol[0] adalah EURUSD
mySymbol[1] adalah EURJPY
mySymbol[2] adalah USDJPY

di sini kita boleh gunakan iteration "for" untuk simplify code.
 
jom kita cari spread untuk setiap pair di atas...

Code:
int i;
string mySymbol[] = {"EURUSD","EURJPY","USDJPY"};
int mySpread[3]; // initialize mySpread dengan size array adalah 3.

for(i=0;i<ArraySize(mySymbol);i++)
{
   mySpread[i] = MarketInfo(mySymbol[i],MODE_SPREAD);
}

contoh di atas akan assign spread untuk setiap pair itu ke dalam mySpread mengikut index tertentu.

spread untuk EURUSD ada dalam mySpread[0], spread untuk EURJPY ada dalam mySpread[1] dan spread untuk USDJPY ada dalam mySpread[2].

mungkin Aiman boleh tambah untuk buat sorting mengikut size spread...
 

Live Forex Chart

Currency
Rates
EUR / USD
1.14867
USD / JPY
156.682
GBP / USD
1.33940
USD / CHF
0.82211
USD / CAD
1.39924
EUR / JPY
180.031
AUD / USD
0.71261
Back
Top
Log in Register