traderider forex ไทย

มือใหม่หัดเขียนEA เมือเข้าเงื่อนไขทั้ง2เงือนไขทีเวลาต่างกันต้องเขียนแบบไหนครับ

  • 4 replies
  • 573 views

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

รบกวนหน่อยครับ  อยากทราบว่า
เมือเข้าเงื่อนไขทั้ง2เงือนไขทีคนละเวลากันจึงจะเปิดออร์เดอร์ได้
ตัวอย่างเช่น  EMA5 > EMA 10   และผมจะรอ RSI <30 ในเวลาต่อมา   เมื่อครบ2เงื่อนไขนี้จึงเปิดออร์เดอร์   ต้องเขียนยังไงครับ  ขอบคุณครับ

Share Topic.

Follow Me.


traderider forex ไทย
traderider forex ไทย
traderider forex ไทย
*

ออนไลน์ admin

  • *
  • 61,240
  • 2589
ลองวาง code มาเลยครับเดี๋ยวช่วยปรับให้
 (TH)**
"เอาชนะใจตัวเองให้ได้ ก่อนที่จะไปเอาชนะตลาด"

"สนับสนุนบอร์ดง่ายๆด้วยการเปิด ID Trade forex ผ่าน Link ของบอร์ด ขอบคุณครับ"

ลองวาง code มาเลยครับเดี๋ยวช่วยปรับให้
 (TH)**


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

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


extern int MagicNumber=10001;
extern double Lots =0.1;
extern double StopLoss=50;
extern double TakeProfit=50;
extern int TrailingStop=50;
extern int Slippage=3;
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()
{
  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point*10;
 
  double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 )
  {
     int result=0;
     if(
     
       (iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0)>iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0))
     &&(iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1)<iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1))
     &&(iRSI(NULL,0,14,PRICE_CLOSE,0)<30)
     
       ) // Here is your open buy rule
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Blue);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);
     }
     if(
     
     
       (iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0)<iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0))
     &&(iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1)>iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1))
     &&(iRSI(NULL,0,14,PRICE_CLOSE,0)>70 )
     
     
     ) // Here is your open Sell rule
     {
        result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);
     }
  }
 
  for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
         OrderSymbol()==Symbol() &&
         OrderMagicNumber()==MagicNumber
         ) 
        {
         if(OrderType()==OP_BUY) 
           {
              if(
             
             
       (iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0)<iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0))
     &&(iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1)>iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1))
     &&(iRSI(NULL,0,14,PRICE_CLOSE,0)>70 )
             
             
              ) //here is your close buy rule
              {
                   OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);
              }
            if(TrailingStop>0) 
              {                 
               if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else
           {
                if(
               
               
       (iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0)>iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0))
     &&(iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1)<iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1))
     &&(iRSI(NULL,0,14,PRICE_CLOSE,0)<30)
               
               
               
                ) // here is your close sell rule
                {
                   OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);
                }
            if(TrailingStop>0) 
              {                 
               if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
}

int TotalOrdersCount()
{
  int result=0;
  for(int i=0;i<OrdersTotal();i++)
  {
     OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);
     if (OrderMagicNumber()==MagicNumber) result++;

   }
  return (result);
}

*

ออฟไลน์ iRuler

  • *
  • 1,226
  • 39
ต้องมีตัวแปรไว้จำว่าเข้าเงื่อนไขแรกแล้วครับ ตัวแปรนี้ต้องประกาศเป็นแบบ global

โค๊ด
bool first_condition=false;

void OnTrick()
{
if(EMA5 > EMA 10)
  {
    first_condition=true;
   }

if(first_condition==true && RSI <30)
 {
   /*
    จะทำไรก็ว่าไป เสร็จแล้วให้ condition กลับเป็น false
   */

  first_condition=false;
 }


}


หลักๆ เบื้องต้นก็ประมาณนี้ โดยหลักการข้างบนจะเข้าเงื่อนไขในกรณี (EMA5 > EMA 10) และ (RSI <30) เป็นจริงพร้อมกันด้วย
เอาไปเป็นแนวคิดนะครับ

 (TH)**

ขอบคุณครับ  จะลองทำดูนะครับ

Tags:
 

เครื่องมือเทรด Forex

ข่าว Forex กราฟ Forex EURUSD GBPUSD GBPJPY ตารางข่าว Forex

เครื่องมือเทรดทองคำ

ราคาทอง วันนี้ ราคาทอง ย้อนหลัง SPDR ล่าสุด กราฟราคาทองคำ วิเคราะห์ ราคาทอง ข่าว ราคาทองคำ ข่าว ราคาน้ำมัน

โบรคเกอร์ Forex

XM Exness FBS Nordfx Land-FX Admiral Markets

Tickmill