BTC USD 62,006.8 Gold USD 4,258.79
Time now: Jun 1, 12:00 AM

Belajar Coding EA (mql) asas

if(OrdersTotal()<1)
{
if((dGP_DiamondUp>0) && (dGP_DiamondDown==0))
{
Buy();
**
**
else
{
if((dGP_DiamondDown>0) && (dGP_DiamondDown==0))
{
Sell();
**
**




Semua sekali kena wrapped-up ke dalam curly bracket macam bawah ni


Code:
if(OrdersTotal()<1)
{
  if((dGP_DiamondUp>0) && (dGP_DiamondDown==0))
  {
    Buy();
  **
  else if ((dGP_DiamondDown>0) && (dGP_DiamondDown==0))  <-- ada yang tak kena ni, kenapa 2 2 DiamondDown?
  {
    Sell();
  **
**
 
Bagaimana nak settle bro...

Semua sekali kena wrapped-up ke dalam curly bracket macam bawah ni


Code:
if(OrdersTotal()<1)
{
  if((dGP_DiamondUp>0) && (dGP_DiamondDown==0))
  {
    Buy();
  **
  else if ((dGP_DiamondDown>0) && (dGP_DiamondDown==0))  <-- ada yang tak kena ni, kenapa 2 2 DiamondDown?
  {
    Sell();
  **
**

Mcm mana nak settle masalah tu agar dapat ikut rulenya bro...perlukah saya attch file indikator GP Diamond tu? Mcm mana nak upload kat sini....tak tahu bro..
 
Salam Bro..apa-apa pun terimakasih banyak kerana jasa baik tuan. Mengapa ea yang saya buat menggunakan icustum GP Diamond tu tidak mahu op bro...satu lagi bro, apa buffer tuan...sory:D

Kenapa tak OP tu boleh jadi macam2 sebab, antaranya mungkin account tuan dah ada open post, sedangkan EA tuan hanya boleh ada 1 pos aje. Ataupun boleh jadi rule yang tuan letak tak betul, contohnya

else if ((dGP_DiamondDown>0) && (dGP_DiamondDown==0))

rule di atas tu salah, tak mungkin boleh dapat lebih besar 0 dan dalam masa yang sama valuenya juga sama 0. Saya ada comment sebelum ni rule tu ada yang tak kena

Buffer tu, kalau tuan tenguk dalam coding indicator tu mesti ada #property indicator_buffers, EA hanya boleh retrieve value drp buffer, dan pastikan file ex4 mesti ada dalam folder indicators
 
Kenapa tak OP tu boleh jadi macam2 sebab, antaranya mungkin account tuan dah ada open post, sedangkan EA tuan hanya boleh ada 1 pos aje. Ataupun boleh jadi rule yang tuan letak tak betul, contohnya

else if ((dGP_DiamondDown>0) && (dGP_DiamondDown==0))

rule di atas tu salah, tak mungkin boleh dapat lebih besar 0 dan dalam masa yang sama valuenya juga sama 0. Saya ada comment sebelum ni rule tu ada yang tak kena

Buffer tu, kalau tuan tenguk dalam coding indicator tu mesti ada #property indicator_buffers, EA hanya boleh retrieve value drp buffer, dan pastikan file ex4 mesti ada dalam folder indicators
Terima kasih banyak bro kerana ilmu yang bermanfaat. Satu nak tanya bro. Macam mana nak tulis code jika Ea telah membuat post, tiba-tiba saya tukar setting, tukar komputer ke, elektrik terpadam ke. Apabila di buka balik, selepas itu Ea tetap tahu post yang tadi tu post dia? Ea yang saya ada tu...apabila saya tukar setting contohnya saya lupa letak trailing, kemudian set semula, Ea saya tu lupa dgn post yang dia buat. Macam mana tu bro?
 
Last edited:
Terima kasih banyak bro kerana ilmu yang bermanfaat. Satu nak tanya bro. Macam mana nak tulis code jika Ea telah membuat post, tiba-tiba saya tukar setting, tukar komputer ke, elektrik terpadam ke. Apabila di buka balik, selepas itu Ea tetap tahu post yang tadi tu post dia? Ea yang saya ada tu...apabila saya tukar setting contohnya saya lupa letak trailing, kemudian set semula, Ea saya tu lupa dgn post yang dia buat. Macam mana tu bro?

Gunakan magic number, http://docs.mql4.com/trading/OrderSend

contoh buy guna magic number

Code:
OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"",[COLOR="Red"]16384[/COLOR],0,Green);

16384 adalah magic number, boleh letak number apa pun, kemudian bila guna function "for", filter magic number


Code:
for (int i=0; i<OrdersTotal(); i++)
{
   OrderSelect(i,SELECT_BY_POS);
   if (OrderMagicNumber()!=[COLOR="red"]16384[/COLOR]) continue;  [COLOR="silver"]// filter magic number[/COLOR]
   [COLOR="Silver"]< function anda di sini... >[/COLOR]
**
 
Gunakan magic number, http://docs.mql4.com/trading/OrderSend

contoh buy guna magic number

Code:
OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"",[COLOR="Red"]16384[/COLOR],0,Green);

16384 adalah magic number, boleh letak number apa pun, kemudian bila guna function "for", filter magic number


Code:
for (int i=0; i<OrdersTotal(); i++)
{
   OrderSelect(i,SELECT_BY_POS);
   if (OrderMagicNumber()!=[COLOR="red"]16384[/COLOR]) continue;  [COLOR="silver"]// filter magic number[/COLOR]
   [COLOR="Silver"]< function anda di sini... >[/COLOR]
**

Timakasih banyak bro..ilmu bermanfaat:)cgrock
 
Last edited:
Tanya lagi bro...ada dua contoh magicNumber...yang saya tengok dalam dua jenis Ea...adakah perbezaan dan apa perbezaan dgn code yang dilampirkan oleh bro tu...:)

contoh 1

extern int TakeProfit = 30;
extern int StopLoss = 30;
extern int Slippage = 3;
extern double Lots = 0.1;
extern int TrailingStop = 10;
extern bool Trailing = true;

extern int SMA1Periode = 8;
extern int SMA2Periode = 20;
extern int SMA3Periode = 50;
extern int MagicNumber =123;

Contoh2

#define Magic 6789
#define SLIPPAGE 3

extern string Paramater_Indi_BBstop;
extern int Length=20;
extern int Deviation=1;
extern double MoneyRisk=1.00;
extern int Signal=1;
extern int Line=1;
extern int Nbars=5000;
 

Live Forex Chart

Currency
Rates
EUR / USD
1.15415
USD / JPY
160.414
GBP / USD
1.33794
USD / CHF
0.79856
USD / CAD
1.39472
EUR / JPY
185.142
AUD / USD
0.70275
Back
Top
Log in Register