how can I limit the trades to a maximum of 1 for every new bar that appears?

 
   #include<Trade\Trade.mqh>
   CTrade trade;
    



void OnTick()
   {
   
   
   double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
   double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
   
   double High0 = iHigh(NULL,0,0);
   double Low0 = iLow(NULL,0,0);
   
   double open0 = iOpen(NULL,0,0);
   double close0 = iClose(NULL,0,0);
   
   float spread = Ask - Bid;  
   Comment("Spread is  " + spread);


if(Bid>open0)
trade.Buy(0.30,NULL,Ask,open0-2* _Point,Ask+3* _Point,NULL);
else if(Bid<open0)
trade.Sell(0.30,NULL,Bid,open0+1* _Point,Bid-3* _Point,NULL);


// how can I limit the trades to a max of 1 ber new bar that appears?
// Thank you so much for help I really appreciate it


 
ranisfaris:

Hi

I'm testing new things and I'm running into this problem, I want a maximum trades per bar no more than 1 =>

Thank you so much for the help!

When a bar is not change yet, then don't add new order. :)

 
Irwan Adnan:

When a bar is not change yet, then don't add new order. :)

lmfao no <Deleted> , how can I tell that to my algo then haha

 
ranisfaris:

add other if condition such as

if(Bid>open0 && count > 1)

and reset count when newbar is met.

 
trade.Buy(0.30,NULL,Ask,open0-2* _Point,Ask+3* _Point,NULL);
else if(Bid<open0)
trade.Sell(0.30,NULL,Bid,open0+1* _Point,Bid-3* _Point,NULL);

You buy at the Ask and sell at the Bid. Pending Buy Stop orders become market orders when hit and open at the Ask.

  1. 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?

  2. 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

  3. 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 (OANDA) shows average spread = 26 points, but average maximum spread = 134 (your broker will be similar).

 
Irwan Adnan:

add other if condition such as

and reset count when newbar is met.

How can I rest the count when a newbar is met could you possibly write me the piece of code?

sorry I'm still learning things and I appreciate the help here thanks alot.

This website uses cookies. Learn more about our Cookies Policy.