боюсь эта конструкция if(Time[0]>iTime(0,1440,60)) всегда будет возвращать истину, т.к. это iTime(0,1440,60) значение будет на 60 баров левее, чем Time[0]..
#property show_inputs// время окончания тестировани externstring endTestTime ="2010.02.10 0:00";// название парыexternstring symbolTest ="";// период на котором ищем нужное время по номеру testBarCount бара относительно времени endTestTimeexternint periodTest =0;// количество баров в прошлое относительно времени endTestTimeexternint testBarCount =60;int init(){if( symbolTest =="") symbolTest =Symbol();// искомое времяPrint(TimeToStr(iTime( symbolTest, periodTest,iBarShift( symbolTest, periodTest,StrToTime( endTestTime))+ testBarCount)));}
этот кусок кода будет отсекать лишнее время до требуемого времени начала оптимизации (то что мы задаем в параметрах) и после времени окончания оптимизации..
боюсь эта конструкция if(Time[0]>iTime(0,1440,60)) всегда будет возвращать истину, т.к. это iTime(0,1440,60) значение будет на 60 баров левее, чем Time[0]..
что показывает тест ?
问题陈述:我有一个EA,我想在策略测试器中对 它进行优化,比如说最后 40条(见线程)。
if(Time[0]>iTime(0,1440,60))
如果时间(模拟)变得比日线上第60根柱子的开盘时间长,那么执行这个函数有什么问题呢?
既然你知道它应该在什么时候结束,那么就做以下事情
假设测试结束 2010.02.10 0:00
根据下面的代码制作一个脚本
这个脚本允许你找到你想测试EA的时间...
在EA中设置几个变量
这个脚本允许你找到你想测试EA的时间...
在EA中设置几个变量
在startTime中我们记录了脚本获得的时间,在endTime中我们记录了输入到脚本的变量endTestTime中的时间...。Постановка задачи: имеется советник, есть желание его оптимизировать на последних, например, 40-ка барах (60 см. ветку)в тестере стратегий.
if(Time[0]>iTime(0,1440,60))
если время(моделируемое) стало больше времени открытия 60-го бара на дневке тогда выполнить функцию что не так?!
所以60巴也是相对于0巴调制的。
任务说明:有一个专家顾问,我们想在 策略测试器中 对其进行优化,例如,相对于当前时间 的最后 40条。这四十根柱子可以是每小时、4小时、每日或其他时间框架的。策略测试器工作:测试器面板上显示其工作的时间间隔。这种设置操作时间的方式不能满足上述任务--测试40条。这意味着我们需要改变Expert Advisor,以便不是由测试员来定义测试时间(其能力不被满足),而是由代码本身 来定义。
你的建议不会起作用,因为对测试者来说,N个小节之前的时间就是当前时间。
T.K.
对于当前时间,测试仪将从当前时间开始计算打开指定条形(向后)的时间。也就是说,再来一次也解决不了问题。它应该是从今天的(瞬时) 小节往回推N个小节,而不是从测试者的当前时间 往回推。
我没有弄错吧。
допустим тестирование заканчивается 2010.02.10 0:00
делаем скрипт из кода ниже
这个脚本很好,但是!!它将给出一个时间值,随后必须在测试器面板上进行 "评分"。这不是好事....但是在小的TF和小量的巴洛上,它将显示这样的时间,这在测试器中是无法 "得分 "的,因为在测试器中给出的是日期,而且只有日期。测试从开始日期的00:00到结束日期的00:00进行。不可能指定时间,特别是在分钟!!!!。
原因很简单,测试者生活在自己的时间里,而我们和真实的报价生活在不同的时间里,这些时间空间只在我们的想象中重合......
你不能在测试器中设置准确的时间,这没关系,把当天的开始时间或前一天的开始时间--这已经是一种成本了......
这段代码将在所需的优化开始时间(我们在参数中设置的)和优化结束时间之后切断额外的时间。
看看图中,前几天开始只画了60条的偏移量。下面是代码的一部分。你有没有试过任何推荐的产品?试试吧,你会明白的。
этот кусок кода будет отсекать лишнее время до требуемого времени начала оптимизации (то что мы задаем в параметрах) и после времени окончания оптимизации..
我的理解是,EA会到脚本中获取数据,条形图应该在脚本中设置。
И!很抱歉,你能不能把脚本的完整代码贴出来?说来惭愧,在我从事MQL的一年半时间里,我从来没有写过一个脚本。