EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: bankclub99 on ธันวาคม 08, 2012, 03:32:53 pm

Title: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 03:32:53 pm
เงื่อนไข ไม่ได้ซับซ้อนอะไรเลยครับ       แค่เส้น      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) ;
 }
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: admin on ธันวาคม 08, 2012, 04:15:40 pm
เอาต้นแบบมาจากกระทู้ไหนครับ
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: admin on ธันวาคม 08, 2012, 04:23:00 pm
ผมได้แก้ต่อเอาไวข้างล่างของกระทู้ต้นแบบแล้วนี้ครับ  http://www.thaiforexea.com/index.php/topic,1063.msg5181.html#msg5181
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 04:54:48 pm
อ้าว ๆ ทำไมผม ไม่เห็น เนี้ย 55555

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

และขอบคุณ พี่ขวัญ มาก ๆ ครับ ^^"
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 05:45:48 pm
พี่ขวัญ ครับผม
ผมได้ลองนำไป back test ดูแล้ว มันยัง มีปัญหาเรื่องของการ ปิด ออเดอร์ อยู่อ่ะครับ

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

เง้อ......รบกวนพี่ อีกครังนึงครับผม
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: admin on ธันวาคม 08, 2012, 05:55:16 pm
EA ในกระทู้นั่นผมเอา code ตัวสุดท้ายที่แก้มาทดสอบดูมันเปิดครั้งละ 1 Order เท่านั่นนะผมเอามาทดสอบก็เปิดแล้วปิด สลับกันไปเรื่อยๆๆนะ ทดสอบกับโบรเกอร์กี่จุดครับ
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: admin on ธันวาคม 08, 2012, 05:58:20 pm
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
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 06:34:59 pm
ตอนนี้ ผม ทดสอบ กับ Exness โบรค 5 จุด ครับพี่ขวัญ
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 06:41:24 pm
พี่ขวัญ เทส แล้วมัน ปิด เปิด ไปเรื่อย ๆ ปกติ ดี หรอครับ

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

งง จริง ๆ เลยครับ  มึน ๆ - -"
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: admin on ธันวาคม 08, 2012, 07:15:23 pm
พี่ขวัญ เทส แล้วมัน ปิด เปิด ไปเรื่อย ๆ ปกติ ดี หรอครับ

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

งง จริง ๆ เลยครับ  มึน ๆ - -"
ใช่มันเปิดปิดสลับกันไปเลย แต่ EA ไม่กำไรนะเจ๊ง ลอง test ที่โบร 4 ดู ผมใช้ forex4you test ปกติดีเปิดปิดสลับกันไปตลอด
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: D_Diamond on ธันวาคม 08, 2012, 07:22:50 pm
อีเอมันเปิด/ปิด sell แล้วแต่ไม่สำเร็จ เกิด requote ครับ แล้วมันก็เปิดออเดอร์ใหม่ กลายเป็น buy 2ที
อีเอไม่ได้ตรวจสอบว่าการเปิด/ปิดออเดอร์ทำสำเร็จแล้วหรือยัง

อีเอที่ทำมาสำหรับโบรก 4 หลัก จะมีปัญหาเวลาใช้กับโบรก 5 หลักบ่อยๆครับ
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 08:45:12 pm
ขอบคุณทั้งพี่ขวัญ และคุณ D_Diamond  มากครับผม ที่คอยมาดูให้ผม ครับ ขอบคุณครับ ;)
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 08, 2012, 08:59:08 pm
ผมได้ลองโหลด MT4 ของ Forex4you มา Back Test ดูแล้ว คับพี่ขวัญ

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

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


Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: admin on ธันวาคม 08, 2012, 10:04:01 pm
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);
  }
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 09, 2012, 12:52:18 am
ขอบคุณมาก ๆ ครับผม ^^"
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: bankclub99 on ธันวาคม 09, 2012, 01:45:21 am
พี่ขวัญ เคย บอกไว้ว่า "ระวังหน่อยนะครับ เพราะ EA จะ ปิด ๆ เปิด ๆ order  ช่วงที่กราฟสวิงเพราะค่า sma มันตัดไปตัดมานะครับ"

ซึ่งก็....จริง ๆ ด้วยครับ ทำให้เสีย ค่า spread ไป ๆ มา ๆ บ่อยมาก

......อย่างนี้ พอจะ แก้ได้ โดย การที่ ใส่ code ให้ เข้า order เฉพาะ ตอนที่ แท่งเทียน ปิด เท่านั้น!! ได้ใช่มั้ยครับผม
เพื่อเป็นการ ไม่ให้ เข้าออก order ไปๆมาๆ ในขณะที่กราฟ สวิง.......

ขอบคุณอีกครั้งนึงครับผม  :)

 
Title: Re: รบกวนผู้รู้หน่อยครับ Admin เคยเขียนไว้ให้สมาชิกครับ แต่ EA ไม่ close order ครับ
Post by: D_Diamond on ธันวาคม 09, 2012, 11:23:15 am
สลับบายเซลนี้มีอีเอตัวนึงครับ  ชื่อ 4xatm
ปี 2011 ทำกำไรได้เยอะ  แต่ได้แค่ปีเดียว กับคู่ USDCAD ปีอื่นเน่าหมดครับ

http://www.myfxbook.com/members/4xatm