|
@@ -85,6 +85,7 @@ datetime high_index_time;
|
|
85
|
datetime low_index_time;
|
85
|
datetime low_index_time;
|
|
86
|
datetime tp_date_time_buy;
|
86
|
datetime tp_date_time_buy;
|
|
87
|
datetime tp_date_time_sell;
|
87
|
datetime tp_date_time_sell;
|
|
|
|
88
|
+datetime Last_bos_before_reversal;
|
|
88
|
|
89
|
|
|
89
|
|
90
|
|
|
90
|
double hi;
|
91
|
double hi;
|
|
@@ -310,7 +311,8 @@ void Entry_Action_1_down(int Store_bos_last_index, int i,int diff)
|
|
310
|
{
|
311
|
{
|
|
311
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
312
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
312
|
{
|
313
|
{
|
|
313
|
-
|
|
|
|
|
|
314
|
+ tp_date_time_buy = 0.0;
|
|
|
|
315
|
+
|
|
314
|
Print("target lines deleted due to in bar");
|
316
|
Print("target lines deleted due to in bar");
|
|
315
|
if(object_find("target line") > 0)
|
317
|
if(object_find("target line") > 0)
|
|
316
|
{
|
318
|
{
|
|
@@ -329,7 +331,7 @@ void Entry_Action_1_down(int Store_bos_last_index, int i,int diff)
|
|
329
|
{
|
331
|
{
|
|
330
|
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) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
331
|
{
|
333
|
{
|
|
332
|
-
|
|
|
|
|
|
334
|
+ tp_date_time_buy = 0.0;
|
|
333
|
Print("target lines deleted due to in bar");
|
335
|
Print("target lines deleted due to in bar");
|
|
334
|
if(object_find("target line") > 0)
|
336
|
if(object_find("target line") > 0)
|
|
335
|
{
|
337
|
{
|
|
@@ -398,7 +400,7 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
|
|
398
|
{
|
400
|
{
|
|
399
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
401
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
400
|
{
|
402
|
{
|
|
401
|
-
|
|
|
|
|
|
403
|
+ tp_date_time_buy = 0.0;
|
|
402
|
Print("target lines deleted due to in bar");
|
404
|
Print("target lines deleted due to in bar");
|
|
403
|
if(object_find("target line") > 0)
|
405
|
if(object_find("target line") > 0)
|
|
404
|
{
|
406
|
{
|
|
@@ -416,7 +418,7 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
|
|
416
|
{
|
418
|
{
|
|
417
|
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) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
418
|
{
|
420
|
{
|
|
419
|
-
|
|
|
|
|
|
421
|
+ tp_date_time_buy = 0.0;
|
|
420
|
Print("target lines deleted due to in bar");
|
422
|
Print("target lines deleted due to in bar");
|
|
421
|
if(object_find("target line") > 0)
|
423
|
if(object_find("target line") > 0)
|
|
422
|
{
|
424
|
{
|
|
@@ -459,6 +461,53 @@ void Entry_Action_2_down(int Store_bos_last_index, int i,int diff)
|
|
459
|
//+------------------------------------------------------------------+
|
461
|
//+------------------------------------------------------------------+
|
|
460
|
//| |
|
462
|
//| |
|
|
461
|
//+------------------------------------------------------------------+
|
463
|
//+------------------------------------------------------------------+
|
|
|
|
464
|
+void Check_Inside_bar(int inex)
|
|
|
|
465
|
+ {
|
|
|
|
466
|
+
|
|
|
|
467
|
+ for(int j=inex+1; j>=1; j--)
|
|
|
|
468
|
+ {
|
|
|
|
469
|
+ if(checkCandle(j) == "Bearish" && checkCandle(j-1) == "Bearish")
|
|
|
|
470
|
+ {
|
|
|
|
471
|
+ if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
|
|
472
|
+ {
|
|
|
|
473
|
+ tp_date_time_sell = 0.0;
|
|
|
|
474
|
+ tp_date_time_buy = 0.0;
|
|
|
|
475
|
+ Print("Target line deleted due to in bar ");
|
|
|
|
476
|
+ if(object_find("target line") > 0)
|
|
|
|
477
|
+ {
|
|
|
|
478
|
+ ObjectDelete(0,"target line");
|
|
|
|
479
|
+ }
|
|
|
|
480
|
+
|
|
|
|
481
|
+ if(object_find("target line1") > 0)
|
|
|
|
482
|
+ {
|
|
|
|
483
|
+ ObjectDelete(0,"target line1");
|
|
|
|
484
|
+ }
|
|
|
|
485
|
+ }
|
|
|
|
486
|
+ }
|
|
|
|
487
|
+
|
|
|
|
488
|
+ if(checkCandle(j) == "Bullish" && checkCandle(j-1) == "Bullish")
|
|
|
|
489
|
+ {
|
|
|
|
490
|
+ if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
|
|
491
|
+ {
|
|
|
|
492
|
+ tp_date_time_sell = 0.0;
|
|
|
|
493
|
+ tp_date_time_buy = 0.0;
|
|
|
|
494
|
+ Print("Target line deleted due to in bar ");
|
|
|
|
495
|
+ if(object_find("target line") > 0)
|
|
|
|
496
|
+ {
|
|
|
|
497
|
+ ObjectDelete(0,"target line");
|
|
|
|
498
|
+ }
|
|
|
|
499
|
+
|
|
|
|
500
|
+ if(object_find("target line1") > 0)
|
|
|
|
501
|
+ {
|
|
|
|
502
|
+ ObjectDelete(0,"target line1");
|
|
|
|
503
|
+ }
|
|
|
|
504
|
+ }
|
|
|
|
505
|
+ }
|
|
|
|
506
|
+ }
|
|
|
|
507
|
+ }
|
|
|
|
508
|
+//+------------------------------------------------------------------+
|
|
|
|
509
|
+//| |
|
|
|
|
510
|
+//+------------------------------------------------------------------+
|
|
462
|
void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
|
511
|
void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
|
|
463
|
{
|
512
|
{
|
|
464
|
|
513
|
|
|
@@ -473,6 +522,7 @@ void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
|
|
473
|
{
|
522
|
{
|
|
474
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
523
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
475
|
{
|
524
|
{
|
|
|
|
525
|
+ tp_date_time_sell = 0.0;
|
|
476
|
Print("Target line deleted due to in bar ");
|
526
|
Print("Target line deleted due to in bar ");
|
|
477
|
if(object_find("target line") > 0)
|
527
|
if(object_find("target line") > 0)
|
|
478
|
{
|
528
|
{
|
|
@@ -491,6 +541,7 @@ void Entry_Action_1_up(int Store_bos_last_index, int i,int diff)
|
|
491
|
{
|
541
|
{
|
|
492
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
542
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
493
|
{
|
543
|
{
|
|
|
|
544
|
+ tp_date_time_sell = 0.0;
|
|
494
|
Print("Target line deleted due to in bar ");
|
545
|
Print("Target line deleted due to in bar ");
|
|
495
|
if(object_find("target line") > 0)
|
546
|
if(object_find("target line") > 0)
|
|
496
|
{
|
547
|
{
|
|
@@ -559,6 +610,7 @@ void Entry_Action_2_up(int Store_bos_last_index, int i,int diff)
|
|
559
|
{
|
610
|
{
|
|
560
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
611
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
561
|
{
|
612
|
{
|
|
|
|
613
|
+ tp_date_time_sell = 0.0;
|
|
562
|
Print("Target line deleted due to in bar ");
|
614
|
Print("Target line deleted due to in bar ");
|
|
563
|
if(object_find("target line") > 0)
|
615
|
if(object_find("target line") > 0)
|
|
564
|
{
|
616
|
{
|
|
@@ -577,6 +629,7 @@ void Entry_Action_2_up(int Store_bos_last_index, int i,int diff)
|
|
577
|
{
|
629
|
{
|
|
578
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
630
|
if(iHigh(Symbol(),PERIOD_CURRENT,j) > iOpen(Symbol(),PERIOD_CURRENT,j-1) && iLow(Symbol(),PERIOD_CURRENT,j) < iClose(Symbol(),PERIOD_CURRENT,j-1))
|
|
579
|
{
|
631
|
{
|
|
|
|
632
|
+ tp_date_time_sell = 0.0;
|
|
580
|
Print("Target line deleted due to in bar ");
|
633
|
Print("Target line deleted due to in bar ");
|
|
581
|
if(object_find("target line") > 0)
|
634
|
if(object_find("target line") > 0)
|
|
582
|
{
|
635
|
{
|
|
@@ -1834,7 +1887,7 @@ void OnTick()
|
|
1834
|
|
1887
|
|
|
1835
|
if(od_1[m].EntryCon == 2 && od_1[m].Signal == "buy")
|
1888
|
if(od_1[m].EntryCon == 2 && od_1[m].Signal == "buy")
|
|
1836
|
{
|
1889
|
{
|
|
1837
|
- if(trend == "uptrend" )
|
|
|
|
|
|
1890
|
+ if(trend == "uptrend")
|
|
1838
|
{
|
1891
|
{
|
|
1839
|
double ib =iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_buy,false);
|
1892
|
double ib =iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_buy,false);
|
|
1840
|
for(int p=ib-2; p >= 1; p--)
|
1893
|
for(int p=ib-2; p >= 1; p--)
|
|
@@ -1861,7 +1914,7 @@ void OnTick()
|
|
1861
|
|
1914
|
|
|
1862
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
1915
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
1863
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
1916
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
1864
|
-
|
|
|
|
|
|
1917
|
+ Check_Inside_bar(reversal_indexx);
|
|
1865
|
bool snd_con = false;
|
1918
|
bool snd_con = false;
|
|
1866
|
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);
|
1919
|
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);
|
|
1867
|
|
1920
|
|
|
@@ -1911,10 +1964,10 @@ void OnTick()
|
|
1911
|
|
1964
|
|
|
1912
|
if(od_1[m].EntryCon == 2 && od_1[m].Signal == "sell")
|
1965
|
if(od_1[m].EntryCon == 2 && od_1[m].Signal == "sell")
|
|
1913
|
{
|
1966
|
{
|
|
1914
|
- // Print("hi ----- entry condition 2 trend lines in sell case downtrend "," tp_date_time_sell",tp_date_time_sell);
|
|
|
|
|
|
1967
|
+ // Print("hi ----- entry condition 2 trend lines in sell case downtrend "," tp_date_time_sell",tp_date_time_sell);
|
|
1915
|
if(trend == "downtrend")
|
1968
|
if(trend == "downtrend")
|
|
1916
|
{
|
1969
|
{
|
|
1917
|
- // Print("there ----- entry condition 2 trend lines in sell case downtrend "," tp_date_time_sell",tp_date_time_sell);
|
|
|
|
|
|
1970
|
+ // Print("there ----- entry condition 2 trend lines in sell case downtrend "," tp_date_time_sell",tp_date_time_sell);
|
|
1918
|
double ib =iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_sell,false);
|
1971
|
double ib =iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_sell,false);
|
|
1919
|
for(int p=ib-2; p >= 1; p--)
|
1972
|
for(int p=ib-2; p >= 1; p--)
|
|
1920
|
{
|
1973
|
{
|
|
@@ -1942,7 +1995,7 @@ void OnTick()
|
|
1942
|
|
1995
|
|
|
1943
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
1996
|
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);
|
1997
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
1945
|
-
|
|
|
|
|
|
1998
|
+ Check_Inside_bar(reversal_indexx);
|
|
1946
|
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);
|
1999
|
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);
|
|
1947
|
bool snd_con1 = false;
|
2000
|
bool snd_con1 = false;
|
|
1948
|
|
2001
|
|