问一个没有深度的问题~

Discussion in 'MetaTrader' started by suancai1989, Oct 2, 2009.

  1. MT4怎么得出一个时间段内的最高价和最低价?
    例如我要计算出12月1日到12月5日的价格,应该怎么做?

    ;)谢谢大家~!!
     
  2. val=High[iHighest(NULL,0,MODE_HIGH,20,4)];
     
  3. 这位大大说的好象是从右起第四根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应该是换成什么,如果按照我上面说的例子的话。

    ;)我不是程序员出身的交易员,~~这编程的东西看得我是够晕~~
    希望高手出手相助啊~万分感谢:D
     
  4. 我不是大大,StartTime应该是12月1日零点的时间...
     
  5. 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);
     
  6. ;)台湾论坛上多了,称呼习惯了~哈哈,你就别害羞吧
     
  7. :cool:这位大大真是太热心了~万分感谢啊!