Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: สอบถามเรื่องเปิดออเดอร์ เวลาชนTPแล้ว มันกลับเข้าซ้ำอีกอ่ะคับ ช่วยทีครับ  (Read 10832 times)

pa_don

  • Newbie
  • *
  • Posts: 37
บอทเปิดออเดอร์ตามเงื่อนไขแล้วครับ แต่ผมติดตรงที่ เวลามันเข้าbuy เข้าเพียงออเดอร์เดียว แต่พอราคาชนTPปั๊ปมันเปิดออเดอร์buyใหม่ทันทีเลยครับเป็นเรื่อยๆเลยครับ จนกว่าค่ามันจะน้อยกว่าเงื่อนไขที่เราตั้งไว้
ไม่รู้ว่าจะต้องเขียนโค๊ดยังไง รบกวน admin ช่วยลงตัวอย่างหน่อยครับ

int start()
  {
   
     int total;
     int ticket;
 

          double cci46=iCCI(NULL,0,46,PRICE_TYPICAL,0);
     

     
     total=OrdersTotal();
     
         if(total<1)
           {
           
           
                if(cci46>5.0)
                  {
                        ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-Point*100,Ask+Point*50,"firstea",0,0,Green);
                        OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                  }
                       
                       
               
             return (0);
          }
 
  }
ขอบคุณล่วงหน้าครับ

gigo

  • Newbie
  • *
  • Posts: 4
มันก้อเช็ค cci46 > 5 อยู่อะครับ
มันถึงเปิดให้ครับ
อาจจะต้องเขียนเงื่อนไขอื่นเข้าไปเพิ่มเติม
 if(cci46>5.0  &&  cci46<10)
ประมาณนี้ครับ 
มือใหม่เหมือนกัน :D

pa_don

  • Newbie
  • *
  • Posts: 37
ขอบคุณครับ

ผมลองแล้วครับประมาณว่า มันขึ้นไปมากว่า 5 แต่ไม่เกิน 7 มันเทรดครับ
แล้วช่วงมันสวิงลงมา มันก็เข้าอีก -*- คือผมอยากให้มันเปิดแค่รอบเดียว คือสวิงขึ้นไปเปิด สวิงลงมาให้แล้ว สวิงขึ้นไปค่อยเปิดใหม่อ่ะคับ
« Last Edit: มีนาคม 08, 2011, 09:52:05 pm by pa_don »

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
static int lastway =0;
static int way     =0;
static int direct=0;
int check (double cci ,double point)
{   
     
     if(cci > point)
     {
        way=1;
     
     }
   
    if(cci  < point)
     {
        way=2;
     
     }
     
     if(way!= lastway)
     {
        lastway = way;
        direct = 1;
        return (lastway);     
     }
 
       return (0);

}

int start()
  {
   
     int total;
     int ticket;
 

          double cci46=iCCI(NULL,0,46,PRICE_TYPICAL,0);
     
         int go= check(cci46,5.0);
     
     total=OrdersTotal();
     
         if(total<1)
           {
           
           
                if(go==1 && direct==1)
                  {
                        ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-Point*100,Ask+Point*50,"firstea",0,0,Green);
                        OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                        direct=0;
                  }
                       
                       
               
             return (0);
          }
 
  }

pa_don

  • Newbie
  • *
  • Posts: 37
อันนี้แบบสวิงลงไม่เข้าเทรดใช่เป่าคับ

ขอบคุณครับท่าน admin