ICustom函数 - 页 14

 

指示器

最有可能的是,它可以做到。你需要把指标发给一个编码员,让他来做这个工作。如果你有兴趣,我可以做。

 

从指标交易

大家好。

我有一个指标,当有交易信号出现时,会产生一个警报并画出一个箭头(向上或向下)。这是一个买来的指标(是的,我确实自己花钱买的......),所以我没有代码,只有汇编的文件。

有什么方法可以创建一个EA,在指标发出警报或在图表上画出时进行交易吗?

该指标似乎没有使用任何指标缓冲区,它只是在测量其他指标的范围来做出交易决定。这意味着我不能用iCustom读取一个水平。

希望得到任何帮助。

欢呼声

编辑:好的......不知道为什么我的帖子被移到了iCustom线程中,而我的帖子特别说到......"我无法使用iCustom读取关卡",但也许有人会帮助我......

也许我的问题应该被重新表述为

有什么办法可以用EA读取警报窗口的内容吗?

 

引用iCustom的问题

你好

我已经使用了几个通用的EA模板,并尝试引用iCustom,但EA没有交易,尽管它的编译很好,而且指标本身也产生了 "交易信号"。

我想我对iCustom的引用是不正确的。谢谢你的意见。

我试图从指标Complex_Pairs1中引用两个值。

一个是信号线(SetIndexBuffer 0),另一个是信号线的移动平均值(SetIndexBuffer 1)。

该指标有两个外部参数。

信号类型(在指标交叉的情况下的信号类型)

periodSMA (简单移动平均线的周期)

我把源代码的相关部分粘贴在下面。

使用iCustom,我试图访问4个不同的值--信号线和小节1和小节2的SMA,我使用这样的代码。

double SignallineShift1 = iCustom(NULL,NULL, "Complex_Pairs1", 2,0,0,1)。

double SmaShift1 = iCustom(NULL,NULL, "Complex_Pairs1", 2,4,1,1);

double SignallineShift2 = iCustom(NULL,NULL, "Complex_Pairs1", 2,0,0,2);

double SmaShift2 = iCustom(NULL,NULL, "Complex_Pairs1", 2,4,1,2);

iCustom(symbol, timeframe, indicator name, SignalType, periodSMA, IndexBuffer, Shift),我引用的指标值是否正确?或者我应该省略信号线 的signaltype和periodma,以及SMA的signalType?

谢谢

托马斯

___________________________________ ________________

#属性 indicator_separate_window

#属性 indicator_buffers 2

#属性 indicator_color1 绿色

#属性 indicator_color2 红色

#属性 indicator_width2 1

//---- 缓冲区

double pair[],ma[];

//----

extern int SignalType=2;

extern int periodSMA=4;

SetIndexStyle(0, DRAW_LINE);

SetIndexStyle(1, DRAW_LINE);

SetIndexBuffer(0, pair);

SetIndexBuffer(1, ma);

 

已尝试使用零

顺便说一下。

我已经试过用零代替NULL 作为时间框架的值。但EA仍然无法工作。

 

你的MA值需要设置为>0

TTrade:
顺便说一下。我试着用0代替NULL作为时间框架的值。但EA仍然无法工作。

嗨,托马斯。

double SignallineShift1 = iCustom(NULL,NULL, "Complex_Pairs1", 2,0,0,1);

double SmaShift1 = iCustom(NULL,NULL, "Complex_Pairs1", 2,4,1,1);

double SignallineShift2 = iCustom(NULL,NULL, "Complex_Pairs1", 2,0,0,2);

double SmaShift2 = iCustom(NULL,NULL, "Complex_Pairs1", 2,4,1,2);

1) 用0代替NULL 来表示TF

2) 你的SignallineShift1和SignallineShift2没有 "periodma"。

a) MA周期必须至少为1(与当前价格线相同,不能为0)。

b) 在你的例子中,所有的 "periodma "需要被设置为4。

3) 打印日志中的数值或图表上的评论,以确保你能看到EA正在获得指标值。

例如。

Print(" SignallineShift1 = ",SignallineShift1);

Comment(" SignallineShift1 = ",SignallineShift1);

希望这有帮助。

罗伯特

 

forex-tsd ' 经理

谢谢你的帮助

 
 

一个问题

我有一个指标,有7个缓冲区

因为趋势的颜色是在第7个缓冲区。

我怎样才能得到第7个缓冲区。

附件是我使用的指标

附加的文件:
 

你看,当我今天早上醒来的时候

澳元大涨(相对于我的交叉货币对),也就是说,澳元全面走弱

因此,尽管周五晚上出现了下降趋势(最后一段),但我还是要追寻这个方向。

然后在今天晚些时候,在澳元量化宽松之后,澳元又回到了加强的方向。

我不知道我现在应该押注哪个方向,还是应该跟随MA趋势。

这是在模拟账户上,但我的感觉和共鸣与真实账户 一样多。

-----

总之

我没有你想要的答案,但...... ..

大多数MQ4都是从0、1、2、3开始计数的(先是零)。

但缓冲区--只是一个数组的名称

只做1 2 3 4 5 6 -- 不是第7个

所以你可能明确解释了你所看到的 -- 或者你可能看错了

反正有很多MTF的HA -- 我还没试过你的,只是在我的Meta-Editor里读到过。

 
xx3xxx:
是的,当我今天早上醒来的时候

澳元大涨(相对于我的交叉货币对),即澳元全面走弱

因此,尽管周五晚间出现了下降趋势(最后一段),我还是要追寻这个方向。

然后在今天晚些时候,在澳元量化宽松之后,澳元又回到了加强的方向。

我不知道我现在应该押注哪个方向,还是应该跟随MA趋势。

这是在模拟账户上,但我的感觉和共鸣与真实账户一样多。

-----

总之

我没有你想要的答案,但...... ..

大多数MQ4都是从0、1、2、3开始计数的(先是零)。

但缓冲区--只是一个数组的名称

只做1 2 3 4 5 6 -- 不是第7个

所以你可能明确解释了你所看到的 -- 或者你可能看错了

反正有很多MTF的HA -- 我还没有试过你的,只是在我的Meta-Editor中读到了它。

我想我困惑的部分是,如何才能把数据取出来......如果有icustom的例子,会有帮助。