Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ช่วยเขียน ea แบบนี้ให้หน่อยครับ  (Read 21918 times)

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #15 on: ธันวาคม 13, 2011, 01:19:53 am »
Open source คือไรอ่ะ....
ไม่รู้...ช่วยตอบทีครับ...
จะได้เอออ๋อตามไปด้วย.../^_^/ ??? ::) ;D
Open source คือการเปิดเผย code ทั้งหมดที่ผมจะเขียนให้เพราะเห็นว่ามันมีเทคนิคที่ทุกคนนำไปใช้ได้เลยจะทำให้เพื่อให้คนอื่นมานำไปใช้ต่อครับ เดียวพรุ่งนี้หรือไม่ก็วันพูธก็น่าจะเสร็จช่วยนี้ค่อนข้างยุ่งครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #16 on: ธันวาคม 13, 2011, 04:03:07 am »
ลองเปิด demo ดูการตัดมันนะครับแต่ก็น่าจะ ok แล้วหละ

extern double lot=0.1;
extern int magic=123;
extern bool UseTp=true;
extern int Tp=15;
extern bool UseSl=true;
extern int Sl =15;
extern bool UseTrailing=true;
extern int trailing  =15;
extern int LessRsiDay=14;
extern int MuchRsiDay=49;

int temp;



int start()
  {
      double LessRsi =iRSI(NULL,0,LessRsiDay,PRICE_CLOSE,0);
      double MuchRsi =iRSI(NULL,0,MuchRsiDay,PRICE_CLOSE,0);
     
    int way=  check(LessRsi,MuchRsi);
   
      if(temp==0)
      temp=way; 
      if(UseTp==false)
      Tp=0;
      if(UseSl==false)
      Sl=0;
     
     if(OrdersTotal()==0)
     {
               if(way==1 && temp==2)
                  {
                          if(Sl== 0 && Tp==0)
                       
                       { 
                       OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,"dimdo",magic,0,Green);
                       
                       }
                       
                if(Sl!= 0 && Tp==0)
                       
                       { 
                       
                       OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-Point*Sl,0,"dimdo",magic,0,Green);
                       }
                       
                if(Sl== 0 && Tp!=0)
                       
                       { 
                       
                       OrderSend(Symbol(),OP_BUY,lot,0,0,"dimdo",magic,0,Green);
                       }
                       
                       
               if(Sl!= 0 && Tp!=0)
                       
                       { 
                       OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-Point*Sl,Ask+Point*Tp,"dimdo",magic,0,Green);
                       
                       }
     
                     temp=1;
                 }
                 
                 if(way==2 && temp==1)
                  {
                           if(Sl== 0 && Tp==0)
                       
                       { 
                       
                       OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,"dimdo",magic,0,Red); 
                       }
                       
                        if(Sl!= 0 && Tp==0)
                       
                       { 
                       OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+Point*Sl,0,"dimdo",magic,0,Red); 
                       
                       }
                       
                       if(Sl== 0 && Tp!=0)
                       
                       { 
                       OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,Bid-Point*Tp,"dimdo",magic,0,Red); 
                       
                       }
                       
                       
                      if(Sl!= 0 && Tp!=0)
                       
                       { 
                       
                       OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+Point*Sl,Bid-Point*Tp,"dimdo",magic,0,Red); 
                       }
     
                    temp=2;
                 }
                 
       
      }
     
      if(UseTrailing==true)
      trailingstop();
 

   return(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);

}



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

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #17 on: ธันวาคม 13, 2011, 09:29:01 am »
ท่าน Admin ครับ
extern int magic=123; คืออะไรครับ...
...ขอบคุณครับ.../^_^/ ;D ::) :-[

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #18 on: ธันวาคม 13, 2011, 10:39:51 am »
magicnumber เป็นเลขประจำตัวอีเอครับ  ใส่ไว้ให้รู้ว่าออเดอร์ไหนเป็นของอีเอตัวไหน  ไม่ใส่อีเอจะมั่ว

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #19 on: ธันวาคม 13, 2011, 10:43:03 am »
อ๋อ.......
ขอบคุณมากมายครับ..../^_^/ ;D :o :-*

dimdio

  • Newbie
  • *
  • Posts: 11
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #20 on: ธันวาคม 13, 2011, 05:59:58 pm »
ขอบคุณครับท่านแอดมิน ขอนำไปลองใช้ก่อนนะครับ  :)

mai_ktnk

  • Newbie
  • *
  • Posts: 1
Re: ช่วยเขียน ea แบบนี้ให้หน่อยครับ
« Reply #21 on: พฤษภาคม 26, 2014, 12:29:23 am »
ถึงท่าน admin จากโค้ต ที่ท่านเขียนไว้ผมขอให้ท่านช่วย แก้ไขให้มันเบิ้ลล๊อด จนกว่าจะปิด order แล้วไม่เอา sl กับ Trailing นะคับ
และขอกำหนดระยะ pipที่จะเปิดไม้ 1 กับไม้ที่ 2  คับ  ขอขอบคุณล่วงหน้าคับ