Select the required order before using
OrderOpenPrice()
-
Play videoPlease edit your post.
For large amounts of code, attach it.
if((TotalOrdersCount()==0) && (ThisBarTrade!=Bars))
Bars is unreliable (a refresh/reconnect can change number of bars on chart) volume is unreliable (miss ticks) Always use time. New candle - MQL4 forumresultado=OrderSend( Symbol(), OP_BUY, Lots, Ask, Slippage, Ask-(StopLoss/10000), Ask+(TakeProfit/10000), "Edge", MagicNumber, 0, Blue);
Don't hard code numbers. "/10000" is the same as "*Point" except on JPY and non-currencies.- You buy at the Ask, so your stops are relative to the Bid.
- Check your return codes (OrderSend and OrderSelect)
What are Function return values ? How do I use them ? - MQL4 forum and Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles
- OrderOpenPrice assumes the value of the opening of the last order , even if it is different chart .Mt4 doesn't assume anything. Your TotalOrdersCount() last selected an order with the highest position.
if(TotalOrdersCount()>0){ if((operacao==1)&&(Ask<(OrderOpenPrice()-((StopLoss/10000)/2)))&&(OrderSymbol()==Symbol())) // compensação de perdas na compra
Like GumRai said, you can't use any Trade Functions - MQL4 Reference until you select an order.
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
Hello Initially desculpelo for bad English.
It occurs that when EA is running on more than one chart.
the OrderOpenPrice assumes the value of the opening of the last order , even if it is different chart . Can anyone tell me how to EA interpret the data within a single chart ?
Thanks