如何编码? - 页 159

 

指标价格标签

请帮助我!

谁能告诉我为什么下面的指标代码会绘制一个向下的箭头,但不会绘制一个价格标签。 任何其他样式都会在正确的水平上显示出来,但它没有显示价格?

int init()

{

DeleteAllObjects()。

IndicatorBuffers(2);

SetIndexBuffer(0,Buy);

SetIndexStyle(0,DRAW_ARROW,DRAW_ARROW,BuySize,BuyColor)。

SetIndexArrow(0,SYMBOL_LEFTPRICE); <没有显示出来

SetIndexShift(0,1);

SetIndexBuffer(1,Sell);

SetIndexStyle(1,DRAW_ARROW,DRAW_ARROW,SellSize,SellColor);

SetIndexArrow(1,SYMBOL_ARROWDOWN); <绘图很好

SetIndexShift(1,1);

返回(0)。

}

谢谢!

 

Squize_MA指标

不错的指标。

也许有人能在蓝线越过红线时发出警报。

谢谢

附加的文件:
squize_ma.mq4  3 kb
 

请问,你能给我一个提示,以追踪最大的损失吗?

 
Wiley:
在这个网站上,在这个链接https://www.mql5.com/en/forum/176053/page25,有一份DIN_Kukus_EA_V2.6的副本。 如果你查看EA的内容,你会发现有一个功能可以检查你的订单历史中的订单损失,就像你描述的那样为自己做。 你可以使用这个工作实例,从你的订单历史中提取成功交易的数量。 你也可以修改它以提取某一特定时间段的历史记录,但我希望这能帮助你看到如何完成你建议自己做的事情......

嗨,威利。

谢谢你的帮助。

说实话,我一直在忙于解决这个问题,我忘了我发过这个问题。

我花了一天的时间去看mql4手册,并想出了一个办法。

当开始交易的时候,我设置了一个叫做 "OpeningTime "的变量,等于当前时间。在交易时段,如果交易已经结束,我让EA循环查看订单历史,寻找任何来自给定图表和EA的订单,并且其关闭时间大于 "OpeningTime"。然后,它将订单的利润(或损失)(使用OrderProfit()函数)与我设置的(外部变量)进行比较,认为足够了。我对它的设置是,如果我赚取了足够的利润和/或损失了一定的金额,我可以停止交易。

回溯测试表明,它确实没有改善已经优化的EA的结果(事实上,更多的时候,它使它们变得更糟),这是可以预期的,因为我们永远不知道下一笔交易(我现在已经消除了)会使事情变得更好还是更坏。

不过,它确实允许我从一开始就设置更严格的条件。因此,EA可以从一开始就使用 "退出,我已经受够了 "的选项进行优化。而这似乎确实使我的结果好了不少。

谢谢你的帮助。

罗恩

 

试图在一个EA中使用所附的Dianpoli,我在icustom中添加了箭头来读取这些,但我的icustom线没有接上,请问有什么帮助?

以下是我在EA中使用的内容 val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0)。

附加的文件:
test3.mq4  5 kb
 
rwb181:
嗨,威利。

谢谢你的帮助。

说实话,我一直在忙于解决这个问题,我忘了我发过这个问题。

我花了一天时间翻阅了mql4手册,想出了一个办法。

当开始交易的时候,我设置了一个叫做 "OpeningTime "的变量,等于当前时间。在交易时段,如果交易已经结束,我让EA循环查看订单历史,寻找任何来自给定图表和EA的订单,并且其关闭时间大于 "OpeningTime"。然后,它将订单的利润(或损失)(使用OrderProfit()函数)与我设置的(外部变量)进行比较,认为足够了。我对它进行了设置,以便在我赚取了足够的利润和/或损失了一定的金额时,我可以停止交易。

回溯测试表明,它确实没有改善已经优化的EA的结果(事实上,更多的时候,它使它们变得更糟),这是可以预期的,因为我们永远不知道下一笔交易(我现在已经消除了)会使事情变得更好还是更坏。

不过,它确实允许我从一开始就设置更严格的条件。因此,EA可以从一开始就使用 "退出,我已经受够了 "的选项进行优化。而这似乎确实使我的结果好了不少。

谢谢你的帮助。

罗恩

不,这不是我所需要的

 

这将使你获得最大的损失

void history()

{max_loss=0;

int i,hstTotal=OrdersHistoryTotal();

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

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderSymbol()==Symbol()&&OrderProfit()>=max_loss)max_loss=OrderProfit();

{

//code

}

}

}
 

OrderSymbol()==Symbol()&&OrderProfit()>=max_loss

我确信这只是一个打字错误,但是......

如果你在寻找最大的损失,那么比较运算符应该是 "小于()"。

拉克斯

 
increase:
试图在EA中使用所附的Dianpoli,我在icustom中添加了箭头来读取这些箭头,但是我的icustom线没有接上,请问有什么帮助吗? 以下是我在EA中使用的内容 val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

似乎从来没有人帮助过我,伙计们请回答。

 

自动专家顾问生成器

Fastbrokersfx有一个免费(他们称之为独家)的自动专家顾问生成器。

他们说,"FastBrokersFX提供免费的专家顾问生成器。在我们这里,您不需要成为一个有经验的程序员来设计您的MT4交易机器人。只需点击几下,保存您生成的EA文件,您就完成了!"

你可以在他们的主页上点击该链接来创建一个。

Fastbrokersfx | 外汇交易 | 外汇ECN访问 |

祝您好运!

原因: