BTC USD 81,813.4 Gold USD 4,378.12
Time now: Jun 1, 12:00 AM

Belajar Coding EA (mql) asas

bro aiman...EA hedging100pips tu cam ne tu...?main hedging satu pair je ke..?
 
Salam..

nk tnye pndapat tuan la..

Kalau EA MagicGirl DBEAv2.1~.mq4 (macam currency strengh meter gk..)
dan magic number 9 indi - smTDS_FoggyTB_v1.9.mq4

kalau buat EA berkesan tk..?

sebahagian code EA MagicGirl DBEAv2.1

Code:
void Set_DisplayInitialisations() {
   int li_16;
   int li_20;
   int li_24;
   int li_12 = 1;
   for (int li_4 = 1; li_4 <= g_index_700; li_4++) gsa_580[li_4] = Get_sPeriod(gia_576[li_4]);
   gi_516 = li_12;
   li_12++;
   if (ShowColumn_CurrentPrice == TRUE) {
      gi_520 = li_12;
      li_12++;
   }
   gi_548 = li_12;
   li_12++;
   gi_552 = li_12;
   li_12++;
   gi_556 = li_12;
   li_12++;
   gi_560 = li_12;
   li_12++;
   if (gs_688 != "") {
      li_16 = 8;
      li_20 = 6;
      li_24 = 4;
   } else {
      li_16 = 0;
      li_20 = 0;
      li_24 = 0;
   }
   gi_524 = li_12;
   li_12++;
   gi_528 = li_12;
   li_12++;
   li_12 = gi_516;
   gia_500[li_12] = gi_432;
   li_12++;
   if (ShowColumn_CurrentPrice == TRUE) {
      gia_500[li_12] = gia_500[li_12 - 1] + gi_472 + li_16;
      li_12++;
   }
   if (ShowColumn_CurrentPrice == TRUE) {
      gia_500[li_12] = gia_500[li_12 - 1] + 55;
      li_12++;
   } else {
      gia_500[li_12] = gia_500[li_12 - 1] + gi_472;
      li_12++;
   }
   gia_500[li_12] = gia_500[li_12 - 1] + 15;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + 50 + li_20;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + 50 + li_16;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + gi_476;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + gi_480;
   li_12++;
   for (li_4 = 2; li_4 <= g_index_700; li_4++) {
      if (li_4 == 2) {
         gia_500[li_12] = gia_500[li_12 - 1] + gi_484 + 8;
         li_12++;
      } else {
         gia_500[li_12] = gia_500[li_12 - 1] + gi_484;
         li_12++;
      }
   }
   int li_28 = li_12;
   if (ShowColumn_ATR == TRUE) {
      gi_536 = li_28;
      li_28++;
      gia_500[li_12] = gia_500[li_12 - 1] + gi_460;
      li_12++;
   }
   if (ShowColumn_PairSpread == TRUE) {
      gi_532 = li_28;
      li_28++;
      gia_500[li_12] = gia_500[li_12 - 1] + gi_460;
      li_12++;
   }
   if (ShowColumn_CombiTrend == TRUE) {
      gi_540 = li_28;
      li_28++;
      gia_500[gi_540] = gia_500[li_12 - 1] + gi_464 + li_24;
      li_12++;
   } else {
      gi_540 = li_28;
      li_28++;
   }
   if (gi_232 == TRUE) {
      gi_544 = li_28;
      li_28++;
      gia_500[gi_544] = gia_500[li_12 - 1] + gi_464 + 10;
      li_12++;
   } else {
      gi_544 = li_28;
      li_28++;
   }
   gia_504[0] = gi_448;
   for (int li_8 = 1; li_8 <= g_index_696; li_8++) gia_504[li_8] = gia_504[li_8 - 1] + gi_488;
   int li_32 = li_8;
   gi_564 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   li_32++;
   gi_684 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   li_32++;
   gi_676 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   li_32++;
   gi_680 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   gia_672[1] = 5;
   int li_36 = 40;
   for (li_32 = 2; li_32 <= g_count_664; li_32++) gia_672[li_32] = gia_672[li_32 - 1] + li_36;
   gsa_512[gi_516] = "Pairs:";
   gsa_508[gi_516] = "[" + g_index_696 + "]";
   if (ShowColumn_CurrentPrice == TRUE) {
      gsa_508[gi_520] = "Current";
      gsa_512[gi_520] = "Price";
   }
   gsa_508[gi_548] = "Trade";
   gsa_512[gi_548] = "";
   gsa_508[gi_552] = "";
   gsa_512[gi_552] = "Entry";
   gsa_508[gi_556] = "Stop";
   gsa_512[gi_556] = "Loss";
   gsa_508[gi_560] = "W/L";
   if (Show_WinLoss_inPips == TRUE) gsa_512[gi_560] = "Pips";
   else
      if (Show_WinLoss_inPips == FALSE) gsa_512[gi_560] = "(" + AccountCurrency() + ")";
   gsa_508[gi_528] = "TM HG0001";
   gsa_512[gi_528] = "";
   gsa_508[gi_536] = "";
   gsa_512[gi_536] = "ATR";
   gsa_508[gi_532] = "Pair";
   gsa_512[gi_532] = "Sprd";
   gsa_508[gi_540] = "Combi";
   gsa_512[gi_540] = "Trend";
   gsa_508[gi_544] = "Main";
   gsa_512[gi_544] = "Trend";
}

