Because the price your broker provieded maybe 5 or 4 digits. So the point maybe 0.00001 or 0.0001.
And You can use the following commands:
int OnInit() { int mydigit=1; if (_Digits== 3 || _Digits == 5 ) mydigit=10; } ... int stoploss=StopLoss*mydigit; int takeprofit=TakeProfit*mydigit;
Hello folks I have the following sample code taken from internet...
I would like to know why the StopLoss value is oftently given like that?
I think should be better, say something like (for a buy order): if the stop loss will be 100 pips, then:
Is there some convention to deal with that nomenclature?
Thanks in advance, Cyberglassed.
It's an input for the user to set . . . this would be better, try it . . .
input int StopLoss = 1000; // How many points for the SL ? input int TakeProfit = 1000; // How many points for the TP ?
double sl = StopLoss * Point();
request.sl = positionOpenPrice - (StopLoss * _Point); request.tp = positionOpenPrice + (TakeProfit * _Point);
You buy at the Ask and sell at the Bid. Pending Buy Stop orders become market orders when hit and open at the Ask.
-
Your buy order's TP/SL (or Sell Stop's/Sell Limit's entry) are triggered when the Bid / OrderClosePrice reaches it. Using Ask±n, makes your SL shorter and your TP longer, by the spread. Don't you want the specified amount used in either direction?
-
Your sell order's TP/SL (or Buy Stop's/Buy Limit's entry) will be triggered when the Ask / OrderClosePrice reaches it. To trigger close to a specific Bid price, add the average spread.
MODE_SPREAD (Paul) - MQL4 programming forum - Page 3 #25 -
The charts show Bid prices only. Turn on the Ask line to see how big the spread is (Tools → Options (control+O) → charts → Show ask line.)
Most brokers with variable spreads widen considerably at end of day (5 PM ET) ± 30 minutes. My GBPJPY shows average spread = 26 points, but average maximum spread = 134 (your broker will be similar).

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello folks I have the following sample code taken from internet...
I would like to know why the StopLoss value is oftently given like that?
I think should be better, say something like (for a buy order): if the stop loss will be 100 pips, then:
Is there some convention to deal with that nomenclature?
Thanks in advance, Cyberglassed.