Discussion of article "Universal Expert Advisor: Integration with Standard MetaTrader Modules of Signals (Part 7)" - page 2

 
Vasiliy Sokolov:
In this case, majics are oredemands of CExpert, from which the signal itself is inherited. The signal does not need it, at least in CStrategy, because it does not place pending orders. However, some magic is specified just in case.

I.e. is the magick used the one that is passed when initialising a CStrategy instance? After all, the CTrade class also needs a valid mageq to work.

P.S. Another question: "In the pictures you show indicator signals (arrows), or highlighted bars where the signal came. Is this how the built-in signal classes work (with drawing)? Or is it manual drawing?" Why I ask? - In my libraries (for MT4) signals are drawn, and there is also a setting "how many bars in a row the signal is checked for".

 
Гога:

I.e. the magick is used the one that is passed during initialisation of CStrategy instance? After all, for CTrade class to work, a valid magick is also needed.

P.S. Another question: "In the pictures you show indicator signals (arrows), or highlighted bars where the signal came. Is this how the built-in signal classes work (with drawing)? Or is it manual drawing?" Why I ask? - In my libraries (for MT4) signals are drawn, and there is also a setting "how many bars in a row the signal is checked for".

No, these arrows are not signals, but strategy tester arrows. This is how it shows opening or closing of positions. If you mean the arrows in Figure 3, it is just a drawing design.
 
Vasiliy Sokolov:
In this case, majics are oredemands of CExpert, from which the signal itself is inherited. The signal does not need it, at least in CStrategy, because it does not place pending orders. However, some kind of magic is specified just in case.

I repeat my question: "So the magic is used that is passed when initialising a CStrategy instance? After all, the CTrade class also needs a valid magick to work."

P.S. Check your mail.

 
Гога:

I repeat the question: "So the magick is used that is passed when initialising a CStrategy instance? After all, CTrade class also needs a valid magick to work."

P.S. Check your mail.

Yes, the magick that is passed to CStrategy is used. Other interdicts are not used, although they are used to fill the signal.
 

It is possible to combine patterns. For example, to use pattern #3 together with pattern #2, you need to make a bit field, the fourth and third digits of which would be equal to one: 1010.

Is there a typo here or not?

 
newnek:

It is possible to combine patterns. For example, to use pattern #3 together with pattern #2, you need to make a bit field, the fourth and third digits of which would be equal to one: 1010.

Is there a typo here or not?

Yes, indeed, there is a typo. Corrected to:

For example, to use pattern #3 in conjunction with pattern #2, you would need to compose a bitfield whose fourth and third digits would equal one: 1100. The same value in decimal format would be the number 12.

 

Thank Vasiliy for your contribution. I learned a lot. I downloaded all the code but it has a compiling error in file Panel.mqh:

'At' - object pointer expected Panel.mqh 210 39

'At' - object pointer expected Panel.mqh 228 37

Can you please check it? 

 

 

Can't get it to compile....

'CSeries' - identifier already used     Series.mqh      18      7
see previous declaration of 'CSeries    Series.mqh      11      7
'm_symbol' - struct member already defined      Series.mqh      25      22
'CSeries' - member function already defined     Series.mqh      32      22
'~CSeries' - member function already defined    Series.mqh      33      22
'~CSeries' - member function not defined        Series.mqh      72      11


 

Nice work! Your tutorials are great.

But I'm having trouble to compile StrategySignals.mq5. Follows the log of errors:

cannot cast 'DoubleValue' to 'ULongValue' Dictionary.mqh 226 14

cannot cast 'DoubleValue' to 'ULongValue' Dictionary.mqh 226 14

 
igorsds:

Nice work! Your tutorials are great.

But I'm having trouble to compile StrategySignals.mq5. Follows the log of errors:

cannot cast 'DoubleValue' to 'ULongValue' Dictionary.mqh 226 14

cannot cast 'DoubleValue' to 'ULongValue' Dictionary.mqh 226 14

In line 226 of Dictionary.mqh, I replaced:

lValue=(ULongValue)dValue;

for

lValue.value=(ulong)dValue.value;

I guess it's OK now.