void Get_MarketInfoValues() {
   string l_symbol_4;
   for (int l_index_0 = 0; l_index_0 <= g_index_696; l_index_0++) {
      l_symbol_4 = gsa_568[l_index_0];
      if (l_symbol_4 != "") {
         gda_608[l_index_0] = MarketInfo(l_symbol_4, MODE_SPREAD) * MarketInfo(l_symbol_4, MODE_POINT);
         gia_624[l_index_0] = MarketInfo(l_symbol_4, MODE_DIGITS);
         gda_612[l_index_0] = MarketInfo(l_symbol_4, MODE_POINT);
         gda_620[l_index_0] = MarketInfo(l_symbol_4, MODE_TICKVALUE);
         gda_616[l_index_0] = gi_224 * gda_612[l_index_0];
      }
   }
}

aku ambik kt sini..
ade download skali..
otai2 mesti dh pakai benda ni kot..
http://www.forexfactory.com/showthread.php?t=175994
 
Last edited:
salam sifu..

macam mana nk faham array yg tiga demensi ni..?

leh pecah kepala ni..

ade contoh yg paling simple tk..?
 
array 2 dimension.

int array[2][3];

array[0][0]=1;
array[0][1]=2;
array[0][2]=3;
array[1][0]=4;
array[1][1]=5;
array[1][2]=6;
 
Kat bawah ni contoh mudah untuk 2d array...

Code:
Index | 0  | 1  | 2  | 3  | 4  |
------+----+----+----+----+----|
   0  | 00 | 10 | 20 | 30 | 40 |
------+----+----+----+----+----|
   1  | 01 | 11 | 21 | 31 | 41 |
------+----+----+----+----+----|
   2  | 02 | 12 | 22 | 32 | 42 |
------+----+----+----+----+----|
   3  | 03 | 13 | 23 | 33 | 43 |
------+----+----+----+----+----|
   4  | 04 | 14 | 24 | 34 | 44 |
-------------------------------+

Contoh nilai array mengikut index tertentu.
Array[0][0] = 00
Array[2][1] = 21
Array[4][4] = 44
Array[2][3] = 23

Kalau dalam bidang robotik, siap pakai 3D array untuk menggambarkan x,y dan z koordinat... Kalau EA, 2D dah kira habis canggih... Selalunya 1 dimensi jer... Indi cuma 1D je. Itu pun kalau pakai dia punya buffer...

