Questions on MQL5 Wizard and standard library of trading classes - page 14

 
For example, let's look at the MACD signals. A total of 5 buy signals and 5 sell signals are described (reversal, crossing with the signal line, etc.). Is there any way to get the value of these signals at any given time? I.e., form a vector of 10 elements for each bar, where each element corresponds to the signal, 1 indicates its presence, and 0 - absence? Which CSignalMACD class method can be used to obtain the corresponding values?
 
IvanSD:

For example, let's look at the MACD signals. A total of 5 buy signals and 5 sell signals are described (reversal, crossing with the signal line, etc.). Is there any way to get the value of these signals at any given time? I.e., form a vector of 10 elements for each bar, where each element corresponds to the signal, 1 indicates its presence, and 0 - absence? What CSignalMACD class method can be used to obtain the corresponding values?
Unfortunately, there is no such functionality in the standard delivery.
 
uncleVic:
Unfortunately, this functionality is not available as a standard feature.
Thank you for your reply!
 

Hello, help me out here. I have created a robot (my first robot). Immediately after starting it shuts down with message Expert initializing of robot (EURUSD,H1) failed. I can`t find more information about it.

Here is his code:

--------------------------------------

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

//| robot.mq5 |

//| Copyright 2012, MetaQuotes Software Corp. |

//| http://www.mql5.com |

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

#property copyright "Copyright 2012, MetaQuotes Software Corp.

#property link "http://www.mql5.com"

#property version "1.00"

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

//| Include |

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

#include <Expert\Expert.mqh>

//--- available signals

#include <Expert\robot\robot.mqh>

//--- available trailing

#include <Expert\Trailing\TrailingNone.mqh>

//--- available money management

#include <Expert\Money\MoneyFixedLot.mqh>

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

//| Inputs |

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

//--- inputs for expert

input string Expert_Title ="robot"; // Document name

ulong Expert_MagicNumber =24553; //

bool Expert_EveryTick =false; //--- inputs for main signal

//--- 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_MaCross_FastPeriod=13; // My_MA_Cross(13,MODE_SMA,21,...) Period of fast MA

input ENUM_MA_METHOD Signal_MaCross_FastMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Method of fast MA

input int Signal_MaCross_SlowPeriod=21; // My_MA_Cross(13,MODE_SMA,21,...) Period of slow MA

input ENUM_MA_METHOD Signal_MaCross_SlowMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Method of slow MA

input double Signal_MaCross_Weight =1.0; // My_MA_Cross(13,MODE_SMA,21,...) Weight [0...1.0]

//--- inputs for money

input double Money_FixLot_Percent =10.0; // Percent

input double Money_FixLot_Lots =0.1; // Fixed volume

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

//| Global expert object |

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

CExpert ExtExpert;

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

//| Initialisation 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(-1);

}

//--- Creating signal

CExpertSignal *signal=new CExpertSignal;

if(signal==NULL)

{

//--- failed

printf(__FUNCTION__+": error creating signal");

ExtExpert.Deinit();

return(-2);

}

//---

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 MA_Cross

MA_Cross *filter0=new MA_Cross;

if(filter0==NULL)

{

//--- failed

printf(__FUNCTION__+": error creating filter0");

ExtExpert.Deinit();

return(-3);

}

signal.AddFilter(filter0);

//--- Set filter parameters

filter0.FastPeriod(Signal_MaCross_FastPeriod);

filter0.FastMethod(Signal_MaCross_FastMethod);

filter0.SlowPeriod(Signal_MaCross_SlowPeriod);

filter0.SlowMethod(Signal_MaCross_SlowMethod);

filter0.Weight(Signal_MaCross_Weight);

//--- Creation of trailing object

CTrailingNone *trailing=new CTrailingNone;

if(trailing==NULL)

{

//--- failed

printf(__FUNCTION__+": error creating trailing");

ExtExpert.Deinit();

return(-4);

}

//--- Add trailing to expert (will be deleted automatically))

if(!ExtExpert.InitTrailing(trailing))

{

//--- failed

printf(__FUNCTION__+": error initializing trailing");

ExtExpert.Deinit();

return(-5);

}

//--- Set trailing parameters

//--- Creation of money object

CMoneyFixedLot *money=new CMoneyFixedLot;

if(money==NULL)

{

//--- failed

printf(__FUNCTION__+": error creating money");

ExtExpert.Deinit();

return(-6);

}

//--- Add money to expert (will be deleted automatically))

if(!ExtExpert.InitMoney(money))

{

//--- failed

printf(__FUNCTION__+": error initializing money");

ExtExpert.Deinit();

return(-7);

}

//--- 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(-8);

}

//--- Tuning of all necessary indicators

if(!ExtExpert.InitIndicators())

{

//--- failed

printf(__FUNCTION__+": error initializing indicators");

ExtExpert.Deinit();

return(-9);

}

//--- ok

return(0);

}

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

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

}

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

What could be the problem. I don't even know where to look first.

Thanks in advance.

Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
pasha191:

Hello, help me out here. I created a robot (my first robot). Immediately after starting it shuts down with message Expert initializing of robot (EURUSD,H1) failed. I can`t find more information about it.


