//if((STrN>=0 && npsd==Ask) if(STrN>=0 && npsd==Ask)
//for(i=1;i<=OrdersTotal();i++) for(int i=1;i<=OrdersTotal();i++)
Thank you so much.
I appreciate your care and thanks again for your precious help.
Best Regards
It Solved the problem but I didn't get the difference between the line you suggested and previous one.
I highlighted the unnecessary (
I highlighted the unnecessary (
I got that. it seems that I need glasses.
Thank you very much.
ticketBu1=OrderSend (symb,OP_BUY,inils,Bid,3,0,tp,NULL,CBmgc,0,clrNONE); 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 -
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
Hi
I am trying to write a very simple ea(with mql4) after about 8 years and it seems that I have severe problem and I should call myself a newbie again.
while testing the first part, I am facing "Unexpected Token" ERROR, I tried to find any missing ";" or parenthesis or any reserved word but I didn't find any.
I would be very grateful if someone help me fixing this error.
Thank you in advance for your care.
Regards
//+------------------------------------------------------------------+ //| My Test Expert.mq4 | //| Copyright © 2018,Hojjat Hemmat | //| http://www.HojjatHemmat.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018,Hojjat Hemmat" #property link "http://www.HojjatHemmat.com" extern double fst=100;//First Step extern double dm=1.00;//Distance Multipler extern double lsm=1.00;//Lot Size Multipler extern double inils=0.01;//Initial Lot Size extern int iBm=500;//Minimum Magic Number(even number 0,2,4,6,...) extern int iSm=501;//Minimum Magic Number(even number 0,2,4,6,...) extern int sl=9;//Slipage Pips static double sp=7;//Spread static double initAsk,initBid,tp,dp; static int CSmgc,CBmgc; static int ticket1,ticketBu1,o,error; static int STrN,BTrN; static string symb; static bool result, mgcexist; static double npbd,npbu,npsu,npsd; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- symb=Symbol(); sp = MarketInfo(symb,MODE_SPREAD); STrN=-1; BTrN=-1; return(0); } //+------------------------------------------------------------+ //| deinitialization function | //+------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------+ //| start function | //+------------------------------------------------------------+ int start() { //+------------------------------------------------------------+ //| Part 1: First Time Orders | //+------------------------------------------------------------+ if(STrN==-1) { initAsk=Ask; tp=Ask-fst*Point; CSmgc=iSm; ticketBu1=OrderSend (symb,OP_SELL,inils,Ask,3,0,tp,NULL,CSmgc,0,clrNONE); o=GetLastError(); if(o==0) STrN=STrN+1; else Print ("Error =",o); } if(BTrN==-1) { initBid=Bid; tp=Bid+fst*Point; CBmgc=iBm; ticketBu1=OrderSend (symb,OP_BUY,inils,Bid,3,0,tp,NULL,CBmgc,0,clrNONE); o=GetLastError(); if(o==0)BTrN=BTrN+1; else Print ("Error =",o); } if((STrN>=0 && npsd==Ask) { Print("Next Point in Sell"); dp=npsd-initAsk; CSmgc=iSm-dp*Point/100*2; Print("Current Sell Magic No=",CSmgc); mgcexist=false; for(i=1;i<=OrdersTotal();i++) { ticketBu1=OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber()==CSmgc) { mgcexist=true; break; } } if (mgcexist==false) { tp=Ask-fst*Point; ticket1=OrderSend (symb,OP_SELL,inils,Ask,3,0,tp,NULL,CSmgc); o=GetLastError(); if(o==0)Print("Order No. ",ticket1," Placed Successfully"); } } return(0); }