Not OrderModify(ticket,ticket...)
if( Digits == 3 || Digits == 5 ) { Stop *= 10; TP *= 10;
Don't to that. Init can be called multiple times (refresh, change period/pair) so TP becomes 10X 100X...
Also you must modify TP, SL, and slippage.
//++++ These are adjusted for 5 digit brokers. double pips2points, // slippage 3 pips 3=points 30=points pips2dbl; // Stoploss 15 pips 0.0015 0.00150 int Digits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips) int init(){ if (Digits == 5 || Digits == 3){ // Adjust for five (5) digit brokers. pips2dbl = Point*10; pips2points = 10; Digits.pips = 1; } else { pips2dbl = Point; pips2points = 1; Digits.pips = 0; } // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl

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
I wrote this simple gold script to set a stop and tp on gold at Alpari for an open long position. I set the values to 1,000 pips away - it still won't let me set, even though it will allow me to set the same values manually. How do I fix this?