新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 77

 
Vitaly Muzichenko:
没有找到,我也不记得这里有。

大致说来,有一个投标,有一个网格上的订单的平均价格

拖网是出价减去电网的平均价格,与指定的步骤相比

如果出了问题,你立即通过循环,覆盖整个网格

这是一个粗略的算法,需要从稳健性方面加以改进,但它在短距离内显示了良好的结果。

顺便说一下,我正在寻找改善算法稳定性的想法。

 
trader781:

大致说来,有一个投标,有一个网格上的订单的平均价格

拖网是出价减去电网的平均价格,与指定的步骤相比

如果出了问题,你立即通过循环,覆盖整个网格

这是一个粗略的算法,需要从稳健性方面加以改进,但它在短距离内显示了良好的结果。

顺便说一下,我正在寻找改善算法稳定性的想法

我的拖网在单个和整个网格上都能正常工作。

你看过我的问题 吗?我不是在等你的答案,而是在等专家的答案。

 
Vitaly Muzichenko:

是的,从逻辑上讲,它可能是,例如,终端失去了连接--有很多原因,我一天有50次失去连接。

什么是获得最新价格的最好方法,同时资源消耗较少,请记住--对于电网的拖网。

所以没有太多的选择...

我是这样做的:在订单循环中,在通过符号、魔法数字和类型的所有过滤器后,我通过SymbolInfoDouble()获得正确的价格,并在发送交易请求 前用它进行水平计算(如果计算的结果需要修改)。你也可以使用SymbolInfoTick()--无论什么都适合你的逻辑。当然,我们不仅可以得到一个价格,还可以得到最后一个tick的整套参数,但有时只需要得到某一类型订单的一个价格--卖出价或买入价,然后用它来工作,反正在下一次循环迭代中可以得到另一个订单类型的其他价格。这就是为什么在循环之前使用一次获得的价格可能会导致得到一个过时的价格的风险,如果由于长时间的计算而错过了刻度。

 
Artyom Trishkin:
如果它根本没有得到任何东西呢?你如何减缓这个周期?

而这一点,我留给大家自行决定。但在用户的敦促下,我将让你知道一个巨大的秘密......

       int d = 0;
        do
         {
          d++;
         }
        while(!SymbolInfoTick(_Symbol, mqlTick) && d < 7);
 

大家好!

能否请你告诉我如何编写工具提示/弹出窗口?

粗略地说,我需要在某一栏下的一个指示器画一个图标,当我点击这个图标时,将显示一个带有描述的小文本

谢谢你!

 
LuckySith:

大家好!

你能告诉我如何写一个工具提示/弹出窗口吗?

粗略地说,我需要指标在某一栏下画一个图标,并在我按下这个图标时显示一个小的文字说明

谢谢你!

设置索引标签

设置在数据窗口和工具提示中显示的指标行 描述文本。

空白SetIndexLabel(
intindex,// 行数
string text// description text
);

参数

指数

[该行的索引号。必须从0到7。

文本

[in] 指标行描述的文本。NULL表示该行数值不在DataWindow中显示。

 
Alekseu Fedotov:

设置索引标签

设置指标行 描述文本,用于在DataWindow和工具提示中显示信息。

空白SetIndexLabel(
intindex,// 行数
string text// description text
);

参数

指数

[该行的索引号。必须从0到7。

文本

[in] 指标行描述的文本。NULL表示该行数值不在DataWindow中显示。

嗯,所以它是一条线。
而对我来说,通过点击图标
 
LuckySith:
嗯,所以它是一条线。
而对我来说,当你点击图标的时候。

不管怎么样,你可以在图标上做。

将分形图扔在图表上,将鼠标悬停在图标上。

 
你好。你能告诉我如果(MarketInfo(Symbol(),MODE_POINT)==0)怎么可能是正确的?
 
Gevorg Hakobyan:
你好。请教一下,如果(MarketInfo(Symbol(),MODE_POINT)==0)怎么可能是正确的?
检查市场概览中是否有一个符号。它不可能是零。