Le testeur MT4 ne donne pas d'informations sur les autres périodes de temps. - page 7

 
vladv002 >>:

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


Montrez-moi votre code. Vous devriez également avoir vu l'indicateur

 
Rosh a écrit: >>
Appelez l'indicateur depuis l'EA et vérifiez que tout fonctionne correctement. Arrêtez de troller, il y aura un bannissement.

Quel est le trolling ? J'essaie de donner un sens à la situation.
Si nous avons tort, aidez-nous.
Mais si vous utilisez le code EA de Victor, appelez invert et regardez avec quoi il travaille dans le fichier, les conclusions ne changeront pas.
Corriger ou bannir ;)

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


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

C'est exact - je confirme.

 
YuraZ >>:

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


Avez-vous remarqué dans le journal de Victor que le TF mensuel donne 0 ?

Pourquoi ?

 
avatara >>:

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

Почему?


Le nombre de barres n'est pas suffisant pour calculer les valeurs, je suppose que c'est une option.
 
yuripk >>:


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

pour l'ouverture et d'autres informations alors correctes sont suffisantes. ou attendre la fin du bar ?

 
avatara писал(а) >>
C'est quoi ce côté troll ? J'essaie de donner un sens à la situation.
Si nous avons tort, veuillez nous aider.
Mais si vous utilisez le code EA de Victor, appelez invert et regardez avec quoi il travaille dans le fichier - les conclusions ne changeront pas.
Corriger ou bannir ;)


Avez-vous mis votre indicateur sur le graphique ?
Je vais juste prendre quelques lignes

for (i=Period()-1; i>=0; i--)
          Value=iClose(PARA,0,i+k*Period());
i+k*Période()) ;
En fait, vous recherchez une barre avec le nombre Période()^2 (au maximum), et il se peut qu'il n'y ait pas autant de barres dans l'historique.
 
vladv002 >>:

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


Vous devez le modifier avec soin, tout change comme il se doit. J'ai donné un exemple fonctionnel, modifiez ce dont vous avez besoin et traitez avec ArrayCopyRates, vous pouvez obtenir des valeurs non seulement à partir d'autres horizons temporels mais aussi à partir d'autres symboles.

 
Vinin >>:


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

Ouais.

Je ne sais pas... quelque chose ne va pas. Réessayez. Peut-être que c'est un problème d'histoire ?

Ou la construction est nouvelle.

Mais ma barre de zéro M1 a été vue pour la dernière fois le 2/04/2010. Je ne peux pas m'en empêcher.

 
avatara писал(а) >>

Ouais.

Je ne sais pas... quelque chose ne va pas. Réessayez. Peut-être que c'est un problème d'histoire ?

Ou la construction est nouvelle.

Mais ma barre de zéro M1 a été vue pour la dernière fois le 2/04/2010. Je ne peux pas m'en empêcher.

Je me suis corrigé dans le message ci-dessus.
Vous feriez mieux de me dire ce que vous vouliez obtenir ?
Raison: