|
@@ -956,7 +956,7 @@ void choch(int i)
|
|
|
|
|
|
|
|
choch_at_index = true;
|
|
choch_at_index = true;
|
|
|
|
|
|
|
|
- ObjectCreate(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i)+20*Point());
|
|
|
|
|
|
|
+ ObjectCreate(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i)+60*Point());
|
|
|
ObjectSetString(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"choch");
|
|
ObjectSetString(0,"line4"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"choch");
|
|
|
|
|
|
|
|
ObjectCreate(0,"line7"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_ARROW_UP,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i)-100*Point());
|
|
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)
|
|
|
|
|
|
|
|
if(low2 < low)
|
|
if(low2 < low)
|
|
|
{
|
|
{
|
|
|
- ObjectCreate(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
- ObjectSetString(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
|
|
|
|
+ //ObjectCreate(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
+ // ObjectSetString(0,"line5"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
low = low2;
|
|
low = low2;
|
|
|
|
|
|
|
|
low_index_time = iTime(Symbol(),PERIOD_CURRENT,i);
|
|
low_index_time = iTime(Symbol(),PERIOD_CURRENT,i);
|
|
@@ -1660,8 +1660,8 @@ void third_Condition(int i)
|
|
|
|
|
|
|
|
if(high2 > high)
|
|
if(high2 > high)
|
|
|
{
|
|
{
|
|
|
- ObjectCreate(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
- ObjectSetString(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
|
|
|
|
+ // ObjectCreate(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
+ // ObjectSetString(0,"line51"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
high = high2;
|
|
high = high2;
|
|
|
|
|
|
|
|
high_index_time = iTime(Symbol(),PERIOD_CURRENT,i);
|
|
high_index_time = iTime(Symbol(),PERIOD_CURRENT,i);
|
|
@@ -1692,8 +1692,8 @@ void third_Condition(int i)
|
|
|
|
|
|
|
|
if(high2 > high)
|
|
if(high2 > high)
|
|
|
{
|
|
{
|
|
|
- ObjectCreate(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
- ObjectSetString(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
|
|
|
|
+ // ObjectCreate(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iHigh(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
+ // ObjectSetString(0,"line6"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
|
|
|
|
|
high = high2;
|
|
high = high2;
|
|
|
|
|
|
|
@@ -1714,8 +1714,8 @@ void third_Condition(int i)
|
|
|
|
|
|
|
|
if(low2 < low)
|
|
if(low2 < low)
|
|
|
{
|
|
{
|
|
|
- ObjectCreate(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
- ObjectSetString(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
|
|
|
|
+ // ObjectCreate(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i),OBJ_TEXT,0,iTime(Symbol(),PERIOD_CURRENT,i),iLow(Symbol(),PERIOD_CURRENT,i));
|
|
|
|
|
+ // ObjectSetString(0,"line61"+iTime(Symbol(),PERIOD_CURRENT,i), OBJPROP_TEXT,"3_C");
|
|
|
|
|
|
|
|
low = low2;
|
|
low = low2;
|
|
|
|
|
|
|
@@ -1822,17 +1822,6 @@ void placeBuyTrade()
|
|
|
|
|
|
|
|
buyTp = iLow(Symbol(),PERIOD_CURRENT,tp);
|
|
buyTp = iLow(Symbol(),PERIOD_CURRENT,tp);
|
|
|
|
|
|
|
|
- // tp_date_time_buy = 0.0;
|
|
|
|
|
-//
|
|
|
|
|
-// if(stoploss != 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// buySL = Ask - (stoploss *10* Point());
|
|
|
|
|
-// }
|
|
|
|
|
-//if(takeProfit != 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// buyTp = Ask + (takeProfit *10* Point());
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
double distance = (Ask - buySL)/Point();
|
|
double distance = (Ask - buySL)/Point();
|
|
|
if(trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,getlot(distance),Ask,buySL,buyTp,"Buy Trade Placed"))
|
|
if(trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,getlot(distance),Ask,buySL,buyTp,"Buy Trade Placed"))
|
|
|
{
|
|
{
|
|
@@ -1909,16 +1898,9 @@ void placeSellTrade()
|
|
|
int tp = iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_sell,false);
|
|
int tp = iBarShift(Symbol(), PERIOD_CURRENT,tp_date_time_sell,false);
|
|
|
sell_Tp = iLow(Symbol(),PERIOD_CURRENT,tp);
|
|
sell_Tp = iLow(Symbol(),PERIOD_CURRENT,tp);
|
|
|
|
|
|
|
|
- //tp_date_time_sell = 0.0;
|
|
|
|
|
|
|
+//tp_date_time_sell = 0.0;
|
|
|
double distance = (sell_SL - Bid)/Point();
|
|
double distance = (sell_SL - Bid)/Point();
|
|
|
-//if(stoploss != 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// sell_SL = Bid + (stoploss *10* Point());
|
|
|
|
|
-// }
|
|
|
|
|
-//if(takeProfit != 0)
|
|
|
|
|
-// {
|
|
|
|
|
-// sell_Tp = Bid - (takeProfit *10* Point());
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
if(trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,getlot(distance),Bid,sell_SL,sell_Tp,"Sell Trade Placed"))
|
|
if(trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,getlot(distance),Bid,sell_SL,sell_Tp,"Sell Trade Placed"))
|
|
@@ -1948,27 +1930,27 @@ int OnInit()
|
|
|
|
|
|
|
|
int idx = 0;
|
|
int idx = 0;
|
|
|
|
|
|
|
|
-//int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT,inpTime, false);
|
|
|
|
|
-//if(ObjectCreate(0,"line",OBJ_VLINE,0,inpTime,iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
|
|
|
|
|
-// {
|
|
|
|
|
-// Print("vertical line created on chart : ");
|
|
|
|
|
-// }
|
|
|
|
|
-//else
|
|
|
|
|
-// {
|
|
|
|
|
-// Print("error in creating line : ");
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT, D'2021.09.01 15:30:27', false);
|
|
|
|
|
- if(ObjectCreate(0,"line",OBJ_VLINE,0,D'2021.09.01 15:30:27',iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
|
|
|
|
|
|
|
+ int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT,inpTime, false);
|
|
|
|
|
+ if(ObjectCreate(0,"line",OBJ_VLINE,0,inpTime,iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
|
|
|
{
|
|
{
|
|
|
- Print("object created on chart : ");
|
|
|
|
|
|
|
+ Print("vertical line created on chart : ");
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- Print("object not created : ");
|
|
|
|
|
|
|
+ Print("error in creating line : ");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+//int user_input_index = iBarShift(Symbol(), PERIOD_CURRENT, D'2021.09.01 15:30:27', false);
|
|
|
|
|
+//if(ObjectCreate(0,"line",OBJ_VLINE,0,D'2021.09.01 15:30:27',iLow(Symbol(),PERIOD_CURRENT,user_input_index)))
|
|
|
|
|
+// {
|
|
|
|
|
+// Print("object created on chart : ");
|
|
|
|
|
+// }
|
|
|
|
|
+//else
|
|
|
|
|
+// {
|
|
|
|
|
+// Print("object not created : ");
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
object_find(object_name);
|
|
object_find(object_name);
|
|
|
if(object_find(object_name) == true)
|
|
if(object_find(object_name) == true)
|
|
|
{
|
|
{
|
|
@@ -2103,29 +2085,17 @@ void OnTick()
|
|
|
if(od_1[m].choch_index_date_time != 0)
|
|
if(od_1[m].choch_index_date_time != 0)
|
|
|
{
|
|
{
|
|
|
|
|
|
|
|
- //Print("current time is ",TimeCurrent());
|
|
|
|
|
- //Print("time is ",od_1[m].Time_of_candle_For_trade);
|
|
|
|
|
- //Print("signal is ",od_1[m].Signal);
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
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*/)
|
|
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*/)
|
|
|
{
|
|
{
|
|
|
- // Print("time is greater and signal is buy ",TimeCurrent());
|
|
|
|
|
|
|
|
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
|
|
|
|
|
|
- // Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
|
|
|
|
|
- // Print("choch_index_date_time ",od_1[m].choch_index_date_time);
|
|
|
|
|
- //
|
|
|
|
|
- // Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
|
|
|
|
|
- // Print("low of current candle ",iLow(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- // Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
|
|
|
|
|
- // Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
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);
|
|
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);
|
|
|
|
|
|
|
|
if(reversalMax > iLow(Symbol(),PERIOD_CURRENT,1)
|
|
if(reversalMax > iLow(Symbol(),PERIOD_CURRENT,1)
|
|
|
- && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_buy != 0.0 )
|
|
|
|
|
|
|
+ && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_buy != 0.0)
|
|
|
{
|
|
{
|
|
|
Print("<<<<<<<<<<<< Entry 1 >>>>>>>>>");
|
|
Print("<<<<<<<<<<<< Entry 1 >>>>>>>>>");
|
|
|
placeBuyTrade();
|
|
placeBuyTrade();
|
|
@@ -2148,24 +2118,15 @@ void OnTick()
|
|
|
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*/)
|
|
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*/)
|
|
|
{
|
|
{
|
|
|
|
|
|
|
|
- //Print("i am in enrtry condition 1 : ");
|
|
|
|
|
-
|
|
|
|
|
- // Print("time is greater and signal is sell ",TimeCurrent());
|
|
|
|
|
|
|
|
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
|
|
|
|
|
|
- // Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
|
|
|
|
|
- // Print("choch_index_date_time ",od_1[m].choch_index_date_time);
|
|
|
|
|
- //
|
|
|
|
|
- // Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
|
|
|
|
|
- // Print("low of current candle ",iLow(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- // Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
|
|
|
|
|
- // Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
|
|
+
|
|
|
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);
|
|
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);
|
|
|
|
|
|
|
|
if(reversalMin < iHigh(Symbol(),PERIOD_CURRENT,1)
|
|
if(reversalMin < iHigh(Symbol(),PERIOD_CURRENT,1)
|
|
|
- && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell != 0.0 )
|
|
|
|
|
|
|
+ && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell != 0.0)
|
|
|
{
|
|
{
|
|
|
placeSellTrade();
|
|
placeSellTrade();
|
|
|
remove_value_from_structure();
|
|
remove_value_from_structure();
|
|
@@ -2194,21 +2155,10 @@ void OnTick()
|
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- // Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
|
|
|
|
|
- // Print("choch_index_date_time ",od_1[m].choch_index_date_time);
|
|
|
|
|
- //
|
|
|
|
|
- // Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
|
|
|
|
|
- // Print("low of current candle ",iLow(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- // Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
|
|
|
|
|
- // Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
if(value_close_high(close_index) == true)
|
|
if(value_close_high(close_index) == true)
|
|
|
{
|
|
{
|
|
|
if(iClose(Symbol(),PERIOD_CURRENT,close_index) > iLow(Symbol(),PERIOD_CURRENT,1)
|
|
if(iClose(Symbol(),PERIOD_CURRENT,close_index) > iLow(Symbol(),PERIOD_CURRENT,1)
|
|
|
- && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_buy != 0.0 )
|
|
|
|
|
|
|
+ && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_buy != 0.0)
|
|
|
{
|
|
{
|
|
|
Print("<<<<<<<<<<<< Entry 2 >>>>>>>>>");
|
|
Print("<<<<<<<<<<<< Entry 2 >>>>>>>>>");
|
|
|
placeBuyTrade();
|
|
placeBuyTrade();
|
|
@@ -2232,25 +2182,13 @@ void OnTick()
|
|
|
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*/)
|
|
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*/)
|
|
|
{
|
|
{
|
|
|
|
|
|
|
|
- // Print("time is greater and signal is sell ",TimeCurrent());
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
|
|
|
|
|
|
- // Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
|
|
|
|
|
- // Print("choch_index_date_time ",od_1[m].choch_index_date_time);
|
|
|
|
|
- //
|
|
|
|
|
- // Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
|
|
|
|
|
- // Print("low of current candle ",iLow(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- // Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
|
|
|
|
|
- // Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
-
|
|
|
|
|
if(value_close_low(close_index) == true)
|
|
if(value_close_low(close_index) == true)
|
|
|
{
|
|
{
|
|
|
if(iClose(Symbol(),PERIOD_CURRENT,close_index) < iHigh(Symbol(),PERIOD_CURRENT,1)
|
|
if(iClose(Symbol(),PERIOD_CURRENT,close_index) < iHigh(Symbol(),PERIOD_CURRENT,1)
|
|
|
- && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell!= 0.0 )
|
|
|
|
|
|
|
+ && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1) && tp_date_time_sell!= 0.0)
|
|
|
{
|
|
{
|
|
|
placeSellTrade();
|
|
placeSellTrade();
|
|
|
remove_value_from_structure();
|
|
remove_value_from_structure();
|
|
@@ -2273,84 +2211,6 @@ void OnTick()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // for(int m=0; m < orderNum; m++)
|
|
|
|
|
- // {
|
|
|
|
|
- // if(od_1[m].choch_index_date_time != 0)
|
|
|
|
|
- // {
|
|
|
|
|
- //
|
|
|
|
|
- // //Print("current time is ",TimeCurrent());
|
|
|
|
|
- // //Print("time is ",od_1[m].Time_of_candle_For_trade);
|
|
|
|
|
- // //Print("signal is ",od_1[m].Signal);
|
|
|
|
|
- //
|
|
|
|
|
- //
|
|
|
|
|
- // if(TimeCurrent() >= od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "buy" && od_1[m].Time_of_candle_For_trade != 0)
|
|
|
|
|
- // {
|
|
|
|
|
- // // Print("time is greater and signal is buy ",TimeCurrent());
|
|
|
|
|
- //
|
|
|
|
|
- // int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
|
|
|
- // int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
|
|
|
- //
|
|
|
|
|
- // // Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
|
|
|
|
|
- // // Print("choch_index_date_time ",od_1[m].choch_index_date_time);
|
|
|
|
|
- // //
|
|
|
|
|
- // // Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
|
|
|
|
|
- // // Print("low of current candle ",iLow(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- // // Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
|
|
|
|
|
- // // Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- //
|
|
|
|
|
- // if(iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx) > iLow(Symbol(),PERIOD_CURRENT,1)
|
|
|
|
|
- // && iClose(Symbol(),PERIOD_CURRENT,close_index) < iClose(Symbol(),PERIOD_CURRENT,1))
|
|
|
|
|
- // {
|
|
|
|
|
- // placeBuyTrade();
|
|
|
|
|
- // remove_value_from_structure();
|
|
|
|
|
- // od_1[m].choch_index_date_time = 0;
|
|
|
|
|
- // od_1[m].Signal == "";
|
|
|
|
|
- // od_1[m].reversal_index_date_time = 0;
|
|
|
|
|
- // od_1[m].choch_index_date_time = 0;
|
|
|
|
|
- //
|
|
|
|
|
- // signal = "";
|
|
|
|
|
- // Print("buy trade placed -------------------------------------------------------------");
|
|
|
|
|
- // Print("time at which trade is placed : ",TimeCurrent());
|
|
|
|
|
- //
|
|
|
|
|
- // }
|
|
|
|
|
- //
|
|
|
|
|
- //
|
|
|
|
|
- // }
|
|
|
|
|
- //
|
|
|
|
|
- // if(TimeCurrent() >= od_1[m].Time_of_candle_For_trade && od_1[m].Signal == "sell" && od_1[m].Time_of_candle_For_trade != 0)
|
|
|
|
|
- // {
|
|
|
|
|
- //
|
|
|
|
|
- // // Print("time is greater and signal is sell ",TimeCurrent());
|
|
|
|
|
- //
|
|
|
|
|
- // int reversal_indexx = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].reversal_index_date_time,false);
|
|
|
|
|
- // int close_index = iBarShift(Symbol(), PERIOD_CURRENT,od_1[m].choch_index_date_time,false);
|
|
|
|
|
- //
|
|
|
|
|
- // // Print("reversal_index_date_time ",od_1[m].reversal_index_date_time);
|
|
|
|
|
- // // Print("choch_index_date_time ",od_1[m].choch_index_date_time);
|
|
|
|
|
- // //
|
|
|
|
|
- // // Print(" high is ",iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx));
|
|
|
|
|
- // // Print("low of current candle ",iLow(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- // // Print("close of chock is ",iClose(Symbol(),PERIOD_CURRENT,close_index));
|
|
|
|
|
- // // Print("close of current candle is ",iClose(Symbol(),PERIOD_CURRENT,0));
|
|
|
|
|
- //
|
|
|
|
|
- // if(iHigh(Symbol(),PERIOD_CURRENT,reversal_indexx) < iLow(Symbol(),PERIOD_CURRENT,1)
|
|
|
|
|
- // && iClose(Symbol(),PERIOD_CURRENT,close_index) > iClose(Symbol(),PERIOD_CURRENT,1))
|
|
|
|
|
- // {
|
|
|
|
|
- // placeSellTrade();
|
|
|
|
|
- // remove_value_from_structure();
|
|
|
|
|
- // od_1[m].choch_index_date_time = 0;
|
|
|
|
|
- // od_1[m].Signal == "";
|
|
|
|
|
- // od_1[m].reversal_index_date_time = 0;
|
|
|
|
|
- // od_1[m].choch_index_date_time = 0;
|
|
|
|
|
- // signal = "";
|
|
|
|
|
- // Print("sell trade placed -------------------------------------------------------------");
|
|
|
|
|
- // Print("time at which trade is placed : ",TimeCurrent());
|
|
|
|
|
- //
|
|
|
|
|
- // }
|
|
|
|
|
- //
|
|
|
|
|
- // }
|
|
|
|
|
- // }
|
|
|
|
|
- // }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -2409,7 +2269,4 @@ string checkCandle(int v) // to check the candle is bullish or bearish
|
|
|
}
|
|
}
|
|
|
//+------------------------------------------------------------------+
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-//+------------------------------------------------------------------+
|
|
|
|
|
-
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
//+------------------------------------------------------------------+
|