O testador MT4 não fornece informações de outros períodos de tempo - página 7

 
vladv002 >>:

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


Mostre-me seu código. Você também deveria ter visto o indicador

 
Rosh escreveu:>>
Ligue para o indicador da EA e certifique-se de que tudo funciona corretamente. Pare de trolling, haverá uma proibição.

O que é o corrico? Tentando dar sentido à situação.
Se estivermos errados, ajude-nos.
Mas se você usar o código EA do Victor, ligue para inverter e veja com o que ele funciona no arquivo, as conclusões não mudarão.
Corrigir ou proibir ;)

//+------------------------------------------------------------------+
//| 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");
}
}
Arquivos anexados:
invert_2.mq4  4 kb
 
Vinin >>:


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

Isso mesmo - eu confirmo.

 
YuraZ >>:

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


Você notou no diário de bordo do Victor que a TF mensal dá 0?

Por quê?

 
avatara >>:

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

Почему?


O número de barras não é suficiente para calcular os valores, suponho que essa seja uma opção.
 
yuripk >>:


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

para informações mais abertas e outras então corretas é suficiente. ou esperar pelo fim do bar?

 
avatara писал(а) >>
Qual é o problema? Tentando dar sentido à situação.
Se estivermos errados, por favor, ajude.
Mas se você usar o código EA do Victor, ligue para inverter e veja com o que ele funciona no arquivo - as conclusões não mudarão.
Corrigir ou proibir ;)


Você colocou seu indicador na tabela?
Vou pegar apenas algumas linhas

for (i=Period()-1; i>=0; i--)
          Value=iClose(PARA,0,i+k*Period());
i+k*Periodo());
Na verdade você está procurando uma barra com o número Período()^2 (no máximo), e pode não haver tantas barras na história
 
vladv002 >>:

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


É preciso mudá-lo cuidadosamente, tudo muda como deve ser. Dei um exemplo de trabalho, mude o que você precisa e lide com o ArrayCopyRates, você pode obter valores não apenas de outros prazos, mas também de outros símbolos.

 
Vinin >>:


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

Sim.

Não sei... algo está errado. Tente novamente. Talvez seja uma falha na história...

Ou a construção é nova.

Mas minha barra M1 zero foi vista pela última vez em 2/04/2010. Não posso evitá-lo.

 
avatara писал(а) >>

Sim.

Não sei... algo está errado. Tente novamente. Talvez seja uma falha na história...

Ou a construção é nova.

Mas minha barra M1 zero foi vista pela última vez em 2/04/2010. Não posso evitá-lo.

Eu mesmo me corrigi no posto acima.
É melhor você me dizer o que você queria conseguir?