ICustom函数 - 页 13

 

电子邮件通知,声音通知

我这里有一个问题。 我设置了我的电子邮件功能来接收通知,并通过测试按钮进行了测试,所有工作都是正常的。

我还对我的一个自定义指标 进行了设置,通过Easy_iCustom_and_Alerts文件发出警报,它确实做到了(警报窗口弹出并发出声音)

然而,它并没有将该文件产生的警报推送到我的电子邮件通知功能中。我再次通过测试按钮测试了我的电子邮件,它能正常工作。 我还需要做什么才能将Icustom文件在我的一个指标上产生的实际警报推送到我的电子邮件中。任何帮助都非常感谢。

谢谢你。

 

可以将icustom和itime一起使用吗?

我想做一个简单的EA,越过线进行买入,当线再次越过时关闭买入并开始卖出。

我使用的指标叫Imax,我把它附在这里。它是非常简单的指标,可能没有多少利润,但我想学习,所以我使用这个非常简单的指标。

那么,我怎样才能修复EA,使其在越过某条线时执行卖出、买入或平仓指令?

而不是在没有越过线的情况下,等到条形图完成后再开始卖出、买入或关闭订单?

我应该使用itime吗?

请提前感谢

附加的文件:
imax.mq4  4 kb
 

你好。

我正在实施我的个人EA。我正在使用iCustom函数来加载外部指标。

现在我的调用是正确的,因为正确的值被返回,但我不明白,因为每次我调用iCustom 在日志中出现 "指标成功加载 "的信息。

我每次都调用iCustom函数,因为它是在启动块中,所以在日志中我有一长串的消息。

这正常吗?

 

如何在EA中添加自定义指标

大家好...

我有这个指标,但不知道如何把它输入EA。

这是我的指标代码。

外来的int period = 15;

外来的int method = 1;

extern int price = 0;

double g_ibuf_88[];

double g_ibuf_92[];

双份g_ibuf_96[]。

int init() {

IndicatorBuffers(3);

SetIndexBuffer(0, g_ibuf_88);

SetIndexBuffer(1, g_ibuf_92);

SetIndexBuffer(2, g_ibuf_96)。

ArraySetAsSeries(g_ibuf_96, TRUE)。

SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);

IndicatorShortName("Slope Direction Line(" + period + ")")。

返回(0)。

}

int deinit() {

返回 (0);

}

double WMA(int ai_0, int a_period_4) {

返回(iMA(NULL, 0, a_period_4, 0, method, price, ai_0))。

}

int start() {

双倍lda_16[]。

double lda_20[];

int l_ind_counted_0 = IndicatorCounted();

如果(l_ind_counted_0 < 0)返回(-1)。

int li_4 = 0;

int l_period_8 = MathSqrt(period);

int li_12 = Bars - l_ind_counted_0 + period + 1;

如果(li_12 > Bars) li_12 = Bars.ArrayResize(lda_16)

ArrayResize(lda_16, li_12)。

ArraySetAsSeries(lda_16, TRUE)。

ArrayResize(lda_20, li_12);

ArraySetAsSeries(lda_20, TRUE)。

for (li_4 = 0; li_4 < li_12; li_4++) lda_16[li_4] = 2.0 * WMA(li_4, period / 2) - WMA(li_4, period) 。

for (li_4 = 0; li_4 < li_12 - period; li_4++) g_ibuf_96[li_4] = iMAOnArray(lda_16, 0, l_period_8, 0, method, li_4) 。

for (li_4 = li_12 - period; li_4 >= 0; li_4--) {

lda_20[li_4] = lda_20[li_4 + 1] 。

如果(g_ibuf_96[li_4] > g_ibuf_96[li_4 + 1])lda_20[li_4] = 1。

如果(g_ibuf_96[li_4] < g_ibuf_96[li_4 + 1])lda_20[li_4] = -1。

如果(lda_20[li_4] > 0.0) {

g_ibuf_88[li_4] = g_ibuf_96[li_4]。

如果(lda_20[li_4 + 1] < 0.0)g_ibuf_88[li_4 + 1] = g_ibuf_96[li_4 + 1];

g_ibuf_92[li_4] = EMPTY_VALUE。

} else {

如果(lda_20[li_4] < 0.0) {

g_ibuf_92[li_4] = g_ibuf_96[li_4];

如果(lda_20[li_4 + 1] > 0.0)g_ibuf_92[li_4 + 1] = g_ibuf_96[li_4 + 1]。

g_ibuf_88[li_4] = EMPTY_VALUE。

}

}

}

返回(0)。

}

那在EA中呢?

谢谢...

 

使用iCustom()(关于iCustom的更多信息,请点击:iCustom - MQL4文档)。

btw: 你发布的是一个反编译和修改过的Hull移动平均线(Hull移动平均线使用方法3(LWMA),而不是像你代码中的方法1(EMA))。使用一些正规的指标(周围有很多好的赫尔移动平均线),因为你发布的那个,除了被反编译之外,还在重新绘制。

 

新指标-如何创建?

谁能解释一下如何在其他两个指标的基础上创建新指标?我认为这对许多交易者来说是很有趣的。请有人知道(并希望)在此举例说明。

谢谢

 

调用一个自定义指标

我希望有人能帮助我。我想调用一个自定义指标(就是本主题所附的那个)。我最终想做的是,当缓冲区2越过缓冲区4时产生一个信号。

我现在想知道我是否可以调用这个自定义指标,或者我必须在我的EA中实现这个指标。

当我使用一个随机指标时,它将是这样的。

STOvalue1 = iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,MODE_MAIN,0)。

STOvalue2 = iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,MODE_SIGNAL,0)。

在我的例子中,它可能会是这样的。

STOvalue1 = MB_Stochastic_005(???)

其中???是我不知道的部分。我希望有人能帮助我。先谢谢了。

附加的文件:
 

iCustom

Marcel1966:
我希望有人能帮助我。我想调用一个自定义指标(就是这个主题所附的那个)。我最终想做的是,当缓冲区2越过缓冲区4时产生一个信号。

我现在想知道我是否可以调用这个自定义指标,或者我必须在我的EA中实现这个指标。

当我使用随机指标时,它将是这样的:

STOvalue1 = iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,MODE_MAIN,0);

STOvalue2 = iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,MODE_SIGNAL,0);

在我看来它可能是这样的:

STOvalue1 = MB_Stochastic_005(?

?"

,其中"? "是我不知道的部分。我希望有人能帮助我。先谢谢了。

我认为你想使用

iCustom( 字符串, int timeframe, 字符串 name, ..., int mode, int shift)

只要把 "iCustom "放到元编辑器的搜索区,就可以解释一切。

祝您一切顺利。