Hello
Test this code and tell me if it meets your login requirements so that I can continue
extern int MA_slow = 50; extern int MA_fast = 21; int count= Bars; void OnTick() { if(count!=Bars) { if(Close[1]<iMA(NULL,0,MA_slow,0,MODE_SMA,PRICE_MEDIAN,0)&&Close[1]<iMA(NULL,0,MA_fast,0,MODE_SMA,PRICE_MEDIAN,0)) { if(Open[2]<Close[2]&&Close[1]<Open[2]) { OrderSend(Symbol(),OP_SELL,1,Bid,3,Bid+(100*Point),Bid-(300*Point),NULL,8585,0,clrRed); } } if(Close[1]>iMA(NULL,0,MA_slow,0,MODE_SMA,PRICE_MEDIAN,0)&&Close[1]>iMA(NULL,0,MA_fast,0,MODE_SMA,PRICE_MEDIAN,0)) { if(Open[2]>Close[2]&&Close[1]>Open[2]) { OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-(100*Point),Ask+(300*Point),NULL,9595,0,clrBlue); } } count= Bars; } }
//+------------------------------------------------------------------+ //| ProjectName | //| Copyright 2018, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ extern int MA_fast = 21; extern int MA_slow = 50; extern double RiskPerTrade = 0.01; extern int MagicBuy = 9595; extern int MagicSell = 8585; int count= Bars; void OnTick() { if(count!=Bars) { if(Close[1]<iMA(NULL,0,MA_slow,0,MODE_SMA,PRICE_MEDIAN,0)&&Close[1]<iMA(NULL,0,MA_fast,0,MODE_SMA,PRICE_MEDIAN,0)) { if(Open[2]<Close[2]&&Close[1]<Open[2]) { if(OrdersTotal()==0) { OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,MagicSell,0,clrRed); } else if(OrdersTotal()!=0) { for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderMagicNumber()==MagicBuy) { OrderClose(OrderTicket(),OrderLots(),Bid,3,clrNONE); OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,MagicSell,0,clrRed); } } } } } } if(Close[1]>iMA(NULL,0,MA_slow,0,MODE_SMA,PRICE_MEDIAN,0)&&Close[1]>iMA(NULL,0,MA_fast,0,MODE_SMA,PRICE_MEDIAN,0)) { if(Open[2]>Close[2]&&Close[1]>Open[2]) { if(OrdersTotal()==0) { OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,NULL,MagicBuy,0,clrBlue); } else if(OrdersTotal()!=0) { for(int j=OrdersTotal()-1;j>=0; j--) { if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)) { if(OrderMagicNumber()==MagicSell) { OrderClose(OrderTicket(),OrderLots(),Ask,3,clrNONE); OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,NULL,MagicBuy,0,clrBlue); } } } } } } count= Bars; } } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+
And...
.
.
.
.
In the tester strategy
Test in different time frames and different currencies
OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-(100*Point),Ask+(300*Point),NULL,9595,0,clrBlue);
You buy at the Ask and sell at the Bid. Pending Buy Stop orders become market orders when hit by 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 at a specific Bid price, add the average spread.
MODE_SPREAD (Paul) - MQL4 programming forum - Page 3 #25 -
Prices (open, SL, and TP) must be a multiple of ticksize. Using Point means code breaks on 4 digit brokers (if any still exists), exotics (e.g. USDZAR where spread is over 500 points), and metals. Compute what a logical PIP is and use that, not points.
How to manage JPY pairs with parameters? - MQL4 programming forum (2017)
Slippage defined in index points - Expert Advisors and Automated Trading - MQL5 programming forum (2018) -
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, average maximum spread = 134.
My EURCHF shows average spread = 18 points, average maximum spread = 106.
(your broker will be similar).
Is it reasonable to have such a huge spreads (20 PIP spreads) in EURCHF? - General - MQL5 programming forum (2022)

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
2.Must be tuch fast MA ( period 21 method liniar)
3. One candle.