Aku rekomen, mahirkan yang basic EA dulu... Array ni perlu kalau nak buat indi... Kalau dalam EA, selalunya kita guna kalau nak main multiple pair guna satu chart... Itu pun tak wajib... tak pakai array pun tak apa...

Kita guna array untuk ringkaskan coding, tapi bukan untuk simplifykan... Malah ia akan jadi lebih komplikated... Kena lebih peka, sebab kita lebih terdedah kepada programming glitch disebabkan loop dalam loop atau omputih kata nested loop...
 
Salam..

nk tnye pndapat tuan la..

Kalau EA MagicGirl DBEAv2.1~.mq4 (macam currency strengh meter gk..)
dan magic number 9 indi - smTDS_FoggyTB_v1.9.mq4

kalau buat EA berkesan tk..?

sebahagian code EA MagicGirl DBEAv2.1

Code:
void Set_DisplayInitialisations() {
   int li_16;
   int li_20;
   int li_24;
   int li_12 = 1;
   for (int li_4 = 1; li_4 <= g_index_700; li_4++) gsa_580[li_4] = Get_sPeriod(gia_576[li_4]);
   gi_516 = li_12;
   li_12++;
   if (ShowColumn_CurrentPrice == TRUE) {
      gi_520 = li_12;
      li_12++;
   }
   gi_548 = li_12;
   li_12++;
   gi_552 = li_12;
   li_12++;
   gi_556 = li_12;
   li_12++;
   gi_560 = li_12;
   li_12++;
   if (gs_688 != "") {
      li_16 = 8;
      li_20 = 6;
      li_24 = 4;
   } else {
      li_16 = 0;
      li_20 = 0;
      li_24 = 0;
   }
   gi_524 = li_12;
   li_12++;
   gi_528 = li_12;
   li_12++;
   li_12 = gi_516;
   gia_500[li_12] = gi_432;
   li_12++;
   if (ShowColumn_CurrentPrice == TRUE) {
      gia_500[li_12] = gia_500[li_12 - 1] + gi_472 + li_16;
      li_12++;
   }
   if (ShowColumn_CurrentPrice == TRUE) {
      gia_500[li_12] = gia_500[li_12 - 1] + 55;
      li_12++;
   } else {
      gia_500[li_12] = gia_500[li_12 - 1] + gi_472;
      li_12++;
   }
   gia_500[li_12] = gia_500[li_12 - 1] + 15;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + 50 + li_20;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + 50 + li_16;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + gi_476;
   li_12++;
   gia_500[li_12] = gia_500[li_12 - 1] + gi_480;
   li_12++;
   for (li_4 = 2; li_4 <= g_index_700; li_4++) {
      if (li_4 == 2) {
         gia_500[li_12] = gia_500[li_12 - 1] + gi_484 + 8;
         li_12++;
      } else {
         gia_500[li_12] = gia_500[li_12 - 1] + gi_484;
         li_12++;
      }
   }
   int li_28 = li_12;
   if (ShowColumn_ATR == TRUE) {
      gi_536 = li_28;
      li_28++;
      gia_500[li_12] = gia_500[li_12 - 1] + gi_460;
      li_12++;
   }
   if (ShowColumn_PairSpread == TRUE) {
      gi_532 = li_28;
      li_28++;
      gia_500[li_12] = gia_500[li_12 - 1] + gi_460;
      li_12++;
   }
   if (ShowColumn_CombiTrend == TRUE) {
      gi_540 = li_28;
      li_28++;
      gia_500[gi_540] = gia_500[li_12 - 1] + gi_464 + li_24;
      li_12++;
   } else {
      gi_540 = li_28;
      li_28++;
   }
   if (gi_232 == TRUE) {
      gi_544 = li_28;
      li_28++;
      gia_500[gi_544] = gia_500[li_12 - 1] + gi_464 + 10;
      li_12++;
   } else {
      gi_544 = li_28;
      li_28++;
   }
   gia_504[0] = gi_448;
   for (int li_8 = 1; li_8 <= g_index_696; li_8++) gia_504[li_8] = gia_504[li_8 - 1] + gi_488;
   int li_32 = li_8;
   gi_564 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   li_32++;
   gi_684 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   li_32++;
   gi_676 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   li_32++;
   gi_680 = li_32;
   gia_504[li_32] = gia_504[li_32 - 1] + gi_488;
   gia_672[1] = 5;
   int li_36 = 40;
   for (li_32 = 2; li_32 <= g_count_664; li_32++) gia_672[li_32] = gia_672[li_32 - 1] + li_36;
   gsa_512[gi_516] = "Pairs:";
   gsa_508[gi_516] = "[" + g_index_696 + "]";
   if (ShowColumn_CurrentPrice == TRUE) {
      gsa_508[gi_520] = "Current";
      gsa_512[gi_520] = "Price";
   }
   gsa_508[gi_548] = "Trade";
   gsa_512[gi_548] = "";
   gsa_508[gi_552] = "";
   gsa_512[gi_552] = "Entry";
   gsa_508[gi_556] = "Stop";
   gsa_512[gi_556] = "Loss";
   gsa_508[gi_560] = "W/L";
   if (Show_WinLoss_inPips == TRUE) gsa_512[gi_560] = "Pips";
   else
      if (Show_WinLoss_inPips == FALSE) gsa_512[gi_560] = "(" + AccountCurrency() + ")";
   gsa_508[gi_528] = "TM HG0001";
   gsa_512[gi_528] = "";
   gsa_508[gi_536] = "";
   gsa_512[gi_536] = "ATR";
   gsa_508[gi_532] = "Pair";
   gsa_512[gi_532] = "Sprd";
   gsa_508[gi_540] = "Combi";
   gsa_512[gi_540] = "Trend";
   gsa_508[gi_544] = "Main";
   gsa_512[gi_544] = "Trend";
}

