Parcourir la Source

Doji candle bug fixed

WajeehSaqib-MQL il y a 2 ans
Parent
commit
a0c8b1226d
2 fichiers modifiés avec 14 ajouts et 10 suppressions
  1. BIN
      BOS_CHOCH.ex5
  2. 14 10
      BOS_CHOCH.mq5

BIN
BOS_CHOCH.ex5


+ 14 - 10
BOS_CHOCH.mq5

@@ -312,7 +312,7 @@ void Entry_Action_1_down(int Store_bos_last_index, int i,int diff)
312 312
    for(int j=Store_bos_last_index-1; j>i+1; j--)
313 313
      {
314 314
       // Print("Store_bos_last_index ",Store_bos_last_index," chock index is ",i);
315
-      if(checkCandle(j) == "Bearish" && checkCandle(j-1) == "Bearish")
315
+      if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
316 316
         {
317 317
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
318 318
            {
@@ -332,7 +332,7 @@ void Entry_Action_1_down(int Store_bos_last_index, int i,int diff)
332 332
            }
333 333
         }
334 334
 
335
-      if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
335
+      if(checkCandle(j) == "Bullish" && (checkCandle(j-1) == "Bullish" || checkCandle(j-1) == "Doji"))
336 336
         {
337 337
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
338 338
            {
@@ -401,7 +401,7 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
401 401
    bool addtional_condition = true;
402 402
    for(int j=Store_bos_last_index-1; j>i+1; j--)
403 403
      {
404
-      if(checkCandle(j) == "Bearish" && checkCandle(j-1) == "Bearish")
404
+      if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
405 405
         {
406 406
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
407 407
            {
@@ -419,7 +419,7 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
419 419
             addtional_condition = false;
420 420
            }
421 421
         }
422
-      if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
422
+      if(checkCandle(j) == "Bullish" && (checkCandle(j-1) == "Bullish" || checkCandle(j-1) == "Doji"))
423 423
         {
424 424
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
425 425
            {
@@ -477,7 +477,7 @@ void Check_Inside_bar(int inex)
477 477
 
478 478
    for(int j=inex+1; j>=1; j--)
479 479
      {
480
-      if(checkCandle(j) == "Bearish" && checkCandle(j-1) == "Bearish")
480
+      if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
481 481
         {
482 482
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
483 483
            {
@@ -497,7 +497,7 @@ void Check_Inside_bar(int inex)
497 497
            }
498 498
         }
499 499
 
500
-      if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
500
+      if(checkCandle(j) == "Bullish" && (checkCandle(j-1) == "Bullish" || checkCandle(j-1) == "Doji"))
501 501
         {
502 502
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
503 503
            {
@@ -531,7 +531,7 @@ void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
531 531
 
532 532
    for(int j=Store_bos_last_index-1; j>i+1; j--)
533 533
      {
534
-      if(checkCandle(j) == "Bearish" && checkCandle(j-1) == "Bearish")
534
+      if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
535 535
         {
536 536
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
537 537
            {
@@ -550,7 +550,7 @@ void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
550 550
            }
551 551
         }
552 552
 
553
-      if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
553
+      if(checkCandle(j) == "Bullish" && (checkCandle(j-1) == "Bullish" || checkCandle(j-1) == "Doji"))
554 554
         {
555 555
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
556 556
            {
@@ -619,7 +619,7 @@ void Entry_Action_2_up(int Store_bos_last_index, int i,int diff)
619 619
    bool addtional_condition = true;
620 620
    for(int j=Store_bos_last_index-1; j>i+1; j--)
621 621
      {
622
-      if(checkCandle(j) == "Bearish" && checkCandle(j-1) == "Bearish")
622
+      if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
623 623
         {
624 624
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
625 625
            {
@@ -638,7 +638,7 @@ void Entry_Action_2_up(int Store_bos_last_index, int i,int diff)
638 638
            }
639 639
         }
640 640
 
641
-      if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
641
+      if(checkCandle(j) == "Bullish" && (checkCandle(j-1) == "Bullish" || checkCandle(j-1) == "Doji"))
642 642
         {
643 643
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
644 644
            {
@@ -2127,6 +2127,10 @@ string checkCandle(int v)  // to check the candle is bullish or bearish
2127 2127
         {
2128 2128
          return "Bearish";
2129 2129
         }
2130
+      else
2131
+        {
2132
+         return "Doji";
2133
+        }
2130 2134
    return "empty";
2131 2135
   }
2132 2136
 //+------------------------------------------------------------------+