Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ  (Read 16807 times)

bankclub99

  • Newbie
  • *
  • Posts: 9
เงื่อนไข ไม่ได้ซับซ้อนอะไรเลยครับ       แค่เส้น      EMA 1 มากกว่า  EMA 12  เปิด Buy  (เส้นตัดขึ้น)
                                          และเมื่อ      EMA 1 น้อยกว่า  EMA 12   ปิด ออเดอร์  Buy  และ เปิด Sell   (เส้นตัดลง)
                                            เปิด - ปิด ออเดอร์ แบบนี้ไปเรื่อย ๆ ครับ
 
มันเปิด order แต่มัยไม่ยอม ปิด order ให้ครับ  รบกวน พี่ ๆ ช่วยดูให้ผมทีครับผม
ขอบพระคุณมากครับ.....(แก้มา 3 วันแล้ว ยังไม่ได้อีกครับ -*-)
--------------------------------------------------------------------------



extern double lots =0.01;
extern double sl =0;
extern double tp =0;
static int start=0;

int start() {
   double var1 =  iMA(NULL,0,1,0,1,0,0);
   double var2 =  iMA(NULL,0,12,0,1,0,0);
 
  if(start==0)
  {
     if(var1>var2)
       start=1;
       if(var1<var2)
       start=2;
       
       return (0);
 
  }

  if(start==1 )
  { 
     if(OrdersTotal()==1)
     {   if(var1<var2)
        {  OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),10,Pink);
           Sleep(2000);
           start=2;
           return (0);
           
         }
     
     }
     
     if(OrdersTotal()==0)
     {   if(var1<var2)
        {  OrderSend(Symbol(),OP_SELL,lots,Bid,10,0,0,"xxx",0,0,Red);
           Sleep(2000);
           start=2;
           return (0);
           
         }
     
     }
       
 
  }




 if(start==2 )
  { 
     if(OrdersTotal()==2)
     {   if(var1>var2)
        { OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10,Pink);
           Sleep(2000);
           start=1;
           return (0);
           
         }
     
     }
     
     if(OrdersTotal()==0)
     {   if(var1>var2)
        {  OrderSend(Symbol(),OP_BUY,lots,Ask,10,0,0,"xxx",0,0,Green);
           Sleep(2000);
           start=1;
           return (0);
           
         }
     
     }
       
 
  }


     
return(0) ;
 }

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
เอาต้นแบบมาจากกระทู้ไหนครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ผมได้แก้ต่อเอาไวข้างล่างของกระทู้ต้นแบบแล้วนี้ครับ  http://www.thaiforexea.com/index.php/topic,1063.msg5181.html#msg5181

bankclub99

  • Newbie
  • *
  • Posts: 9
อ้าว ๆ ทำไมผม ไม่เห็น เนี้ย 55555

ขอโทษด้วยครับ

และขอบคุณ พี่ขวัญ มาก ๆ ครับ ^^"

bankclub99

  • Newbie
  • *
  • Posts: 9
พี่ขวัญ ครับผม
ผมได้ลองนำไป back test ดูแล้ว มันยัง มีปัญหาเรื่องของการ ปิด ออเดอร์ อยู่อ่ะครับ

ทดสอบ M5 เส้น ตัดกัน ครั้งแรก เปิด roder Sell  ปกติ  พอเส้น ตัดขึ้น  ปิด order sell เปิด order Buy ปกติ
แต่ พอ ครั้งที่สาม  เส้นตัด ลง อีกครั้ง มัน ไม่ปิด order Buy แล้วเปิด order Sell ให้เลยครับ มันถือ order ไว้ ดื้อ ๆ ซะอย่างนั้น -*- แถมยัง เบิ้ลอีก ไม้ ตอนตัดขึ้นอีกทีนึงด้วย -*-

เง้อ......รบกวนพี่ อีกครังนึงครับผม

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
EA ในกระทู้นั่นผมเอา code ตัวสุดท้ายที่แก้มาทดสอบดูมันเปิดครั้งละ 1 Order เท่านั่นนะผมเอามาทดสอบก็เปิดแล้วปิด สลับกันไปเรื่อยๆๆนะ ทดสอบกับโบรเกอร์กี่จุดครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
code ตัวาสุดท้ายค่าอินดี้เป้นแบบนี้
double var1 =  iMA(NULL,0,12,0,1,0,0);
double var2 =  iMA(NULL,0,26,0,1,0,0);

