Discussion of article "Writing an Expert Advisor using the MQL5 Object-Oriented Programming approach"
Hi thanks for the well laid out example.
But I have to ask is it right?
In the EA it is checking for a trade opportunity at the start of each new bar.
In the class function getbuffers() it retrieves the last 3 bars data starting at the current bar 0 which has only just been formed and therefore the value is errornous.
void MyExpert::getBuffers()
{
if(CopyBuffer(ADX_handle,0,0,3,ADX_val)<0 || CopyBuffer(ADX_handle,1,0,3,plus_DI)<0
|| CopyBuffer(ADX_handle,2,0,3,minus_DI)<0 || CopyBuffer(MA_handle,0,0,3,MA_val)<0)
Should it not be retrieving the last 3 bars indicator data starting at position 1?
thanks
Amazing article! I did not read entire thing yet, but already I can say that it is much much more helpful than
anything I have seen thus far. Thank you so very much :-)
Spencer
if(base_currency=="USD")
{
one_lot_price=contract_size/levrage;
}
else
{
double bprice= SymbolInfoDouble(symbol,SYMBOL_BID);
one_lot_price=bprice*contract_size/levrage;
}
Marvelous thread. thank you very much.
There is some math mistakes.
assume the pair is cadchf??
also you assume constant leverage for all symbols. most brokers have different leverages for some pairs.
\any way the correct rule for any pair for the margin of 1 lots is Margin in account currenct is: C*Lots*YYYDDD
YYY is the base currency, DDD: Domination currency\
things will go fine with you until you reach CADCHF for example\
YYYDDD = CADUSD. --------------- not USDCAD is whown in the Marketwacth\\\
so you have to add third condition else-if
C=ContractSize/PairLeverage
Thanks @Samuel Olowoyo for this amazing article. Although this article is written 10 yrs back but it still hold ground for budding EA coders.
Are you still active on MQL5? I can only see 4 articles published by you (all published in 2010)

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
New article Writing an Expert Advisor using the MQL5 Object-Oriented Programming approach is published:
Author: Samuel