ticket = OrderSend(Symbol(), OP_BUY, lotsize(),Ask,5, SLBuy, Ask + ATR, "Raymond's Buy trend VERS 5.0",Magic_Number,0,Blue); ⋮ ticket = OrderSend(Symbol(), OP_SELL, lotsize(),Bid,5,SLSell , Bid - ATR, "Raymond's Buy trend VERS 5.0",Magic_Number,0,Blue);
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).
double SLBuy = Ask - Stoploss; double SLSell = Bid - Stoploss;The SL for a buy is below the market. For a sell it is above.
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).
What part of “You buy at the Ask and sell at the Bid.” was unclear?
I am fixed into this and now , it is only sell :(
double SLBuy = Bid - Stoploss*_Point; double SLSell = Ask + Stoploss*_Point; double ATR = 3*atr; if(ema1 > ema2 && (ema1-lastEma1>0)&& (ema2-lastEma2>0)&& CountBuyPosition() <1){ ticket = OrderSend(Symbol(), OP_BUY, lotsize(),Bid,5, SLBuy, Bid + ATR, "Raymond's Buy trend VERS 5.0",Magic_Number,0,Blue); if(ticket > 0){ if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)){ Print("BUY Order Opened: ", OrderOpenPrice(), " SL:", SLBuy, " TP: ", Bid + ATR);} }} else Print("Error Opening BUY Order: ", GetLastError()); if(ema1 < ema2 && (lastEma1-ema1>0)&& (lastEma2-ema2>0) && CountSellPosition() <1){ ticket = OrderSend(Symbol(), OP_SELL, lotsize(),Bid,5,SLSell , Bid - ATR, "Raymond's Buy trend VERS 5.0",Magic_Number,0,Blue); if(ticket > 0){ if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)){ Print("Sell Order Opened: ", OrderOpenPrice(), " SL:",SLSell, " TP: ", Bid - ATR); }} else Print("Error Opening BUY Order: ", GetLastError()); }
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use