Multiple Pending Orders EA Problem

 

Hi all, i'm having a tough time making my EA place stop orders only once at a given price. It places stop orders every tick which matches the price. I wanna be able to make multiple Buy stop and Sell Stops, but only one at a time. For example if there is a filled Buy stop order and another Buy condition is met, then I wanna be able to take the trade. This code works perfectly for Sell market orders:

if(Bid==Tpf+400*_Point && Bid!=OrderOpenPrc) 
      {
      ticket=OrderSend(NULL,OP_SELL,0.1,Bid,0,0,TP,NULL,MagicNumber,0,clrBlue);
      if(ticket>0)
         {
         if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
            {
            if(Bid==OrderOpenPrice()) {OrderOpenPrc=OrderOpenPrice();}
            }
         }  
      }

This code makes orders every matching tick:

      if(Bid==Tpf+200*_Point && OrderOpenPrc!=Tpf+100*_Point)
      {
      ticket=OrderSend(NULL,OP_SELLSTOP,Lots,Tpf+100*_Point,0,0,TP,NULL,MagicNumber,0,clrBlue);
      if(ticket>0)
         {
         if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
            {
            if(Tpf+100*_Point==OrderOpenPrice()) {OrderOpenPrc=OrderOpenPrice(); Print("Tpf+20 is: ", Tpf+100*_Point, "OrderOpenP is: ", OrderOpenPrc);}
            }
         }  
      }

And another version:

   if(Bid==Tpf+200*_Point && Bid!=OrderOpenPrc)
      {
      ticket=OrderSend(NULL,OP_SELLSTOP,0.1,Tpf+100*_Point,0,0,TP,NULL,MagicNumber,0,clrBlue);
      if(ticket>0)
         {
         if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
            {
            if(Bid==OrderOpenPrice()+100*_Point) {OrderOpenPrc=OrderOpenPrice()+100*_Point; Print("BID is: ", Bid, "OrderOpenP +10 is: ", OrderOpenPrc);}
               {
               if(Bid!=OrderOpenPrice()+100*_Point) {OrderOpenPrc=OrderOpenPrice()+100*_Point; Print("bid is: ", Bid, "OrderOpenP +10 is: ", OrderOpenPrc);}
               }
            }
         }  
      } 

The above code produces the following log(discard the inputs):

0       18:19:15.381    Expert EA EURUSD,H1: removed
0       18:19:15.412    Expert EA EURUSD,H1: loaded successfully
0       18:19:17.440    TestGenerator: spread set to 13
2       18:19:19.993    2018.11.26 00:00:00  EA inputs: MoneyManagement=1; LotSize=0.1; RiskPercent=0.5; RiskDecrease=0.5; PipDistance=100; OrderDistance=50; Trade=1; 
2       18:19:20.008    2018.11.26 07:04:04  EA EURUSD,H1: open #1 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.008    2018.11.26 07:04:04  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.008    2018.11.26 07:04:17  EA EURUSD,H1: open #2 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.008    2018.11.26 07:04:17  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.008    2018.11.26 07:08:27  EA EURUSD,H1: open #3 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.008    2018.11.26 07:08:27  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.008    2018.11.26 07:08:34  EA EURUSD,H1: open #4 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.008    2018.11.26 07:08:34  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603

2       18:19:20.024    2018.11.26 07:55:03  EA EURUSD,H1: open #50 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:03  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:04  EA EURUSD,H1: open #51 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:04  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:05  EA EURUSD,H1: open #52 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:05  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:05  EA EURUSD,H1: open #53 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:05  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:06  EA EURUSD,H1: open #54 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:06  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:11  EA EURUSD,H1: open #55 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:11  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:12  EA EURUSD,H1: open #56 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:12  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:55:16  EA EURUSD,H1: open #57 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:55:16  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 07:59:24  EA EURUSD,H1: open #58 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 07:59:24  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 08:00:14  EA EURUSD,H1: open #59 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 08:00:14  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.024    2018.11.26 08:01:21  EA EURUSD,H1: open #60 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.024    2018.11.26 08:01:21  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.039    2018.11.26 09:22:40  EA EURUSD,H1: open #61 sell 0.50 EURUSD at 1.13803 tp: 1.13403 ok
2       18:19:20.039    2018.11.26 10:55:29  EA EURUSD,H1: open #62 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.039    2018.11.26 10:55:29  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.039    2018.11.26 10:55:30  EA EURUSD,H1: open #63 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.039    2018.11.26 10:55:30  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.039    2018.11.26 10:55:32  EA EURUSD,H1: open #64 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.039    2018.11.26 10:55:32  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.039    2018.11.26 10:55:33  EA EURUSD,H1: open #65 sell stop 0.10 EURUSD at 1.13503 tp: 1.13403 ok
0       18:19:20.039    2018.11.26 10:55:33  EA EURUSD,H1: bid is: 1.13603 OrderOpenP +10 is: 1.13603
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #1, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #2, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #3, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #4, sell 0.10 EURUSD is opened at 1.13503

2       18:19:20.077    2018.11.26 14:54:26  Tester: order #50, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #51, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #52, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #53, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #54, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #55, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #56, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #57, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #58, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #59, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #60, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #62, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #63, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #64, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.077    2018.11.26 14:54:26  Tester: order #65, sell 0.10 EURUSD is opened at 1.13503
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #1 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #2 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #3 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #4 at 1.13403 (1.13390 / 1.13403)

2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #50 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #51 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #52 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #53 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #54 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #55 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #56 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #57 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #58 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #59 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #60 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #61 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #62 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #63 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #64 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.140    2018.11.26 15:57:40  Tester: take profit #65 at 1.13403 (1.13390 / 1.13403)
2       18:19:20.240    2018.11.28 17:01:34  EA EURUSD,H1: open #66 sell stop 0.10 EURUSD at 1.13043 tp: 1.12943 ok
0       18:19:20.240    2018.11.28 17:01:34  EA EURUSD,H1: BID is: 1.13143 OrderOpenP +10 is: 1.13143
2       18:19:20.240    2018.11.28 17:03:29  EA EURUSD,H1: open #67 sell 0.50 EURUSD at 1.13343 tp: 1.12943 ok
2       18:19:20.394    2018.11.29 23:59:55  Tester: order #67 is closed
0       18:19:20.394    EURUSD,H1: 341586 tick events (1097 bars, 342586 bar states) processed in 0:00:00.406 (total time 0:00:04.969)

Please note the last entry - the condition becomes true. I've spent 2 days trying to figure it out and I know that there's something simple that i'm missing, but i'm not an expert obviously.

Reason: