подскажите алгоритм явного контроля баров - страница 2

 
перепробовал разные варианты, не работает ни на реале (вообще молчит), на истории работает маленькими кусочками по нескольку итераций, потом перескакивает день или дни
Файлы:
 

взял еще один похожий код (ниже), просто вставил в него принт и кинул на график. На реале пока норм, на истории опять скачки (внизу распечатка). Если история дырявая, могут быть такие прыжки?


//Creating a variable to store the Time a new candle start

//Populating the variable with the current server time

datetime NewCandleTime=TimeCurrent();

 

//Creating a boolean function that returns

//True if this is a new candle

//False if this is still a candle in formation

//Remember that the function returns true every time the you initialize the script

//for example the first time you load the indicator or EA and when you change timeframe

bool IsNewCandle(){

 

   //If the time of the candle when the function last run

   //is the same as the time of the time this candle started

   //return false, because it is not a new candle

   if(NewCandleTime==iTime(Symbol(),0,0)) return false;

   

   //otherwise it is a new candle and return true

   else{

      //if it is a new candle then we store the new value

      NewCandleTime=iTime(Symbol(),0,0);

      return true;

   }

}

void OnTick(){

   if(IsNewCandle()){

      //Task to execute at the start of the new candle

   }

}


2020.02.03 22:38:37.254 2019.12.05 11:22:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3141

2020.02.03 22:38:37.254 2019.12.05 11:21:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3141

2020.02.03 22:38:37.254 2019.12.05 11:20:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3142

2020.02.03 22:38:37.254 2019.12.05 11:19:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3144

2020.02.03 22:38:36.988 2019.11.19 01:37:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.295

2020.02.03 22:38:36.988 2019.11.19 01:36:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.295

2020.02.03 22:38:36.988 2019.11.19 01:35:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2951

2020.02.03 22:38:36.988 2019.11.19 01:34:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2951

2020.02.03 22:38:36.988 2019.11.19 01:33:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2951

2020.02.03 22:38:36.988 2019.11.19 01:32:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.295

2020.02.03 22:38:36.988 2019.11.19 01:31:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2952

2020.02.03 22:38:36.988 2019.11.19 01:30:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2953


 
freshwind:

взял еще один похожий код (ниже), просто вставил в него принт и кинул на график. На реале пока норм, на истории опять скачки (внизу распечатка). Если история дырявая, могут быть такие прыжки?


//Creating a variable to store the Time a new candle start

//Populating the variable with the current server time

datetime NewCandleTime=TimeCurrent();

 

//Creating a boolean function that returns

//True if this is a new candle

//False if this is still a candle in formation

//Remember that the function returns true every time the you initialize the script

//for example the first time you load the indicator or EA and when you change timeframe

bool IsNewCandle(){

 

   //If the time of the candle when the function last run

   //is the same as the time of the time this candle started

   //return false, because it is not a new candle

   if(NewCandleTime==iTime(Symbol(),0,0)) return false;

   

   //otherwise it is a new candle and return true

   else{

      //if it is a new candle then we store the new value

      NewCandleTime=iTime(Symbol(),0,0);

      return true;

   }

}

void OnTick(){

   if(IsNewCandle()){

      //Task to execute at the start of the new candle

   }

}


2020.02.03 22:38:37.254 2019.12.05 11:22:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3141

2020.02.03 22:38:37.254 2019.12.05 11:21:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3141

2020.02.03 22:38:37.254 2019.12.05 11:20:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3142

2020.02.03 22:38:37.254 2019.12.05 11:19:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.3144

2020.02.03 22:38:36.988 2019.11.19 01:37:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.295

2020.02.03 22:38:36.988 2019.11.19 01:36:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.295

2020.02.03 22:38:36.988 2019.11.19 01:35:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2951

2020.02.03 22:38:36.988 2019.11.19 01:34:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2951

2020.02.03 22:38:36.988 2019.11.19 01:33:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2951

2020.02.03 22:38:36.988 2019.11.19 01:32:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.295

2020.02.03 22:38:36.988 2019.11.19 01:31:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2952

2020.02.03 22:38:36.988 2019.11.19 01:30:00  code_New_bar_shablon_11 GBPUSD,M1:  Íîâèé áàð = 1.2953


распечатка прямо из лог-файла? просто в журнал в терминале не всё может выводится.

собственно историю эту смотрел -есть она?

 

да, в логе тестера есть все тики. Но, запускаю сову (прилагается) на свежей истории М1 с начала ноября прошлого года и получается странная картина - вначале открывает несколько сделок, закрывает их по виртуальному слежению (хотя немного криво...), потом последний открытый ордер висит и не закрывается вообще...

Подскажите что не так. Вообще в сове нужно реализовать не установку стопов через модификацию, а побаровое слежение за удалением цены от открытого ордера. Если зашли за тейки или стопы - закрываем. Хочу попробовать поторговать на маленьких тейках (ниже стоплевела)

Файлы:
Force.mq4  8 kb
 
хоть подскажите в какую сторону смотреть...
 
принтуйте все действия, анализируйте принты