Я извиняюсь, но тему я начал с того что в советнике на тесте данные не те, потому стал проверять что там и где, в итоге оказывается что неверные данные в тестере хоть в индикаторе хоть в советнике. Это я проверял и на своем коде и на готовых индикаторах поставленных на эксперта в режиме тестирования, НО увы результат - только с одного ТФ. iCustom() - Это первое что я применял, потом перебрал почти все из справки, резутьтат тот же!
//+------------------------------------------------------------------+ //| 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); }
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"); } }
Ваш код как есть запустил - работает НО данные по всем строкам одинаковые!!! Т.е. с одного ТФ! Минутку, у Вас все цыфиры по ТФ разные и меняются? Может что с моим МТ4, здесь вер-220. Пожалуйста проверьте на счет цыфир, а еще лучше смените вывод на[0][0]: "\n", " -----------1------ = ",arr1[0][1]," - ", arr1[0][1], Хотя разницы особо нет. Подставил Ваши блоки - меняются цыфиры только того ТФ на котором идет тест! Но всеравно спасибо.
Я извиняюсь, но тему я начал с того что в советнике на тесте данные не те, потому стал проверять что там и где,
в итоге оказывается что неверные данные в тестере хоть в индикаторе хоть в советнике.
Это я проверял и на своем коде и на готовых индикаторах поставленных на эксперта в режиме тестирования,
НО увы результат - только с одного ТФ.
iCustom() - Это первое что я применял, потом перебрал почти все из справки, резутьтат тот же!
给我看看你的代码。你也应该看到指标
从EA中调用该指标,确保一切工作正常。不要再耍花招了,会被禁赛的。
是什么在捣乱?试图使情况合理化。
如果我们错了,请帮助我们。
但如果你使用Victor的EA代码,调用invert,看看它在文件中的工作情况,结论就不会改变。
纠正或禁止;)
//+------------------------------------------------------------------+
//| 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");
}
}
При правильном подходе все работает нормально.这就对了--我确认。
верно - подтверждаю
你是否注意到在维克多的日志中,每月的TF发出了0?
为什么?
Вы заметили в логе Виктора, что месячный ТФ выдает 0?
Почему?
条形图的数量不足以计算出数值,我想这是一种选择。
Количества баров не хватает для расчёта значений, полагаю такой вариант.还是要等到酒吧结束?
什么是巨魔?试图使情况合理化。
如果我们错了,请帮助我们。
但如果你使用Victor的EA代码,调用invert,看看它在文件中的工作内容--结论不会改变。
纠正或禁止;)
i+k*Period())。你把你的指标放在图表上了吗?
我只想说几句话
事实上,你正在寻找一个具有Period()^2(最多)数字的柱子,而历史上可能没有这么多柱子。
Ваш код как есть запустил - работает НО данные по всем строкам одинаковые!!! Т.е. с одного ТФ!
Минутку, у Вас все цыфиры по ТФ разные и меняются? Может что с моим МТ4, здесь вер-220.
Пожалуйста проверьте на счет цыфир, а еще лучше смените вывод на[0][0]:
"\n", " -----------1------ = ",arr1[0][1]," - ", arr1[0][1], Хотя разницы особо нет.
Подставил Ваши блоки - меняются цыфиры только того ТФ на котором идет тест!
Но всеравно спасибо.
你必须小心翼翼地改变它,一切都会按部就班地改变。我已经给出了一个工作实例,改变你需要的东西,并处理ArrayCopyRates,你不仅可以从其他时间段获得数值,还可以从其他符号获得数值。
Ты свой индикатор на график выкладывал?
是的。
我不知道......有些不对劲。再试一次。也许是历史故障?
或者说是新建的。
但是,我的M1零号杆最后一次出现是在2010年4月2日。我不能帮助它。
是的。
我不知道......有些不对劲。再试一次。也许是历史故障?
或者说是新建的。
但是,我的M1零号杆最后一次出现是在2010年4月2日。我不能帮助它。
你最好告诉我你想得到什么?