El probador de MT4 no da información de otros plazos - página 7

 
vladv002 >>:

Я извиняюсь, но тему я начал с того что в советнике на тесте данные не те, потому стал проверять что там и где,
в итоге оказывается что неверные данные в тестере хоть в индикаторе хоть в советнике.
Это я проверял и на своем коде и на готовых индикаторах поставленных на эксперта в режиме тестирования,
НО увы результат - только с одного ТФ.
iCustom() - Это первое что я применял, потом перебрал почти все из справки, резутьтат тот же!


Muéstrame tu código. También debería haber visto el indicador

 
Rosh escribió:>>
Llame al indicador desde el EA y asegúrese de que todo funciona correctamente. Deja de trollear, habrá un baneo.

¿Qué es el trolling? Tratando de dar sentido a la situación.
Si nos equivocamos, ayúdanos.
Pero si usas el código del EA de Víctor, llamas a invertir y miras con qué trabaja en el archivo, las conclusiones no cambiarán.
Corregir o prohibir ;)

//+------------------------------------------------------------------+
//| VininE_test |
//| Copyright © 2010, Victor Nicolaev |
//| e-mail: vinin@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Victor Nicolaev"
#property link "e-mail: vinin@mail.ru"


//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {return(0);}

//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {return(0); }


//+------------------------------------------------------------------+
//Работа по отдельной ТС
//+------------------------------------------------------------------+
int start() {
static int prevtime=0;
if (Time[0]==prevtime) return(0);
if (prevtime==0) {
prevtime=Time[0];
return(0);
}
prevtime=Time[0];

switch (Period()) {
case PERIOD_M1: myPrint(PERIOD_M1);
case PERIOD_M5: myPrint(PERIOD_M5);
case PERIOD_M15: myPrint(PERIOD_M15);
case PERIOD_M30: myPrint(PERIOD_M30);
case PERIOD_H1: myPrint(PERIOD_H1);
case PERIOD_H4: myPrint(PERIOD_H4);
case PERIOD_D1: myPrint(PERIOD_D1);
case PERIOD_W1: myPrint(PERIOD_W1);
case PERIOD_MN1: myPrint(PERIOD_MN1);
}
return(0);
}

void myPrint(int TimeFrame){
Print(PeriodToStr(TimeFrame)+": ",
TimeToStr(iTime( NULL, TimeFrame, 0),TIME_DATE)," ",
TimeToStr(iTime( NULL, TimeFrame, 0),TIME_MINUTES), "; ",
iOpen( NULL, TimeFrame, 0), "; ",
iHigh( NULL, TimeFrame, 0), "; ",
iLow( NULL, TimeFrame, 0), "; ",
iClose(NULL, TimeFrame, 0),"; ",
iCustom(NULL,TimeFrame,"invert",0,0));

}

string PeriodToStr(int TimeFrame){
switch (TimeFrame){
case PERIOD_M1 : return("M1");
case PERIOD_M5 : return("M5");
case PERIOD_M15: return("M15");
case PERIOD_M30: return("M30");
case PERIOD_H1 : return("H1");
case PERIOD_H4 : return("H4");
case PERIOD_D1 : return("D1");
case PERIOD_W1 : return("W1");
case PERIOD_MN1: return("MN1");
}
}
Archivos adjuntos:
invert_2.mq4  4 kb
 
Vinin >>:


При правильном подходе все работает нормально.

Así es, lo confirmo.

 
YuraZ >>:

верно - подтверждаю


¿Te has fijado en el registro de Víctor que el TF mensual da 0?

¿Por qué?

 
avatara >>:

Вы заметили в логе Виктора, что месячный ТФ выдает 0?

Почему?


El número de barras no es suficiente para calcular los valores, supongo que es una opción.
 
yuripk >>:


Количества баров не хватает для расчёта значений, полагаю такой вариант.

¿o esperar al final del bar?

 
avatara писал(а) >>
¿Qué es lo que hace el troll? Tratando de dar sentido a la situación.
Si estamos equivocados, por favor, ayúdenos.
Pero si usas el código del EA de Victor, llama a invertir y mira con qué trabaja en el archivo - las conclusiones no cambiarán.
Corregir o prohibir ;)


¿Has puesto tu indicador en el gráfico?
Sólo voy a tomar un par de líneas

for (i=Period()-1; i>=0; i--)
          Value=iClose(PARA,0,i+k*Period());
i+k*Periodo());
De hecho, está buscando una barra con el número Period()^2 (como máximo), y puede que no haya tantas barras en el historial
 
vladv002 >>:

Ваш код как есть запустил - работает НО данные по всем строкам одинаковые!!! Т.е. с одного ТФ!
Минутку, у Вас все цыфиры по ТФ разные и меняются? Может что с моим МТ4, здесь вер-220.
Пожалуйста проверьте на счет цыфир, а еще лучше смените вывод на[0][0]:
"\n", " -----------1------ = ",arr1[0][1]," - ", arr1[0][1], Хотя разницы особо нет.
Подставил Ваши блоки - меняются цыфиры только того ТФ на котором идет тест!
Но всеравно спасибо.


Tienes que cambiarlo con cuidado, todo cambia como debería. He dado un ejemplo de trabajo, cambia lo que necesites y trata con ArrayCopyRates, puedes obtener valores no sólo de otros timeframes sino también de otros símbolos.

 
Vinin >>:


Ты свой индикатор на график выкладывал?

Sí.

No sé... algo está mal. Inténtalo de nuevo. ¿Quizás sea un fallo del historial?

O la construcción es nueva.

Pero mi barra cero M1 fue vista por última vez el 2/04/2010. No puedo evitarlo.

 
avatara писал(а) >>

Sí.

No sé... algo está mal. Inténtalo de nuevo. ¿Quizás sea un fallo del historial?

O la construcción es nueva.

Pero mi barra de cero M1 fue vista por última vez el 2/04/2010. No puedo evitarlo.

Me he corregido en el post anterior.
Mejor que me digas lo que querías conseguir...