traderider forex ไทย

รบกวนผู้รู้ อยากแก้ไข code การเข้าออเดอร์ ครับ รบกวนด้วยนะครับ

  • 3 replies
  • 135 views

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

รบกวนผู้รู้ครับ ผมมือใหม่เรื่อง EA พอดีลองสร้างใน mql5 wizard แบบที่ใส่สำเร็จเลย โดยใช้ Signals of the Oscillator MACD เป็นตัวกำหนดเข้าออเดอร์ แต่ผมเข้าไปดูเงื่อนไขในการเข้าออเดอร์ ในการเวบ https://www.mql5.com/en/docs/standardlibrary/expertclasses/csignal/signal_macd
ซึ่งผมทดลองรันแล้วก็ตรง แต่ผมอยากตัดเงื่อนไขในการเข้าออเดอร์บางตัว แต่ผมหาใน code ไม่เจอครับ เลยขอรบกวนผู้รู้ช้วยหน่อยครับ

//+------------------------------------------------------------------+
//|                                                 test macd v2.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\Signal\SignalMACD.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingMA.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string             Expert_Title            ="test macd v2"; // Document name
ulong                    Expert_MagicNumber      =20508;          //
bool                     Expert_EveryTick        =false;          //
//--- inputs for main signal
input int                Signal_ThresholdOpen    =10;             // Signal threshold value to open [0...100]
input int                Signal_ThresholdClose   =10;             // Signal threshold value to close [0...100]
input double             Signal_PriceLevel       =0.0;            // Price level to execute a deal
input double             Signal_StopLevel        =50.0;           // Stop Loss level (in points)
input double             Signal_TakeLevel        =50.0;           // Take Profit level (in points)
input int                Signal_Expiration       =4;              // Expiration of pending orders (in bars)
input int                Signal_MACD_PeriodFast  =12;             // MACD(12,24,9,PRICE_CLOSE) Period of fast EMA
input int                Signal_MACD_PeriodSlow  =24;             // MACD(12,24,9,PRICE_CLOSE) Period of slow EMA
input int                Signal_MACD_PeriodSignal=9;              // MACD(12,24,9,PRICE_CLOSE) Period of averaging of difference
input ENUM_APPLIED_PRICE Signal_MACD_Applied     =PRICE_CLOSE;    // MACD(12,24,9,PRICE_CLOSE) Prices series
input double             Signal_MACD_Weight      =0.1;            // MACD(12,24,9,PRICE_CLOSE) Weight [0...1.0]
//--- inputs for trailing
input int                Trailing_MA_Period      =12;             // Period of MA
input int                Trailing_MA_Shift       =5;              // Shift of MA
input ENUM_MA_METHOD     Trailing_MA_Method      =MODE_SMA;       // Method of averaging
input ENUM_APPLIED_PRICE Trailing_MA_Applied     =PRICE_CLOSE;    // Prices series
//--- inputs for money
input double             Money_FixLot_Percent    =10.0;           // Percent
input double             Money_FixLot_Lots       =0.01;           // Fixed volume
//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initializing expert
   if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Creating signal
   CExpertSignal *signal=new CExpertSignal;
   if(signal==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//---
   ExtExpert.InitSignal(signal);
   signal.ThresholdOpen(Signal_ThresholdOpen);
   signal.ThresholdClose(Signal_ThresholdClose);
   signal.PriceLevel(Signal_PriceLevel);
   signal.StopLevel(Signal_StopLevel);
   signal.TakeLevel(Signal_TakeLevel);
   signal.Expiration(Signal_Expiration);
//--- Creating filter CSignalMACD
   CSignalMACD *filter0=new CSignalMACD;
   if(filter0==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter0");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter0);
//--- Set filter parameters
   filter0.PeriodFast(Signal_MACD_PeriodFast);
   filter0.PeriodSlow(Signal_MACD_PeriodSlow);
   filter0.PeriodSignal(Signal_MACD_PeriodSignal);
   filter0.Applied(Signal_MACD_Applied);
   filter0.Weight(Signal_MACD_Weight);
//--- Creation of trailing object
   CTrailingMA *trailing=new CTrailingMA;
   if(trailing==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add trailing to expert (will be deleted automatically))
   if(!ExtExpert.InitTrailing(trailing))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set trailing parameters
   trailing.Period(Trailing_MA_Period);
   trailing.Shift(Trailing_MA_Shift);
   trailing.Method(Trailing_MA_Method);
   trailing.Applied(Trailing_MA_Applied);
//--- Creation of money object
   CMoneyFixedLot *money=new CMoneyFixedLot;
   if(money==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add money to expert (will be deleted automatically))
   if(!ExtExpert.InitMoney(money))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set money parameters
   money.Percent(Money_FixLot_Percent);
   money.Lots(Money_FixLot_Lots);
//--- Check all trading objects parameters
   if(!ExtExpert.ValidationSettings())
     {
      //--- failed
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Tuning of all necessary indicators
   if(!ExtExpert.InitIndicators())
     {
      //--- failed
      printf(__FUNCTION__+": error initializing indicators");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- ok
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ExtExpert.Deinit();
  }
//+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   ExtExpert.OnTick();
  }
//+------------------------------------------------------------------+
//| "Trade" event handler function                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
   ExtExpert.OnTrade();
  }
//+------------------------------------------------------------------+
//| "Timer" event handler function                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   ExtExpert.OnTimer();
  }
//+------------------------------------------------------------------+

ไม่รู้อธิบายเข้าใจหรือป่าวนะ

Share Topic.

Follow Me.


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

ออฟไลน์ forcebewithyou

  • ****
  • 2,317
  • 75
  • Green PIPs Be With You

ตัดเงื่อนไขอะไรครับ

ลองอ่าน  article นี้ไม่รู้ว่าช่วยได้หรือเปล่านะ

https://www.mql5.com/en/articles/2540

https://www.mql5.com/en/docs/standardlibrary/expertclasses/expertbaseclasses/cexpertsignal

ลองดูตัวอย่างอันนี้
https://www.mql5.com/en/code/262

เดาว่าน่าจะใช้  Wizard เหมือนกันนะครับแล้วเอามาแก้ไข



ตัดเงื่อนไขอะไรครับ

ลองอ่าน  article นี้ไม่รู้ว่าช่วยได้หรือเปล่านะ

https://www.mql5.com/en/articles/2540

https://www.mql5.com/en/docs/standardlibrary/expertclasses/expertbaseclasses/cexpertsignal

ลองดูตัวอย่างอันนี้
https://www.mql5.com/en/code/262

เดาว่าน่าจะใช้  Wizard เหมือนกันนะครับแล้วเอามาแก้ไข

ขอบคุณมากครับ
อยากให้แค่ เส้น Main ตัดกับเส้น Signal แล้วเข้าออร์เดอร์อ่ะครับ แค่นั้นครับ
นอกนั้นไม่เอา แต่ดันหา Code ไม่เจอครับ ไม่รู้ว่าคือบรรทัดไหน

ขอบคุณมากครับ

*

ออฟไลน์ forcebewithyou

  • ****
  • 2,317
  • 75
  • Green PIPs Be With You

ลองดูไฟล์  Examples/MACD/MACD Sample.mq5    น่าจะเอามาแก้ไขให้ตรงกับที่ต้องการง่ายกว่านะครับ

Tags:
 

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

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

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

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

โบรคเกอร์ Forex

XM Exness FBS Nordfx Land-FX Admiral Markets

Tickmill