Selaa lähdekoodia

Doji candle bug fixed

WajeehSaqib-MQL 2 vuotta sitten
vanhempi
commit
a0c8b1226d
2 muutettua tiedostoa jossa 14 lisäystä ja 10 poistoa
  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
    for(int j=Store_bos_last_index-1; j>i+1; j--)
312
    for(int j=Store_bos_last_index-1; j>i+1; j--)
313
      {
313
      {
314
       // Print("Store_bos_last_index ",Store_bos_last_index," chock index is ",i);
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
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
    bool addtional_condition = true;
401
    bool addtional_condition = true;
402
    for(int j=Store_bos_last_index-1; j>i+1; j--)
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
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
             addtional_condition = false;
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
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
    for(int j=inex+1; j>=1; j--)
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
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
    for(int j=Store_bos_last_index-1; j>i+1; j--)
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
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
    bool addtional_condition = true;
619
    bool addtional_condition = true;
620
    for(int j=Store_bos_last_index-1; j>i+1; j--)
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
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
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
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
          return "Bearish";
2128
          return "Bearish";
2129
         }
2129
         }
2130
+      else
2131
+        {
2132
+         return "Doji";
2133
+        }
2130
    return "empty";
2134
    return "empty";
2131
   }
2135
   }
2132
 //+------------------------------------------------------------------+
2136
 //+------------------------------------------------------------------+