Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ช่วยแก้ trailingstop ให้หน่อยครับ  (Read 11819 times)

tanapai

  • Jr. Member
  • **
  • Posts: 50
  • เล่นจริงเจ็บจริง รู้ให้จริง ๆ ไม่รู้ก็ถาม อิ ๆ
    • เทรด forex ไม่ต้องนั่งหน้าคอม ด้วยการ copy คนเก่ง ๆ คลิก
ช่วยแก้ trailingstop ให้หน่อยครับ
« on: พฤษภาคม 03, 2011, 09:37:37 pm »
extern double lots = 1.0;
extern double sl =55;
extern double tp =55;
extern double trailing =20;
extern int MaxOrder =1;
 
int start()
{
if(OrdersTotal()<MaxOrder)
          {

                  double var1 = 0.00015;
                  double var2 = 0.00000;
                  double ma1 =iMA(NULL,0,5,0,MODE_SMMA,PRICE_MEDIAN,0);
                  double ma2 =iMA(NULL,0,15,0,MODE_SMMA,PRICE_MEDIAN,0);
                  double min = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
                  double sig = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
 
  
                                 if ((ma2-var2>=ma1))
                                    {
                                    if ((sig-var1)>=min)    
                                    {OrderSend(Symbol(),OP_SELL,lots,Bid,3,Bid+Point*sl,Bid-Point*tp,"EA Creator",123,0,Red); }

                                    }
                                 if ((ma2+var2<=ma1))
                                    {
                                   if ((sig+var1)<=min)                        
                                    {OrderSend(Symbol(),OP_BUY,lots,Ask,3,Ask-Point*sl,Ask+Point*tp,"EA Creator",123,0,Green);}
                                    
                                    }
                      

                  trailingstop();  

         }
 
return(0) ;

}

void trailingstop() {    
         for(int count=0;count<OrdersTotal();count++)      
            {OrderSelect(count,SELECT_BY_POS,MODE_TRADES);    
               if(OrderType() == OP_BUY)    
                   {if(trailing > 0){      
                       if(Bid - OrderOpenPrice() > trailing*Point)          
                           {if(OrderStopLoss()==0 || (Bid - OrderStopLoss()> trailing*Point))      
                                {OrderModify(OrderTicket(), OrderOpenPrice(),Bid - trailing*Point, OrderTakeProfit(), 0, Blue);                                  }
                           }
                      }
                  }  
                if(OrderType() == OP_SELL)
                  { if(trailing > 0)
                       {if(OrderOpenPrice() - Ask > trailing*Point)
                            {  
                          if(OrderStopLoss() == 0 || ( OrderStopLoss()-Ask > trailing*Point ) )  
                              {OrderModify(OrderTicket(), OrderOpenPrice(),Ask + trailing*Point, OrderTakeProfit(), 0, Red);                                   }
                         }
                      }
                 }  
              }
          }







« Last Edit: พฤษภาคม 03, 2011, 09:44:08 pm by tanapai »

tanapai

  • Jr. Member
  • **
  • Posts: 50
  • เล่นจริงเจ็บจริง รู้ให้จริง ๆ ไม่รู้ก็ถาม อิ ๆ
    • เทรด forex ไม่ต้องนั่งหน้าคอม ด้วยการ copy คนเก่ง ๆ คลิก
Re: ช่วยแก้ trailingstop ให้หน่อยครับ
« Reply #1 on: พฤษภาคม 03, 2011, 09:39:28 pm »
จากโค๊ดด้านบนนะคับ คือว่ามันไม่ยอม โมดิไฟท์ order ให้คับ

ถ้าเราตั้ง Maxorder = 1 มันไม่ยอมโมดิไฟท์ให้
แต่ถ้าเราตั้ง Maxorder = 2 ขึ้นไป มันก็ยังโมดิไฟท์ให้ปกติคับ งง ???

ช่วยดูให้หน่อยคับท่าน admin
ขอบคุณคับ :)
« Last Edit: พฤษภาคม 03, 2011, 09:43:05 pm by tanapai »

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ช่วยแก้ trailingstop ให้หน่อยครับ
« Reply #2 on: พฤษภาคม 04, 2011, 03:07:22 pm »
แค่ย้าย    trailingstop();   
จาก
             trailingstop();   

         }
 
return(0) ;

}

มาเป็นแบบนี้ก็จบแล้วครับ
     ........
     ........
         }
 trailingstop();   

return(0) ;

}

tanapai

  • Jr. Member
  • **
  • Posts: 50
  • เล่นจริงเจ็บจริง รู้ให้จริง ๆ ไม่รู้ก็ถาม อิ ๆ
    • เทรด forex ไม่ต้องนั่งหน้าคอม ด้วยการ copy คนเก่ง ๆ คลิก
Re: ช่วยแก้ trailingstop ให้หน่อยครับ
« Reply #3 on: พฤษภาคม 05, 2011, 12:44:16 pm »
ขอบคุณท่าน admin มากายคับ ;D

tanapai

  • Jr. Member
  • **
  • Posts: 50
  • เล่นจริงเจ็บจริง รู้ให้จริง ๆ ไม่รู้ก็ถาม อิ ๆ
    • เทรด forex ไม่ต้องนั่งหน้าคอม ด้วยการ copy คนเก่ง ๆ คลิก
Re: ช่วยแก้ trailingstop ให้หน่อยครับ
« Reply #4 on: พฤษภาคม 06, 2011, 09:32:03 pm »
ถามต่อเลยนะคับ
จากโค๊ดด้านบน
ถ้าเราตั้ง Maxorder มากกว่า 1
อยากให้ order ต่อ ๆ มา ให้รอเวลาผ่านไปก่อนสัก 45 นาทีแล้วค่อยเปิดอะคับทำไงดีคับท่าน admin ;D