You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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, this functionality is not available as a standard feature.
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.
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?
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?
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).
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 ?