void Get_MarketInfoValues() {
   string l_symbol_4;
   for (int l_index_0 = 0; l_index_0 <= g_index_696; l_index_0++) {
      l_symbol_4 = gsa_568[l_index_0];
      if (l_symbol_4 != "") {
         gda_608[l_index_0] = MarketInfo(l_symbol_4, MODE_SPREAD) * MarketInfo(l_symbol_4, MODE_POINT);
         gia_624[l_index_0] = MarketInfo(l_symbol_4, MODE_DIGITS);
         gda_612[l_index_0] = MarketInfo(l_symbol_4, MODE_POINT);
         gda_620[l_index_0] = MarketInfo(l_symbol_4, MODE_TICKVALUE);
         gda_616[l_index_0] = gi_224 * gda_612[l_index_0];
      }
   }
}

aku ambik kt sini..
ade download skali..
otai2 mesti dh pakai benda ni kot..
http://www.forexfactory.com/showthread.php?t=175994

Sorry bro,
Tak berapa minat nak kaji strategi atau kaji indi untuk diEAkan kat sini... Cuma minat nak citer pasal coding EA secara asas bagi sesiapa yang berminat nak belajar...

Tengok code yang dipecahkan lagi la tak minat...
 
bleh try guna array plak. nampaknya yg terbaik masukkan arrow cam sifu cadangkan. tapi takpa cuba cara lain plak. tq suma atas idea. selamat hari raya. moga persahabatan berkekalan
 
sory..aku silap pasal currency strengh ni..

bila aku ingat pair paling kuat(teratas) lawan pair paling lemah(terbawah)...mesti menang...aku silap...

rupanye..
 

Live Forex Chart

Currency
Rates
EUR / USD
1.14790
USD / JPY
156.877
GBP / USD
1.33950
USD / CHF
0.82250
USD / CAD
1.39985
EUR / JPY
180.080
AUD / USD
0.71320
Back
Top
Log in Register