I don't have enough information.

Need

#include <Expert\robot\robot.mqh>

I need startup parameters (tester/terminal, server, pair, timeframe, etc.)

PS The source code is better to attach as a file

 

Questions on MQL5 Wizard:

1) //--- inputs for money
input double Money_FixLot_Percent =10.0; // Percent
input double Money_FixLot_Lots =0.1; // Fixed volume
What do these parameters mean? And how are they related?

2) Can I generate an EA which will place pending orders? If so, how?

3) What does Signal_Expiration variable mean? How do I use it?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
evrika:

Questions on MQL5 Wizard:

1) //--- inputs for money
input double Money_FixLot_Percent =10.0; // Percent
input double Money_FixLot_Lots =0.1; // Fixed volume
What do these parameters mean? And how are they related?

2) Can I generate an EA which will place pending orders? If so, how?

3) What does Signal_Expiration variable mean? How to use it?

1) The Money_FixLot_Percent parameter is used to set the "forced stop" level. Do not touch it.

The Money_FixLot_Lots parameter sets a fixed volume (lot), with which your Expert Advisor will enter the market.

These parameters are not interrelated in any way.

2) Any Expert Advisor generated by the Wizard can trade pending orders. For this purpose the ..._PriceLevel parameter is used. Depending on the value of this parameter, the Expert Advisor will behave as follows:

0 - market entry will be at the current price;

>0 - market entry will be done using pending limit orders (better than the current price by the value of this parameter);

<0 - market entry will be made using pending Stop orders (worse than the current price by the parameter's value);

3) The Signal_Expiration parameter sets the lifetime of a pending order (in bars of current timeframe).

 

If I generate an EA in MQL5 Wizard, how many orders can such an EA open simultaneously? How is this regulated?

Собери свой торговый советник в Мастере MQL5
Собери свой торговый советник в Мастере MQL5
  • 2011.01.14
  • MetaQuotes Software Corp.
  • www.mql5.com
Знание языков программирования теперь не является обязательным условием для создания торговых роботов. Если раньше это действительно служило непроходимым препятствием для реализации своих торговых стратегий, то появление Мастера MQL5 в корне изменило ситуацию. Начинающие трейдеры могут перестать тревожиться из-за отсутствия опыта программирования - с новым визардом, позволяющим быстро генерировать код советника, он не понадобится.
 
evrika:

If I generate an EA in MQL5 Wizard, how many orders can such an EA open simultaneously? How is this controlled?

1 order. It is not regulated.

The Wizard is designed for strategy testing. If you want more, you need to "file" (write by hand).

 
uncleVic:

2) Any EA generated by the Wizard can trade pending orders. For this purpose the ..._PriceLevel parameter is used. Depending on the value of this parameter, the Expert Advisor will behave as follows:

0 - market entry will be at the current price;

>0 - market entry will be done using pending limit orders (better than the current price by the value of this parameter);

<0 - market entry will be made using pending stop orders (worse than the current price by the parameter's value);

In what units is the PriceLevel parameter measured? In points? I.e., if I want to place a pending stop order 20 pips higher than the current price,

should I set this parameter PriceLevel =-0.0020 ?

Reason: