Dimitri, you said you weren't a writer! But you are! Congratulations on a pleasant start. It's nice to realise that you started with a small material, even if it is not so voluminous, the main thing is to start, and there as it goes will be longer and longer to gain experience through your articles and / or from other writers.
Thank you for your attention.
Dimitri, you said you weren't a writer! But you are! Congratulations on a pleasant start. It's nice to realise that you started with a small material, even if it is not so voluminous, the main thing is to start, and there as it goes will be longer and longer to gain experience through your articles and / or from other writers.
Thank you for your time.
iMA_handle=iMA("EURUSD",PERIOD_H1,40,0,MODE_SMA,PRICE_CLOSE); //connect the indicator and get its handle ....... ChartIndicatorAdd(ChartID(),0,iMA_handle); // add the indicator to the price chartIt doesn't work like that. But if you remove the symbol and the time, everything is OK.
iMA_handle=iMA(NULL,0,40,0,MODE_SMA,PRICE_CLOSE);
It doesn't work like that. But if you remove the symbol and time, everything is OK.
If you test on EURUSD and hour timeframe, everything will work.
On the other hand, you have found the problem and solved it yourself using the help (maybe), what is not a plus?
Thank you, the article has been corrected.
some small questions:
1 what happen or rehappen when time-period of chart changed during runing?
2 ima_handle defined at OnInit(), iMA_handle=iMA("EURUSD",PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE);
is it possible to change this handle's parameters dynamic by programself like change PERIOD_H1,10 to PERIOD_M15, 39 during runing?
3 what is deal?
Congratulations!
Extremelly simple, well-written code... I think by doing reference to the library, you did in few lines what I did in almost 100 (only to open long and close long positions).
I refer specially to these lines:
if(m_Position.Select(my_symbol)) //if the position for this symbol already exists
{
if(m_Position.PositionType()==POSITION_TYPE_SELL) m_Trade.PositionClose(my_symbol); //and this is a Sell position, then close it
if(m_Position.PositionType()==POSITION_TYPE_BUY) return; //or else, if this is a Buy position, then exit
}
m_Trade.Buy(0.1,my_symbol); //if we got here, it means there is no position; then we open it
}
if(iMA_buf[1]<Close_buf[1] && iMA_buf[0]>Close_buf[0]) //if the indicator values were less than the closing price and became greater
{
if(m_Position.Select(my_symbol)) //if the position for this symbol already exists
{
if(m_Position.PositionType()==POSITION_TYPE_BUY) m_Trade.PositionClose(my_symbol); //and this is a Buy position, then close it
if(m_Position.PositionType()==POSITION_TYPE_SELL) return; //or else, if this is a Sell position, then exit
}
m_Trade.Sell(0.1,my_symbol); //if we got here, it means there is no position; then we open it
}
The only thing I missed may be a command to trade only when a new bar appears. There was a discussion in: www.mql5.com/en/forum/5762
I use the following code, posted there by mogplus8:
static int LastBarCount=0;
if(Bars(_Symbol,_Period)>LastBarCount)
LastBarCount=Bars(_Symbol,_Period);
else
return;
I am somewhat puzzled about your statement about Trades.
The trades presentted in the article is very close to "seals" in artiel http://mqlmagazine.com/leading-article/orders-positions-and-deals-part-i/. Are they the same thing ? what are their differences?
By the way, in the linked page, the author do states: Each order placed in the market is a trade itself, with its own result, independent of the others.
I paste the words here just to clarify the possible misconceptions to those who paid attention to the comments.
thanks you.
- mqlmagazine.com

- 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 A Quick Start Or a Short Guide for Beginners is published:
Hello dear reader! In this article, I will try to explain and show you how you can easily and quickly get the hang of the principles of creating Expert Advisors, working with indicators, etc. It is beginner-oriented and will not feature any difficult or abstruse examples.
Author: Дмитрий