Parcourir la Source

ticket # 1483

AhtashamShahzad3 il y a 2 ans
Parent
commit
c9292fa5d6
2 fichiers modifiés avec 31 ajouts et 174 suppressions
  1. BIN
      BOS_CHOCH.ex5
  2. 31 174
      BOS_CHOCH.mq5

BIN
BOS_CHOCH.ex5


+ 31 - 174
BOS_CHOCH.mq5

@@ -956,7 +956,7 @@ void choch(int i)
956 956
 
957 957
          choch_at_index = true;
958 958
 
959
-         ObjectCreate(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i)+20*Point());
959
+         ObjectCreate(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i)+60*Point());
960 960
          ObjectSetString(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"choch");
961 961
 
962 962
          ObjectCreate(0,"line7"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_ARROW_UP,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i)-100*Point());
@@ -1636,8 +1636,8 @@ void third_Condition(int i)
1636 1636
 
1637 1637
       if(low2 < low)
1638 1638
         {
1639
-         ObjectCreate(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
1640
-         ObjectSetString(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1639
+         //ObjectCreate(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
1640
+        // ObjectSetString(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1641 1641
          low = low2;
1642 1642
 
1643 1643
          low_index_time = iTime(Symbol(),PERIOD_CURRENT,i);
@@ -1660,8 +1660,8 @@ void third_Condition(int i)
1660 1660
 
1661 1661
       if(high2 > high)
1662 1662
         {
1663
-         ObjectCreate(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
1664
-         ObjectSetString(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1663
+        // ObjectCreate(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
1664
+        // ObjectSetString(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1665 1665
          high = high2;
1666 1666
 
1667 1667
          high_index_time = iTime(Symbol(),PERIOD_CURRENT,i);
@@ -1692,8 +1692,8 @@ void third_Condition(int i)
1692 1692
 
1693 1693
       if(high2 > high)
1694 1694
         {
1695
-         ObjectCreate(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
1696
-         ObjectSetString(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1695
+       //  ObjectCreate(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
1696
+       //  ObjectSetString(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1697 1697
 
1698 1698
          high = high2;
1699 1699
 
@@ -1714,8 +1714,8 @@ void third_Condition(int i)
1714 1714
 
1715 1715
       if(low2 < low)
1716 1716
         {
1717
-         ObjectCreate(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
1718
-         ObjectSetString(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1717
+      //   ObjectCreate(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
1718
+      //   ObjectSetString(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
1719 1719
 
1720 1720
          low = low2;
1721 1721
 
@@ -1822,17 +1822,6 @@ void placeBuyTrade()
1822 1822
 
1823 1823
    buyTp = iLow(Symbol(),PERIOD_CURRENT,tp);
1824 1824
 
1825
-   // tp_date_time_buy = 0.0;
1826
-//
1827
-//   if(stoploss != 0)
1828
-//     {
1829
-//      buySL = Ask - (stoploss *10* Point());
1830
-//     }
1831
-//if(takeProfit != 0)
1832
-//  {
1833
-//   buyTp = Ask + (takeProfit *10* Point());
1834
-//  }
1835
-
1836 1825
    double distance = (Ask - buySL)/Point();
1837 1826
    if(trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,getlot(distance),Ask,buySL,buyTp,"Buy Trade Placed"))
1838 1827
      {
@@ -1909,16 +1898,9 @@ void placeSellTrade()
1909 1898
    int tp = iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_sell,false);
1910 1899
    sell_Tp = iLow(Symbol(),PERIOD_CURRENT,tp);
1911 1900
 
1912
-   //tp_date_time_sell = 0.0;
1901
+//tp_date_time_sell = 0.0;
1913 1902
    double distance = (sell_SL - Bid)/Point();
1914
-//if(stoploss != 0)
1915
-//  {
1916
-//   sell_SL = Bid + (stoploss *10* Point());
1917
-//  }
1918
-//if(takeProfit != 0)
1919
-//  {
1920
-//   sell_Tp = Bid - (takeProfit *10* Point());
1921
-//  }
1903
+
1922 1904
 
1923 1905
 
1924 1906
    if(trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,getlot(distance),Bid,sell_SL,sell_Tp,"Sell Trade Placed"))
@@ -1948,27 +1930,27 @@ int OnInit()
1948 1930
 
1949 1931
    int idx = 0;
1950 1932
 
1951
-//int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT,inpTime, false);
1952
-//if(ObjectCreate(0,"line",OBJ_VLINE,0,inpTime,iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
1953
-//  {
1954
-//   Print("vertical line created on chart : ");
1955
-//  }
1956
-//else
1957
-//  {
1958
-//   Print("error in creating line : ");
1959
-//  }
1960
-
1961
-
1962
-   int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT, D'2021.09.01 15:30:27', false);
1963
-   if(ObjectCreate(0,"line",OBJ_VLINE,0,D'2021.09.01 15:30:27',iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
1933
+   int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT,inpTime, false);
1934
+   if(ObjectCreate(0,"line",OBJ_VLINE,0,inpTime,iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
1964 1935
      {
1965
-      Print("object created on chart : ");
1936
+      Print("vertical line created on chart : ");
1966 1937
      }
1967 1938
    else
1968 1939
      {
1969
-      Print("object not created : ");
1940
+      Print("error in creating line : ");
1970 1941
      }
1971 1942
 
1943
+
1944
+//int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT, D'2021.09.01 15:30:27', false);
1945
+//if(ObjectCreate(0,"line",OBJ_VLINE,0,D'2021.09.01 15:30:27',iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
1946
+//  {
1947
+//   Print("object created on chart : ");
1948
+//  }
1949
+//else
1950
+//  {
1951
+//   Print("object not created : ");
1952
+//  }
1953
+
1972 1954
    object_find(object_name);
1973 1955
    if(object_find(object_name) == true)
1974 1956
      {
@@ -2103,29 +2085,17 @@ void OnTick()
2103 2085
          if(od_1[m].choch_index_date_time != 0)
2104 2086
            {
2105 2087
 
2106
-            //Print("current time is ",TimeCurrent());
2107
-            //Print("time is ",od_1[m].Time_of_candle_For_trade);
2108
-            //Print("signal is ",od_1[m].Signal);
2109
-
2110 2088
 
2111 2089
             if(od_1[m].EntryCon == 1 && iTime(Symbol(),PERIOD_CURRENT,1) == od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "buy" && od_1[m].Time_of_candle_For_trade != 0 /*&& HIGH != 0 && LOW != 0*/)
2112 2090
               {
2113
-               // Print("time is greater and signal is buy ",TimeCurrent());
2114 2091
 
2115 2092
                int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2116 2093
                int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2117 2094
 
2118
-               //                     Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
2119
-               //                     Print("choch_index_date_time ",od_1[m].choch_index_date_time);
2120
-               //
2121
-               //                     Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
2122
-               //                     Print("low of current candle  ",iLow(Symbol(),PERIOD_CURRENT,0));
2123
-               //                     Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
2124
-               //                     Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
2125 2095
                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);
2126 2096
 
2127 2097
                if(reversalMax > iLow(Symbol(),PERIOD_CURRENT,1)
2128
-                  && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1)  && tp_date_time_buy != 0.0 )
2098
+                  && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1)  && tp_date_time_buy != 0.0)
2129 2099
                  {
2130 2100
                   Print("<<<<<<<<<<<< Entry 1 >>>>>>>>>");
2131 2101
                   placeBuyTrade();
@@ -2148,24 +2118,15 @@ void OnTick()
2148 2118
             if(od_1[m].EntryCon == 1 && iTime(Symbol(),PERIOD_CURRENT,1) == od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "sell" && od_1[m].Time_of_candle_For_trade != 0  /*&& HIGH != 0 && LOW != 0*/)
2149 2119
               {
2150 2120
 
2151
-               //Print("i am in enrtry condition 1 : ");
2152
-
2153
-               // Print("time is greater and signal is sell ",TimeCurrent());
2154 2121
 
2155 2122
                int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2156 2123
                int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2157 2124
 
2158
-               //                     Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
2159
-               //                     Print("choch_index_date_time ",od_1[m].choch_index_date_time);
2160
-               //
2161
-               //                     Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
2162
-               //                     Print("low of current candle  ",iLow(Symbol(),PERIOD_CURRENT,0));
2163
-               //                     Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
2164
-               //                     Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
2125
+
2165 2126
                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);
2166 2127
 
2167 2128
                if(reversalMin < iHigh(Symbol(),PERIOD_CURRENT,1)
2168
-                  && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell != 0.0 )
2129
+                  && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell != 0.0)
2169 2130
                  {
2170 2131
                   placeSellTrade();
2171 2132
                   remove_value_from_structure();
@@ -2194,21 +2155,10 @@ void OnTick()
2194 2155
                int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2195 2156
                int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2196 2157
 
2197
-
2198
-
2199
-               //                     Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
2200
-               //                     Print("choch_index_date_time ",od_1[m].choch_index_date_time);
2201
-               //
2202
-               //                     Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
2203
-               //                     Print("low of current candle  ",iLow(Symbol(),PERIOD_CURRENT,0));
2204
-               //                     Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
2205
-               //                     Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
2206
-
2207
-
2208 2158
                if(value_close_high(close_index) == true)
2209 2159
                  {
2210 2160
                   if(iClose(Symbol(),PERIOD_CURRENT,close_index) > iLow(Symbol(),PERIOD_CURRENT,1)
2211
-                     && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_buy != 0.0 )
2161
+                     && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_buy != 0.0)
2212 2162
                     {
2213 2163
                      Print("<<<<<<<<<<<< Entry 2 >>>>>>>>>");
2214 2164
                      placeBuyTrade();
@@ -2232,25 +2182,13 @@ void OnTick()
2232 2182
             if(od_1[m].EntryCon == 2 && TimeCurrent() > od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "sell" && od_1[m].Time_of_candle_For_trade != 0  /*&& HIGH != 0 && LOW != 0*/)
2233 2183
               {
2234 2184
 
2235
-               // Print("time is greater and signal is sell ",TimeCurrent());
2236
-
2237
-
2238
-
2239 2185
                int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2240 2186
                int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2241 2187
 
2242
-               //                     Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
2243
-               //                     Print("choch_index_date_time ",od_1[m].choch_index_date_time);
2244
-               //
2245
-               //                     Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
2246
-               //                     Print("low of current candle  ",iLow(Symbol(),PERIOD_CURRENT,0));
2247
-               //                     Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
2248
-               //                     Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
2249
-
2250 2188
                if(value_close_low(close_index) == true)
2251 2189
                  {
2252 2190
                   if(iClose(Symbol(),PERIOD_CURRENT,close_index) < iHigh(Symbol(),PERIOD_CURRENT,1)
2253
-                     && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell!= 0.0 )
2191
+                     && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell!= 0.0)
2254 2192
                     {
2255 2193
                      placeSellTrade();
2256 2194
                      remove_value_from_structure();
@@ -2273,84 +2211,6 @@ void OnTick()
2273 2211
            }
2274 2212
         }
2275 2213
 
2276
-      //      for(int m=0; m < orderNum; m++)
2277
-      //        {
2278
-      //         if(od_1[m].choch_index_date_time != 0)
2279
-      //           {
2280
-      //
2281
-      //            //Print("current time is ",TimeCurrent());
2282
-      //            //Print("time is ",od_1[m].Time_of_candle_For_trade);
2283
-      //            //Print("signal is ",od_1[m].Signal);
2284
-      //
2285
-      //
2286
-      //            if(TimeCurrent() >= od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "buy" && od_1[m].Time_of_candle_For_trade != 0)
2287
-      //              {
2288
-      //               // Print("time is greater and signal is buy ",TimeCurrent());
2289
-      //
2290
-      //               int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2291
-      //               int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2292
-      //
2293
-      //               //                     Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
2294
-      //               //                     Print("choch_index_date_time ",od_1[m].choch_index_date_time);
2295
-      //               //
2296
-      //               //                     Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
2297
-      //               //                     Print("low of current candle  ",iLow(Symbol(),PERIOD_CURRENT,0));
2298
-      //               //                     Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
2299
-      //               //                     Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
2300
-      //
2301
-      //               if(iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx) > iLow(Symbol(),PERIOD_CURRENT,1)
2302
-      //                  && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1))
2303
-      //                 {
2304
-      //                  placeBuyTrade();
2305
-      //                  remove_value_from_structure();
2306
-      //                  od_1[m].choch_index_date_time = 0;
2307
-      //                  od_1[m].Signal == "";
2308
-      //                  od_1[m].reversal_index_date_time = 0;
2309
-      //                  od_1[m].choch_index_date_time = 0;
2310
-      //
2311
-      //                  signal = "";
2312
-      //                  Print("buy trade placed  -------------------------------------------------------------");
2313
-      //                  Print("time at which trade is placed : ",TimeCurrent());
2314
-      //
2315
-      //                 }
2316
-      //
2317
-      //
2318
-      //              }
2319
-      //
2320
-      //            if(TimeCurrent() >= od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "sell" && od_1[m].Time_of_candle_For_trade != 0)
2321
-      //              {
2322
-      //
2323
-      //               // Print("time is greater and signal is sell ",TimeCurrent());
2324
-      //
2325
-      //               int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
2326
-      //               int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
2327
-      //
2328
-      //               //                     Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
2329
-      //               //                     Print("choch_index_date_time ",od_1[m].choch_index_date_time);
2330
-      //               //
2331
-      //               //                     Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
2332
-      //               //                     Print("low of current candle  ",iLow(Symbol(),PERIOD_CURRENT,0));
2333
-      //               //                     Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
2334
-      //               //                     Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
2335
-      //
2336
-      //               if(iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx) < iLow(Symbol(),PERIOD_CURRENT,1)
2337
-      //                  && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1))
2338
-      //                 {
2339
-      //                  placeSellTrade();
2340
-      //                  remove_value_from_structure();
2341
-      //                  od_1[m].choch_index_date_time = 0;
2342
-      //                  od_1[m].Signal == "";
2343
-      //                  od_1[m].reversal_index_date_time = 0;
2344
-      //                  od_1[m].choch_index_date_time = 0;
2345
-      //                  signal = "";
2346
-      //                  Print("sell trade placed  -------------------------------------------------------------");
2347
-      //                  Print("time at which trade is placed : ",TimeCurrent());
2348
-      //
2349
-      //                 }
2350
-      //
2351
-      //              }
2352
-      //           }
2353
-      //        }
2354 2214
 
2355 2215
 
2356 2216
      }
@@ -2409,7 +2269,4 @@ string checkCandle(int v)  // to check the candle is bullish or bearish
2409 2269
   }
2410 2270
 //+------------------------------------------------------------------+
2411 2271
 
2412
-
2413
-//+------------------------------------------------------------------+
2414
-
2415 2272
 //+------------------------------------------------------------------+