这位大大说的好象是从右起第四根K线起前面的20根K线里的最高价~ 我想要是比如10月1号的16:00到10月5号的17:00这段时间里的最高价 我在别处找到个写法,麻烦大大指点我一下: int StartShift = iBarShift(NULL, 1, StartTime, True); int EndShift = iBarShift(NULL, 1, EndTime, True); int Count = StartShift - EndShift; 这三个语句出来的结果是开始时间和结束时间之间的k线数 double UpperRange = iHighest(NULL, 1, 2, Count, EndShift); double LowerRange = iLowest(NULL, 1, 1, Count, EndShift); 我不知道这里面的StartTime应该是换成什么,如果按照我上面说的例子的话。 我不是程序员出身的交易员,~~这编程的东西看得我是够晕~~ 希望高手出手相助啊~万分感谢
metaeditor里自身带的帮助文件里的说明: int iBarShift( string symbol, int timeframe, datetime time, void exact) 搜索柱开始的时间。函数返回指定开始时间的柱。如果柱的指定开始时间是省缺值, 函数将返回-1或 最近的柱 exact。 参量: symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。 timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。 time - 查找值 (柱的开始时间)。 exact - 未发现柱的返回模式。false - iBarShift 返回最近。 true - iBarShift 返回 -1。 示例: datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EUROUSD",PERIOD_M1,some_time); Print("带有打开时间平移柱 ",TimeToStr(some_time)," 是 ",shift);