ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-30,Bid+30,"macd sample",16383,0,Green);if bid = 1.30 your stoploss would be - 28.70 Trie
Bid - 30*Point
Thanks for your reply. I got what you mean. I made that mistake during revising the code. However, this is not the real problem at. I changed the code to this, and print out the SL and TP at the error, the print out is :
2012.03.15 09:39:42 MACD Sample EURUSD,M1: Error opening BUY order : 130 Ask: 1.3011 SL: 1.2996 TP: 1.3026
if(MacdCurrent<0 /*&& MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious*/) { SL=Ask-TakeProfit*Point; TP=Ask+TakeProfit*Point; ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"macd sample",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()," Ask: ",Ask," SL: ",SL," TP: ",TP); return(0); } // check for short position (SELL) possibility if(MacdCurrent>0 /*&& MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious*/) { SL=Bid+TakeProfit*Point; TP=Bid-TakeProfit*Point; ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"macd sample",16384,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()," Bid: ",Bid," SL: ",SL," TP: ",TP); return(0); } return(0);
I got it. My broker does not accept SL and TP with OrderSend function. Has to be mod later.
This is not specified by the broker or the documentation. STRONGLY recommend this to be noted in the doc.
Thanks for your reply. I got what you mean. I made that mistake during revising the code. However, this is not the real problem at. I changed the code to this, and print out the SL and TP at the error, the print out is :
2012.03.15 09:39:42 MACD Sample EURUSD,M1: Error opening BUY order : 130 Ask: 1.3011 SL: 1.2996 TP: 1.3026
Your broker could be ECN and then you're not allowed to place new trades with directly set Stoploss and TakeProfit setting
Here https://www.mql5.com/en/code/10317 you find an example how to deal with that
Thanks for your reply. I got what you mean. I made that mistake during revising the code. However, this is not the real problem at. I changed the code to this, and print out the SL and TP at the error, the print out is :
2012.03.15 09:39:42 MACD Sample EURUSD,M1: Error opening BUY order : 130 Ask: 1.3011 SL: 1.2996 TP: 1.3026SL=Ask-TakeProfit*Point; TP=Ask+TakeProfit*Point; ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"macd sample",16384,0,Green);
- Not adjusting for 4/5 digit broker, tp, sl, AND slippage.
- Not adjusting for ECN
- You BUY at the ASK, your stops are relative to the BID.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi, I'm new to MT4 and I need some help with Error 130. I'm trying to use a very simple code to test how MT4 works with my broker (Forex.com). However, I'm stuck at the Error 130 for my EA. I tried to change the SL and TP, but it doesn't help. I also checked the STOPLEVEL for my broker is 10. But no matter what I change the number to, it always tells me Error 130. Here is the code. I know the code looks retarded, it's because I modified only to debug the error. Please help!