首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MetaTrader4到NinjaTrader的转换

从MetaTrader4到NinjaTrader的转换
EN

Stack Overflow用户
提问于 2013-12-13 02:15:26
回答 1查看 365关注 0票数 0

我正在尝试将一个指示器从MT4写到NT7中。我在MT4中有以下计算:

代码语言:javascript
复制
     dayi = iBarShift(Symbol(), myPeriod, Time[i], false);
     Q = (iHigh(Symbol(), myPeriod,dayi+1) - iLow(Symbol(),myPeriod,dayi+1));

     L = iLow(NULL,myPeriod,dayi+1);
     H = iHigh(NULL,myPeriod,dayi+1);
     O = iOpen(NULL,myPeriod,dayi+1);  
     C = iClose(NULL,myPeriod,dayi+1);

myperiod是一个变量,我将周期以分钟为单位(1440 =1天)。NT7中与iBarShift、iHigh等有哪些等价功能?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2013-12-25 04:24:52

对于NinjaTrader:

代码语言:javascript
复制
iLow = Low or Lows for multi-time frame
iHigh = High or Highs
iOpen = Open or Opens
iClose = Close or Closes

所以举个例子

代码语言:javascript
复制
double low = Low[0]; // Gets the low of the bar at index 0, or the last fully formed bar (If CalculateOnBarClose = true)

为了确保您在1440分钟的时间范围内工作,您需要在Initialize()方法中添加以下内容:

代码语言:javascript
复制
Add(PeriodType.Minute, 1440);

如果在此语句之前没有Add语句,它将把它放在一个二维数组中的索引1 (O是图表默认索引)处。因此,在索引0处访问1440分钟条的最低点将是:

代码语言:javascript
复制
double low = Lows[1][0];

有关iBarShift,请参阅

代码语言:javascript
复制
int barIndex = Bars.GetBar(time);

这将为您提供条形图的索引和匹配时间。如果需要对1440条(或其它条)使用此函数,请使用BarsArray属性访问正确的Bar对象,然后对其使用GetBar方法。例如:

代码语言:javascript
复制
int barIndex = BarsArray[1].GetBar(time);

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20551108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档