关于iOpen()这个函数调用没有数值

 

这几天用到了iOpen  之类的一系列关于k线取值的函数,,,发现iOpen()这个函数值调用出来是0,是我用的不对吗?哪位大神给看看


double 开盘价151=iOpen(NULL,PERIOD_M5,1);

      double 最高价151=iHigh(NULL,PERIOD_M5,1);

      double 最低价151=iLow(NULL,PERIOD_M5,1);

      //double 收盘价l51=iClose(NULL,PERIOD_M5,1);

      //double 开盘价150=iOpen(NULL,PERIOD_M5,0);

      printf("开盘价151=%f",开盘价151);printf("最低价151=%f",最低价151);printf("开盘价150=%f",开盘价150);


2023.10.21 18:24:28.799 2008.01.01 00:00:11  3ea EURUSD,M1: 开盘价151=0.000000



2023.10.21 18:24:28.799 2008.01.01 00:00:11  3ea EURUSD,M1: 最低价151=0.000000


2023.10.21 18:24:28.415 2008.01.01 00:00:10  3ea EURUSD,M1: 开盘价150=0.000000

取出的值都是0呢? 有谁知道错哪里了吗?、??????


 
搞明白了,好像是这个函数不能用于历史回测!各位道友以此为戒吧,,太费劲了
 
Xiliang Dong #:
搞明白了,好像是这个函数不能用于历史回测!各位道友以此为戒吧,,太费劲了


沒問題

有問題的話 應該是道友有所誤解了

 
Hung Wen Lin #:


沒問題

有問題的話 應該是道友有所誤解了

抱歉我没说明白,,是隔周期调用,,1分钟调用五分钟或15分钟,,另外还是mt4        要是本周期我就直接用Open()了,   历史回测调不出数值,,实盘可以    不怕麻烦的话都有可以再试一下   

 
Xiliang Dong:
printf("开盘价151=%f",开盘价151);
 printf("开盘价151=%f",开盘价151);有误。为什么不是%.5f或%.2f之类呢?
 
Yin Zhou Luo #:
 printf("开盘价151=%f",开盘价151);有误。为什么不是%.5f或%.2f之类呢?

%f就能用。这是测试并验证过得,如果改变会增加风险!比对精度时会用其他方法处理!写这玩意处理精度是个大事!!