Я вывожу данные из MQL4 для обработки в python. Я делаю все это навалом за один раз. Я экспортирую значения индикатора и смену следующего бара, 0 для короткой, 1 для длинной. Когда я обрабатываю данные в моей нейронной сети, я получаю довольно высокую точность. Я также получаю этот уровень точности на тестовом наборе.
Однако в реальной торговле эта точность не сохраняется.
Первый блок кода является примером некоторых индикаторов и метода, который я использую для их экспорта.
float plus = iADX(Symbol(), PERIOD_M15, 14, PRICE_CLOSE, MODE_PLUSDI, 2);
float minus = iADX(Symbol(), PERIOD_M15, 14, PRICE_CLOSE, MODE_MINUSDI, 2);
float demarker = iDeMarker(Symbol(), PERIOD_M15, 14, 2);
float momentum = iMomentum(Symbol(), PERIOD_M15, 14, PRICE_CLOSE, 2);
float atr = iATR(Symbol(), PERIOD_M15, 14, 2);
Поступая так, я пытаюсь записать значение индикатора на два бара позади текущего в тестере.
Следующий код - это функция, которую я использую для возврата изменения для следующего бара.
int Change()
{
double bar = iOpen(Symbol(), PERIOD_M15, 1);
double bar2 = iClose(Symbol(), PERIOD_M15, 1);
int change;
if(bar >= bar2)
change = 0;
else
change = 1;
return(change);
}
Это рабочий способ для точного сохранения значений индикатора в этой позиции?