多时间框架指标 - 页 474

 
john1368:
请把这个变成MTF

尽管那是反编译的代码,但请看这个主题:https://www.mql5.com/en/forum/179650

它充满了同一指标的不同轮回(臭名昭著的太阳风)。

[删除]  

我需要mtf日本蜡烛 图指标

请提供帮助!

 
nicobo78:
我需要mtf日本蜡烛图指标,请提供帮助!

这个链接可能有助于你:蜡烛图 - 维基百科,自由的 百科全书

另外,你也可以试试这个指标:自定义蜡烛任何时间框架.mq4

 

试图做一个简单的移动平均线策略测试器,使用H1点数,但在这些论坛中提供的movingaverage_mtf代码的帮助下使用H4 MA,但得到奇怪的H4移动平均线值。

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420)。

是否可以在策略测试器中使用多框架指标?

 
rickyponting:
试图做一个简单的移动平均线策略测试器,使用H1点数,但在这些论坛中提供的movingaverage_mtf代码的帮助下,使用H4 MA。

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420)。

是否可以在策略测试器中使用多框架指标?

如果你没有写错,这一行的最后一个参数:

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420)。

应该是240而不是420

 
rickyponting:
试图做一个简单的移动平均线策略测试器,使用H1点数,但在这些论坛提供的movingaverage_mtf代码的帮助下使用H4 MA,但得到奇怪的H4移动平均数值。

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420)。

是否可以在策略测试器中使用多框架指标?

PS:是的,可以在策略测试器中 使用多时间框架指标,但要确保不使用另一时间框架的当前(打开)条,否则你会得到虚假的正面结果(在这种情况下,metatrader策略测试器会 "知道未来")。

 

对不起......我在代码中使用了240,但仍然没有结果。有没有人可以粘贴一些参考代码,在策略测试器中 使用多框架SMA。

 
rickyponting:
对不起...我在代码中使用了240...但仍然没有结果。有哪位好心人可以粘贴一些参考代码,在策略测试器中使用多框架SMA。

这里有一个简单的EA,使用多时间框架的sma,也可以在策略测试器中 使用(使用SmaTimeFrame参数来选择sma的目标时间框架)。

extern int SmaPeriod = 14;

extern int SmaPrice = PRICE_CLOSE;

extern int SmaTimeFrame = 0;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int smaShift = iBarShift(NULL,SmaTimeFrame,Time[0]);

double smaValue = iMA(NULL,SmaTimeFrame,SmaPeriod,0,MODE_SMA,SmaPrice,smaShift);

Comment(DoubleToStr(smaValue,Digits));

return(0);

}
 

根据你的代码,我尝试了以下代码,在一个数组中传递不同的时间框架MA值......但MA值没有被传递到数组中,显示的都是零。

extern int SmaPeriod = 14;

extern int SmaPrice = PRICE_CLOSE;

外部int SmaTimeFrame = 1440;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars, limit,i;

int BarShift[];

双重ExtMA[],smaValue。

counted_bars=IndicatorCounted()。

limit=Bars-counted_bars。

for(i=0;i<limit;i++)

{

BarShift= iBarShift(NULL,SmaTimeFrame,Time);

ExtMA = iMA(NULL,SmaTimeFrame,SmaPeriod,0,MODE_SMA,SmaPrice,BarShift) 。

}

返回(0)

 
rickyponting:
基于你的代码,我尝试了以下代码,在一个数组中传递不同时间段的MA值......但MA值没有被传递到数组中,显示的都是零。

外来的int SmaPeriod = 14;

外置 int SmaPrice = PRICE_CLOSE;

外部int SmaTimeFrame = 1440;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars, limit,i;

int BarShift[];

双重ExtMA[],smaValue。

counted_bars=IndicatorCounted()。

limit=Bars-counted_bars。

for(i=0;i<limit;i++)

{

BarShift= iBarShift(NULL,SmaTimeFrame,Time)。

ExtMA = iMA(NULL,SmaTimeFrame,SmaPeriod,0,MODE_SMA,SmaPrice,BarShift) 。

}

返回(0)

我将用一个问题来回答:你的数组的大小是多少?

你没有初始化数组,所以你的数组大小为零。请确保你的数组有正确的大小。另外,IndicatorCounted()在EA中不起作用。你必须通过其他方式获得该值(一种方式是检查 Bars内置变量的值,并将其与EA中的一些存储值进行比较)。