AhtashamShahzad3 2 lat temu
rodzic
commit
83862df959
2 zmienionych plików z 88 dodań i 0 usunięć
  1. BIN
      BOS_CHOCH.ex5
  2. 88 0
      BOS_CHOCH.mq5

BIN
BOS_CHOCH.ex5


+ 88 - 0
BOS_CHOCH.mq5

@@ -474,9 +474,11 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
474
 //+------------------------------------------------------------------+
474
 //+------------------------------------------------------------------+
475
 void Check_Inside_bar(int inex)
475
 void Check_Inside_bar(int inex)
476
   {
476
   {
477
+// Print("-----------------------------------------------------------------------------------------------------------------------------------");
477
 
478
 
478
    for(int j=inex+1; j>=1; j--)
479
    for(int j=inex+1; j>=1; j--)
479
      {
480
      {
481
+      // Print(" i am checking inside bar ");
480
       if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
482
       if(checkCandle(j) == "Bearish" && (checkCandle(j-1) == "Bearish" || checkCandle(j-1) == "Doji"))
481
         {
483
         {
482
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
484
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
@@ -501,6 +503,7 @@ void Check_Inside_bar(int inex)
501
         {
503
         {
502
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
504
          if(iHigh(Symbol(),PERIOD_CURRENT,j) > iClose(Symbol(),PERIOD_CURRENT,j-1)  && iLow(Symbol(),PERIOD_CURRENT,j) < iOpen(Symbol(),PERIOD_CURRENT,j-1))
503
            {
505
            {
506
+            //  Print("j index is",j," j-1 index is ",j-1);
504
             tp_date_time_sell = 0.0;
507
             tp_date_time_sell = 0.0;
505
             tp_date_time_buy  = 0.0;
508
             tp_date_time_buy  = 0.0;
506
             //   Print("Target line deleted due to in bar ");
509
             //   Print("Target line deleted due to in bar ");
@@ -1808,6 +1811,46 @@ void OnTick()
1808
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
1811
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
1809
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
1812
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
1810
 
1813
 
1814
+                  if(checkCandle(close_index) == "Bearish" && (checkCandle(close_index-1) == "Bearish" || checkCandle(close_index-1) == "Doji"))
1815
+                    {
1816
+                     if(iHigh(Symbol(),PERIOD_CURRENT,close_index) > iOpen(Symbol(),PERIOD_CURRENT,close_index-1)  && iLow(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,close_index-1))
1817
+                       {
1818
+                        tp_date_time_sell = 0.0;
1819
+                        tp_date_time_buy  = 0.0;
1820
+                        //  Print("Target line deleted due to in bar ");
1821
+                        if(object_find("target line") > 0)
1822
+                          {
1823
+                           Print("Target line deleted due to in bar ");
1824
+                           ObjectDelete(0,"target line");
1825
+                          }
1826
+
1827
+                        if(object_find("target line1") > 0)
1828
+                          {
1829
+                           ObjectDelete(0,"target line1");
1830
+                          }
1831
+                       }
1832
+                    }
1833
+
1834
+                  if(checkCandle(close_index) == "Bullish" && (checkCandle(close_index-1) == "Bullish" || checkCandle(close_index-1) == "Doji"))
1835
+                    {
1836
+                     if(iHigh(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,close_index-1)  && iLow(Symbol(),PERIOD_CURRENT,close_index) < iOpen(Symbol(),PERIOD_CURRENT,close_index-1))
1837
+                       {
1838
+                        //  Print("j index is",j," j-1 index is ",j-1);
1839
+                        tp_date_time_sell = 0.0;
1840
+                        tp_date_time_buy  = 0.0;
1841
+                        //   Print("Target line deleted due to in bar ");
1842
+                        if(object_find("target line") > 0)
1843
+                          {
1844
+                           Print("Target line deleted due to in bar ");
1845
+                           ObjectDelete(0,"target line");
1846
+                          }
1847
+
1848
+                        if(object_find("target line1") > 0)
1849
+                          {
1850
+                           ObjectDelete(0,"target line1");
1851
+                          }
1852
+                       }
1853
+                    }
1811
 
1854
 
1812
                   double reversalMax = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) <  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
1855
                   double reversalMax = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) <  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
1813
                   // bool snd_con = false;
1856
                   // bool snd_con = false;
@@ -1856,6 +1899,47 @@ void OnTick()
1856
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
1899
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
1857
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
1900
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
1858
 
1901
 
1902
+                  if(checkCandle(close_index) == "Bearish" && (checkCandle(close_index-1) == "Bearish" || checkCandle(close_index-1) == "Doji"))
1903
+                    {
1904
+                     if(iHigh(Symbol(),PERIOD_CURRENT,close_index) > iOpen(Symbol(),PERIOD_CURRENT,close_index-1)  && iLow(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,close_index-1))
1905
+                       {
1906
+                        tp_date_time_sell = 0.0;
1907
+                        tp_date_time_buy  = 0.0;
1908
+                        //  Print("Target line deleted due to in bar ");
1909
+                        if(object_find("target line") > 0)
1910
+                          {
1911
+                           Print("Target line deleted due to in bar ");
1912
+                           ObjectDelete(0,"target line");
1913
+                          }
1914
+
1915
+                        if(object_find("target line1") > 0)
1916
+                          {
1917
+                           ObjectDelete(0,"target line1");
1918
+                          }
1919
+                       }
1920
+                    }
1921
+
1922
+                  if(checkCandle(close_index) == "Bullish" && (checkCandle(close_index-1) == "Bullish" || checkCandle(close_index-1) == "Doji"))
1923
+                    {
1924
+                     if(iHigh(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,close_index-1)  && iLow(Symbol(),PERIOD_CURRENT,close_index) < iOpen(Symbol(),PERIOD_CURRENT,close_index-1))
1925
+                       {
1926
+                        //  Print("j index is",j," j-1 index is ",j-1);
1927
+                        tp_date_time_sell = 0.0;
1928
+                        tp_date_time_buy  = 0.0;
1929
+                        //   Print("Target line deleted due to in bar ");
1930
+                        if(object_find("target line") > 0)
1931
+                          {
1932
+                           Print("Target line deleted due to in bar ");
1933
+                           ObjectDelete(0,"target line");
1934
+                          }
1935
+
1936
+                        if(object_find("target line1") > 0)
1937
+                          {
1938
+                           ObjectDelete(0,"target line1");
1939
+                          }
1940
+                       }
1941
+                    }
1942
+
1859
 
1943
 
1860
                   double reversalMin = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) >  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
1944
                   double reversalMin = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) >  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
1861
                   //               double reversalMin = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) >  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
1945
                   //               double reversalMin = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) >  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
@@ -1910,6 +1994,8 @@ void OnTick()
1910
 
1994
 
1911
             if(indexOfTradePlace > 2)
1995
             if(indexOfTradePlace > 2)
1912
               {
1996
               {
1997
+               int close_index1 = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
1998
+               Check_Inside_bar(close_index1);
1913
 
1999
 
1914
                // second condition match
2000
                // second condition match
1915
 
2001
 
@@ -1942,6 +2028,7 @@ void OnTick()
1942
 
2028
 
1943
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2029
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
1944
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2030
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2031
+                  //Print("Reversal Index time is ",od_1[m].reversal_index_date_time," and chock tine is ",od_1[m].choch_index_date_time);
1945
                   Check_Inside_bar(reversal_indexx);
2032
                   Check_Inside_bar(reversal_indexx);
1946
                   bool snd_con = false;
2033
                   bool snd_con = false;
1947
                   double reversalMax = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) <  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
2034
                   double reversalMax = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) <  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
@@ -2023,6 +2110,7 @@ void OnTick()
2023
 
2110
 
2024
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2111
                   int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2025
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2112
                   int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2113
+                  //Print("Reversal Index time is ",od_1[m].reversal_index_date_time," and chock tine is ",od_1[m].choch_index_date_time);
2026
                   Check_Inside_bar(reversal_indexx);
2114
                   Check_Inside_bar(reversal_indexx);
2027
                   double reversalMin = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) >  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
2115
                   double reversalMin = iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx) >  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) ?  iClose(Symbol(),PERIOD_CURRENT,reversal_indexx) : iOpen(Symbol(),PERIOD_CURRENT,reversal_indexx);
2028
                   bool snd_con1 = false;
2116
                   bool snd_con1 = false;