Просмотр исходного кода

Ticket # 1585

Add reversal bar functionality in entry condition 2 and resolve the inside bar issue
AhtashamShahzad3 лет назад: 2
Родитель
Сommit
69cfcb8e63
2 измененных файлов с 20 добавлено и 11 удалено
  1. BIN
      BOS_CHOCH.ex5
  2. 20 11
      BOS_CHOCH.mq5

+ 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 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 334
             tp_date_time_buy = 0.0;
335 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 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 421
             tp_date_time_buy = 0.0;
422 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 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 498
             tp_date_time_sell = 0.0;
493 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 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 550
             tp_date_time_sell = 0.0;
545 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 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 638
             tp_date_time_sell = 0.0;
633 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