Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: สอบถามเรื่องการbuy order คับ  (Read 7294 times)

pa_don

  • Newbie
  • *
  • Posts: 37
สอบถามเรื่องการbuy order คับ
« on: เมษายน 09, 2011, 11:49:04 pm »
admin ครับพอดีผมติดปัญหา

1. เปิดeaแล้วมันเข้าเทรดเลย
     if(way!=lastway)
        {
        lastway = way;
        direct = 1;
        return (lastway);    
        }
น่าจะเป็นตรงนี้อ่ะครับ direct=1 มันเลยเข้าเทรด ผมเขียน direct=0ไปดักหน้าอีฟ มันเลยไม่เทรดเลย

2.เวลากราฟสวิงลงมามันดันเข้าเทรด
คือผมอยากให้มัน บายเมื่อcci ตัด 0 ขึ้นมาเท่านั้น ตัดลงไม่ต้องบายอ่ะคับ


extern double lots = 0.01;
extern double Profit = 15;

extern double cci34_value = 0.0000;
extern double cci46_value = 0.0000;

static int lastway =0;
static int way     =0;
static int direct=0;
int check (double cci46 ,double Value)
{    
    
     if(cci46 > Value)
     {
        way=1;
    
     }
  
    if(cci46  < Value)
     {
        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_CLOSE,0);
    
         int go= check(cci46,10);
    
     total=OrdersTotal();
            
         if(total<1)
           {
          
          
                if(go==1 && direct==1)
                  {
                        ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-Point*1000,Ask+Point*Profit,"firstea",0,0,Green);
                        OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                        direct=0;
                  }
                        
                        
              
             return (0);
          }
 
  }  
 
  
 

  
  
//+------------------------------------------------------------------+

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: สอบถามเรื่องการbuy order คับ
« Reply #1 on: เมษายน 10, 2011, 01:20:05 am »
extern double lots = 0.01;
extern double Profit = 15;

extern double cci34_value = 0.0000;
extern double cci46_value = 0.0000;

static int lastway =0;
static int way     =0;
static int direct=0;
int check (double cci46 ,double Value)
{   
     
     if(cci46 > Value)
     {
        way=1;
     
     }
   
    if(cci46  < Value)
     {
        way=2;
     
     }
     
     if(way!=lastway)
     {
        lastway = way;
        return (lastway);     
     }
 
       return (0);

}
int start()
  {
   
     int total;
     int ticket;
 

          double cci46=iCCI(NULL,0,46,PRICE_CLOSE,0);
     
         int go= check(cci46,10);
     
     total=OrdersTotal();

      if(direct==0)
     {
      direct=lastway;

     }
           
         if(total<1)
           {
           
           
                if(go==1 &&(direct!=lastway) )
                  {
                        ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-Point*1000,Ask+Point*Profit,"firstea",0,0,Green);
                        OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                        direct=lastway;
                  }
                       
                       
               
             return (0);
          }
 
  } 
 

pa_don

  • Newbie
  • *
  • Posts: 37
Re: สอบถามเรื่องการbuy order คับ
« Reply #2 on: เมษายน 10, 2011, 01:44:03 am »
ลองเทสดูแล้วไม่เทรดเลยอ่าครับ admin :'(

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: สอบถามเรื่องการbuy order คับ
« Reply #3 on: เมษายน 10, 2011, 03:35:18 am »
ลองเอาอันใหม่ไปครับ ตัวนี้จะทำงานก็ต่อเมื่อมีการตัดสลับกันแล้วนะครับ เช่น ถ้ามัน buy ไปแล้ว tp เรียบร้อยแล้วจะไม่ชื้อ จนกว่า cci มันจะไปต่ำกว่า 10 แล้วแร ดีดกลับขึ้นมามากกว่า 10 ก็จะทำการเข้าชื้อทันที หากระหว่างนั่น cci ไม่ได้กลับลงมาต่ำกว่า 10 เลยก็จะไม่เปิดอีก  ผม backtest ได้นะครับถ้าคุณ backtest ไม่ได้ก็ลองเช็กเรื่อง lot กับค่า tp sl ดูครับ

extern double lots = 0.1;
extern double Profit = 15;

extern double cci34_value = 0.0000;
extern double cci46_value = 0.0000;

static int lastway =0;
static int way     =0;
static int direct=0;
int check (double cci46 ,double Value)
{   
     
     if(cci46 > Value)
     {
        way=1;
     
     }
   
    if(cci46  < Value)
     {
        way=2;
     
     }
     
     if(way!=lastway)
     {
        lastway = way;
        return (lastway);     
     }
      direct=lastway;
       return (0);

}
int start()
  {
   
     int total;
     int ticket;
 

          double cci46=iCCI(NULL,0,46,PRICE_CLOSE,0);
     
         int go= check(cci46,10);
     
     total=OrdersTotal();

      if(direct==0)
     {
      direct=lastway;

     }
           
         if(total<1)
           {
           
           
                if(direct==2 && lastway==1 )
                  {
                        ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-Point*1000,Ask+Point*Profit,"firstea",0,0,Green);
                        OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                       
                  }
                       
                       
               
             return (0);
          }
                 
         
          Print("direct :",direct);
          Print("lastway :",lastway);
 
}

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: สอบถามเรื่องการbuy order คับ
« Reply #4 on: เมษายน 10, 2011, 02:55:49 pm »
จากในรูปที่มันบายตรงสีชมพู  เพราะราคายังไม่ปิด cci มันก็ขึ้นๆลงตามราคา มันก็เลยตกลงไป แล้วเด้งกลับขึ้นมา จึงเปิดบาย

ต้องใช้ CCi 2หรือ3อันครับ คือ cci ของแท่งที่ปิดไปแล้ว เทียบกับ cci ที่ยังแกว่งอยู่  โค้ดสั้นนิดเดียวครับ

         if(total<1)
           {
           
           if ( iCCI(NULL,0,46,PRICE_CLOSE,2) < 0 &&  iCCI(NULL,0,46,PRICE_CLOSE,1)>0 && iCCI(NULL,0,46,PRICE_CLOSE,0)>0)
               
                  {
                        ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-Point*1000,Ask+Point*Profit,"firstea",0,0,Green);
                        OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
                       
                  }
                       
                       
               
             return (0);
          }


pa_don

  • Newbie
  • *
  • Posts: 37
Re: สอบถามเรื่องการbuy order คับ
« Reply #5 on: เมษายน 11, 2011, 01:19:20 pm »
ขอบคุณ admin และ คุณD_Diamond มากครับ