คือ 12 กับ 26  MODE_EMA ใช้ราคาแบบ PRICE_CLOSE

bankclub99

  • Newbie
  • *
  • Posts: 9
ตอนนี้ ผม ทดสอบ กับ Exness โบรค 5 จุด ครับพี่ขวัญ

bankclub99

  • Newbie
  • *
  • Posts: 9
พี่ขวัญ เทส แล้วมัน ปิด เปิด ไปเรื่อย ๆ ปกติ ดี หรอครับ

หรือจะ เกี่ยวกับ โบรคเกอร์ ของผมหว่า T^T

งง จริง ๆ เลยครับ  มึน ๆ - -"

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
พี่ขวัญ เทส แล้วมัน ปิด เปิด ไปเรื่อย ๆ ปกติ ดี หรอครับ

หรือจะ เกี่ยวกับ โบรคเกอร์ ของผมหว่า T^T

งง จริง ๆ เลยครับ  มึน ๆ - -"
ใช่มันเปิดปิดสลับกันไปเลย แต่ EA ไม่กำไรนะเจ๊ง ลอง test ที่โบร 4 ดู ผมใช้ forex4you test ปกติดีเปิดปิดสลับกันไปตลอด

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
อีเอมันเปิด/ปิด sell แล้วแต่ไม่สำเร็จ เกิด requote ครับ แล้วมันก็เปิดออเดอร์ใหม่ กลายเป็น buy 2ที
อีเอไม่ได้ตรวจสอบว่าการเปิด/ปิดออเดอร์ทำสำเร็จแล้วหรือยัง

อีเอที่ทำมาสำหรับโบรก 4 หลัก จะมีปัญหาเวลาใช้กับโบรก 5 หลักบ่อยๆครับ

bankclub99

  • Newbie
  • *
  • Posts: 9
ขอบคุณทั้งพี่ขวัญ และคุณ D_Diamond  มากครับผม ที่คอยมาดูให้ผม ครับ ขอบคุณครับ ;)

bankclub99

  • Newbie
  • *
  • Posts: 9
ผมได้ลองโหลด MT4 ของ Forex4you มา Back Test ดูแล้ว คับพี่ขวัญ

ปรากฎว่า....มี order แรก order เดียวครับ ที่เป็น order Buy ที่เหลือเป็น order Sell หมดเลยครับ

ที่พี่ลอง แล้ว มันล้างพอร์ต  สาเหตุเป็นเพราะ แบบเดียว กับอาการ ของผมรึเปล่าครับ



admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
code เกห่าอาจจะไม่ครบเอาตัวไหมไปมันจะชื้อสลับกันนะตามที่เจ้าของเก่าเค้าโพสไวแต่ยังไงก็เจ๊งอยู่ดีนะ

extern int Lots=0.01;
static int memo=0;
int check (double v1 ,double v2)
{    static int lastway =0;
     static int way     =0;
     
     if(v1 > v2)
     {
        way=1;
     
     }
   
    if(v1 < v2)
     {
        way=2;
     
     }
     
     if(way!= lastway)
     {
        lastway = way;
        return (lastway);     
     }
 
       return (0);

}

int start()
  {     
         
         double var1 =  iMA(NULL,0,12,0,1,0,0);
         double var2 =  iMA(NULL,0,26,0,1,0,0);
         
         int kway = check(var1,var2);
         
         int total =OrdersTotal();
         int ticket;
         double Lots=0.1;
     
         
         if(total==0)
         {
             if(kway==1)
             {
             
                OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"v1v2",0,0,Green);
                memo=1;
             
             
             }
         
             if(kway==2)
             {
             
               OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"v1v2",555,0,Red);
                memo=2;
             
             }
         
         
         }
         
         
             if(total==1)
         {
             if(kway==1 && memo==2)
             {OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
              OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,Pink);
              Sleep(2000);
                OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"v1v2",0,0,Green);
                memo=1;
             
             
             }
         
             if(kway==2 && memo==1)
             {
               OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
              OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Pink);
               Sleep(2000);
               OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"v1v2",555,0,Red);
                 memo=2;
             
             }
         
         
         }
         
           
         

   return(0);
  }

bankclub99

  • Newbie
  • *
  • Posts: 9