trailing SL & TP

 
hi everybody, I am a newbee, I am trying to create a EA. But when i TEST the EA its looks like the trailing SL & TP is not working. I had attached the program here. will someone please help me to activate it. Please guide me for setting it. Also please let me know about your valueable comments about the settings which i did. Thankyou.
//+------------------------------------------------------------------+
//|                                                       sukran.mq5 |
//|                                                          chozhan |
//|                                          hello.vijay78@gmail.com |
//+------------------------------------------------------------------+
#property copyright "chozhan"
#property link      "hello.vijay78@gmail.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\Signal\SignalMA.mqh>
#include <Expert\Signal\SignalRSI.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingFixedPips.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string             Expert_Title                  ="sukran";    // Document name
ulong                    Expert_MagicNumber            =11457;       // 
bool                     Expert_EveryTick              =false;       // 
//--- inputs for main signal
input int                Signal_ThresholdOpen          =30;          // Signal threshold value to open [0...100]
input int                Signal_ThresholdClose         =30;          // Signal threshold value to close [0...100]
input double             Signal_PriceLevel             =0.0;         // Price level to execute a deal
input double             Signal_StopLevel              =200.0;        // Stop Loss level (in points)
input double             Signal_TakeLevel              =200.0;        // Take Profit level (in points)
input int                Signal_Expiration             =10;           // Expiration of pending orders (in bars)
input int                Signal_0_MA_PeriodMA          =8;          // Moving Average(12,0,...) Period of averaging
input int                Signal_0_MA_Shift             =0;           // Moving Average(12,0,...) Time shift
input ENUM_MA_METHOD     Signal_0_MA_Method            =MODE_SMA;    // Moving Average(12,0,...) Method of averaging
input ENUM_APPLIED_PRICE Signal_0_MA_Applied           =PRICE_CLOSE; // Moving Average(12,0,...) Prices series
input double             Signal_0_MA_Weight            =0.5;         // Moving Average(12,0,...) Weight [0...1.0]
input int                Signal_1_MA_PeriodMA          =50;          // Moving Average(58,0,...) Period of averaging
input int                Signal_1_MA_Shift             =0;           // Moving Average(58,0,...) Time shift
input ENUM_MA_METHOD     Signal_1_MA_Method            =MODE_SMA;    // Moving Average(58,0,...) Method of averaging
input ENUM_APPLIED_PRICE Signal_1_MA_Applied           =PRICE_CLOSE; // Moving Average(58,0,...) Prices series
input double             Signal_1_MA_Weight            =0.8;         // Moving Average(58,0,...) Weight [0...1.0]
input int                Signal_RSI_PeriodRSI          =8;           // Relative Strength Index(8,...) Period of calculation
input ENUM_APPLIED_PRICE Signal_RSI_Applied            =PRICE_CLOSE; // Relative Strength Index(8,...) Prices series
input double             Signal_RSI_Weight             =0.8;         // Relative Strength Index(8,...) Weight [0...1.0]
//--- inputs for trailing
input int                Trailing_FixedPips_StopLevel  =50;          // Stop Loss trailing level (in points)
input int                Trailing_FixedPips_ProfitLevel=50;          // Take Profit trailing level (in points)
//--- inputs for money
input double             Money_FixLot_Percent          =0.0;         // Percent
input double             Money_FixLot_Lots             =0.02;        // 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 CSignalMA
   CSignalMA *filter0=new CSignalMA;
   if(filter0==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter0");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter0);
//--- Set filter parameters
   filter0.PeriodMA(Signal_0_MA_PeriodMA);
   filter0.Shift(Signal_0_MA_Shift);
   filter0.Method(Signal_0_MA_Method);
   filter0.Applied(Signal_0_MA_Applied);
   filter0.Weight(Signal_0_MA_Weight);
//--- Creating filter CSignalMA
   CSignalMA *filter1=new CSignalMA;
   if(filter1==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter1");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter1);
//--- Set filter parameters
   filter1.PeriodMA(Signal_1_MA_PeriodMA);
   filter1.Shift(Signal_1_MA_Shift);
   filter1.Method(Signal_1_MA_Method);
   filter1.Applied(Signal_1_MA_Applied);
   filter1.Weight(Signal_1_MA_Weight);
//--- Creating filter CSignalRSI
   CSignalRSI *filter2=new CSignalRSI;
   if(filter2==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter2");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter2);
//--- Set filter parameters
   filter2.PeriodRSI(Signal_RSI_PeriodRSI);
   filter2.Applied(Signal_RSI_Applied);
   filter2.Weight(Signal_RSI_Weight);
//--- Creation of trailing object
   CTrailingFixedPips *trailing=new CTrailingFixedPips;
   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.StopLevel(Trailing_FixedPips_StopLevel);
   trailing.ProfitLevel(Trailing_FixedPips_ProfitLevel);
//--- 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();
  }
//+------------------------------------------------------------------+

 
hellovijay78:
hi everybody, I am a newbee, I am trying to create a EA. But when i TEST the EA its looks like the trailing SL & TP is not working. I had attached the program here. will someone please help me to activate it. Please guide me for setting it. Also please let me know about your valueable comments about the settings which i did. Thankyou.

They work. And I didn't do anything.


 
Seng Joo Thio:

They work. And I didn't do anything.


But how can i check that. will you please guide me how did you checked this... please
 
hellovijay78:
But how can i check that. will you please guide me how did you checked this... please

I'm not sure whether you mean (1) "how to see that list?" or (2) "how to see from that list that there are trailing SL and TP?"

For (1), you choose Debug->Start on History Data in your mql editor. After it's done running, just go to terminal and look at the "operations" tab.

For (2), you can see that under each ticket number, there are varying number of lines, each representing updates to SL and TP after the order has opened. So if there are no trailing SL and TP, there won't be so many updates.

 
Seng Joo Thio:

I'm not sure whether you mean (1) "how to see that list?" or (2) "how to see from that list that there are trailing SL and TP?"

For (1), you choose Debug->Start on History Data in your mql editor. After it's done running, just go to terminal and look at the "operations" tab.

For (2), you can see that under each ticket number, there are varying number of lines, each representing updates to SL and TP after the order has opened. So if there are no trailing SL and TP, there won't be so many updates.

Yes!!!! I found that. It was so impressive!!! Really awesome!!! it works same like a live trade. i can able to observe the function of my EA clearly, And able to find flaws and success very clear. Thankyou verymuch for your kind informations. May god bless you.
Reason: