Sfoglia il codice sorgente

Ticket # 1585

Add reversal bar functionality in entry condition 2 and resolve the inside bar issue
AhtashamShahzad3 2 anni fa
parent
commit
69cfcb8e63
2 ha cambiato i file con 20 aggiunte e 11 eliminazioni
  1. BIN
      BOS_CHOCH.ex5
  2. 20 11
      BOS_CHOCH.mq5

BIN
BOS_CHOCH.ex5


+ 20 - 11
BOS_CHOCH.mq5

@@ -329,7 +329,7 @@ void Entry_Action_1_down(int Store_bos_last_index, int i,int diff)
329
 
329
 
330
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
330
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
331
         {
331
         {
332
-         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
332
+         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
333
            {
333
            {
334
             tp_date_time_buy = 0.0;
334
             tp_date_time_buy = 0.0;
335
             Print("target lines deleted due to in bar");
335
             Print("target lines deleted due to in bar");
@@ -416,7 +416,7 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
416
         }
416
         }
417
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
417
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
418
         {
418
         {
419
-         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
419
+         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
420
            {
420
            {
421
             tp_date_time_buy = 0.0;
421
             tp_date_time_buy = 0.0;
422
             Print("target lines deleted due to in bar");
422
             Print("target lines deleted due to in bar");
@@ -433,10 +433,16 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
433
            }
433
            }
434
         }
434
         }
435
      }
435
      }
436
-   if(addtional_condition = true)
436
+
437
+   if(check_values_less_than_choch_high(ind,i) == true && addtional_condition == true)
437
      {
438
      {
438
-      signal = "buy";
439
-      time_of_candle = iTime(Symbol(),PERIOD_CURRENT,i);
439
+      if(iOpen(Symbol(),PERIOD_CURRENT,ind) > iOpen(Symbol(),PERIOD_CURRENT,i) && iClose(Symbol(),PERIOD_CURRENT,ind) < iClose(Symbol(),PERIOD_CURRENT,i))
440
+        {
441
+
442
+         signal = "buy";
443
+         time_of_candle = iTime(Symbol(),PERIOD_CURRENT,i);
444
+
445
+        }
440
      }
446
      }
441
 
447
 
442
 
448
 
@@ -487,7 +493,7 @@ void Check_Inside_bar(int inex)
487
 
493
 
488
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
494
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
489
         {
495
         {
490
-         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
496
+         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
491
            {
497
            {
492
             tp_date_time_sell = 0.0;
498
             tp_date_time_sell = 0.0;
493
             tp_date_time_buy  = 0.0;
499
             tp_date_time_buy  = 0.0;
@@ -539,7 +545,7 @@ void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
539
 
545
 
540
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
546
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
541
         {
547
         {
542
-         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
548
+         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
543
            {
549
            {
544
             tp_date_time_sell = 0.0;
550
             tp_date_time_sell = 0.0;
545
             Print("Target line deleted due to in bar ");
551
             Print("Target line deleted due to in bar ");
@@ -627,7 +633,7 @@ void Entry_Action_2_up(int Store_bos_last_index, int i,int diff)
627
 
633
 
628
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
634
       if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
629
         {
635
         {
630
-         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
636
+         if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
631
            {
637
            {
632
             tp_date_time_sell = 0.0;
638
             tp_date_time_sell = 0.0;
633
             Print("Target line deleted due to in bar ");
639
             Print("Target line deleted due to in bar ");
@@ -645,10 +651,13 @@ void Entry_Action_2_up(int Store_bos_last_index, int i,int diff)
645
         }
651
         }
646
      }
652
      }
647
 
653
 
648
-   if(addtional_condition == true)
654
+   if(check_values_less_than_choch_low(ind,i) == true && addtional_condition == true)
649
      {
655
      {
650
-      signal = "sell";
651
-      time_of_candle = iTime(Symbol(),PERIOD_CURRENT,i);
656
+      if(iOpen(Symbol(),PERIOD_CURRENT,ind) < iOpen(Symbol(),PERIOD_CURRENT,i) && iClose(Symbol(),PERIOD_CURRENT,ind) > iClose(Symbol(),PERIOD_CURRENT,i))
657
+        {
658
+         signal = "sell";
659
+         time_of_candle = iTime(Symbol(),PERIOD_CURRENT,i);
660
+        }
652
      }
661
      }
653
 
662
 
654
 
663