BTC USD 84,000.0 Gold USD 4,285.46
Time now: Jun 1, 12:00 AM

PDF Cara-cara Membuat EA.

Code:
int start ()
{
  if (OrdersTotal() <1)
  {
    OrderSend...
    OrderSend...
    OrderSend...
    OrderSend...
  **
  return (0);
**

tq masta. tapi ada error lagi ni. end of program bracket**:(
 
Saya dah lama tak coding mq4 sebenarnya, tapi saya rasa OrderSend tu macam ada silap sikit pada takeprofit. Bro dah test ke? Kalau post dah masuk, pastu hit TP, nilai pips TP tu betul tak?

memang ada lari sikit nilai pip x ngam.
 
tq masta. tapi ada error lagi ni. end of program bracket**:(

** tu curly close bracket

curly open bracket = {

kalau taip curly close bracket kat sini, dia jadi automatic jadi **
character tu macam kena ban kat CG
 
memang ada lari sikit nilai pip x ngam.

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Bid+takeprofit*Point,"JMBUYER",0,0, CLR_NONE);

tukar Bid kat takeprofit kepada Ask

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+takeprofit*Point,"JMBUYER",0,0, CLR_NONE);
 
** tu curly close bracket

curly open bracket = {

kalau taip curly close bracket kat sini, dia jadi automatic jadi **
character tu macam kena ban kat CG


dah berjaya bro. wahaha tq tq. :)cgrock:)cgrock
 
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Bid+takeprofit*Point,"JMBUYER",0,0, CLR_NONE);

tukar Bid kat takeprofit kepada Ask

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+takeprofit*Point,"JMBUYER",0,0, CLR_NONE);

ok. kawan repair yg ni pulak. tq masta
 
Bro , lagi satu soalan ...

boleh bagi tau coding untuk simple MA cross sesama MA tak tapi nak dia bukak sekali sahaja bukan berterusan ?

Contoh :

Kalau MA 50 cross MA 100 then buy sekali then cek lagi pastu baru buy ... Begitu la sebaliknya ..

Thanks Bro ..

ni saya agak2 je. Saya sarankan guna magicnumber untuk open pos supaya senang EA check sama ada dah ada pos yang dibuka.


Code:
   double sma50_1 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);
   double sma50_2 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,2);
   
   double sma100_1 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,1);
   double sma100_2 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,2);
   
   bool buy = false;
   bool sell = false;
   
   // ma silang ke atas
   if (sma50_1 >= sma100_1 && sma50_2 < sma100_2) buy = true;
   
   // ma silang ke bawah
   if (sma50_1 <= sma100_1 && sma50_2 > sma100_2) sell = true;
   
   // check sama ada dah ada buy atau sell
   for (int i=0; i<OrdersTotal(); i++)
   {
     if (OrderMagicNumber()==123 && OrderType()==OP_BUY) buy = false;
     if (OrderMagicNumber()==123 && OrderType()==OP_SELL) sell = false;
   **
    
   if (buy = true) OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"My order #2",123,0,Green); 
   if (sell = true) OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,"My order #2",123,0,Red);
 
ni saya agak2 je. Saya sarankan guna magicnumber untuk open pos supaya senang EA check sama ada dah ada pos yang dibuka.


Code:
   double sma50_1 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);
   double sma50_2 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,2);
   
   double sma100_1 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,1);
   double sma100_2 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,2);
   
   bool buy = false;
   bool sell = false;
   
   // ma silang ke atas
   if (sma50_1 >= sma100_1 && sma50_2 < sma100_2) buy = true;
   
   // ma silang ke bawah
   if (sma50_1 <= sma100_1 && sma50_2 > sma100_2) sell = true;
   
   // check sama ada dah ada buy atau sell
   for (int i=0; i<OrdersTotal(); i++)
   {
     if (OrderMagicNumber()==123 && OrderType()==OP_BUY) buy = false;
     if (OrderMagicNumber()==123 && OrderType()==OP_SELL) sell = false;
   **
    
   if (buy = true) OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"My order #2",123,0,Green); 
   if (sell = true) OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,"My order #2",123,0,Red);

Thank you bro ... :)cgrock:)cgrock:)cgrock:)cgrock
 
Code:
double sma50_1 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);
   double sma50_2 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,2);
   
   double sma100_1 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,1);
   double sma100_2 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,2);
   
   bool buy = false;
   bool sell = false;
   
   // ma silang ke atas
   if (sma50_1 >= sma100_1 && sma50_2 < sma100_2) buy = true;
   
   // ma silang ke bawah
   if (sma50_1 <= sma100_1 && sma50_2 > sma100_2) sell = true;
   
   // check sama ada dah ada buy atau sell
   for (int i=0; i<OrdersTotal(); i++)
   {
     [COLOR="Red"][B]OrderSelect (i, SELECT_BY_POS);[/B][/COLOR]    
     if (OrderMagicNumber()==123 && OrderType()==OP_BUY) buy = false;
     if (OrderMagicNumber()==123 && OrderType()==OP_SELL) sell = false;
   **
    
   if (buy = true) OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"My order #2",123,0,Green); 
   if (sell = true) OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,"My order #2",123,0,Red);

tertinggal yang merah tu
 
tumpang tanyer.. indi ni ... leh jd EA tak?

Code:
  extern int SignalGap = 10;

int dist=24;
double b1[];
double b2[];

int init()  {
   SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);
   SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);
   SetIndexArrow(1,233);
   SetIndexArrow(0,234);
   SetIndexBuffer(0,b1);
   SetIndexBuffer(1,b2);
   return(0);
**
int start() {
   int counted_bars=IndicatorCounted();
   int k,i,j,limit,hhb,llb;
   
   if (counted_bars<0) return(-1);
   if (counted_bars>0) counted_bars--;
   limit=Bars-1;
   if(counted_bars>=1) limit=Bars-counted_bars-1;
   if (limit<0) limit=0;

   for (i=limit;i>=0;i--)   {
      hhb = Highest(NULL,0,MODE_HIGH,dist,i-dist/2);
      llb = Lowest(NULL,0,MODE_LOW,dist,i-dist/2);

      if (i==hhb)
         b1[i]=High[hhb]+SignalGap*Point;
      if (i==llb)
         b2[i]=Low[llb]-SignalGap*Point;
   **
   return(0);
**
 
Last edited:

Latest Posts

Live Forex Chart

Currency
Rates
EUR / USD
1.13910
USD / JPY
157.285
GBP / USD
1.32505
USD / CHF
0.82827
USD / CAD
1.41455
EUR / JPY
179.163
AUD / USD
0.70328
Back
Top
Log in Register