新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 74 1...676869707172737475767778798081...1953 新评论 Mickey Moose 2017.01.16 08:46 #731 ilnur17021992:有一个变量int Level = 0。在程序运行的同时,它也在不断变化。帮我写一个条件:如果Level没有变化,那么什么都不做。 如果Level有变化(不管它是向上还是向下变化),那么做一些动作 { 操作员 }输入另一个变量int Level1 = 0。int Level = 0。如果(Level !=Level1){};然后Level1 =Level但我真的不明白,如果我们可以在任何交易操作 后拉出一个数组,为什么我们需要在每个tick上拉出一个数组? ilnur17021992 2017.01.16 09:16 #732 trader781:输入另一个变量int Level1 = 0。int Level = 0。如果(Level !=Level1){};然后Level1 =Level我不太明白,如果我可以在任何交易操作 后拉出一个数组,为什么我需要在每个tick上拉出一个数组? if(SELL_Lvl>0) { ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel); } 此外,我需要它在SELL_Lvl增加时发生。 ObjectDelete( "Sell no loss level");但是,由于SELL_Lvl>0 的条件得到满足,该线又被重新绘制,但是由SELL_NoLossLevel 的新值来完成。根据SELL_Lvl,是否有一个更简单、更明显的方法来重新划线? Vitaly Muzichenko 2017.01.16 09:30 #733 ilnur17021992: if(SELL_Lvl>0) { ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel); } 然后我需要增加SELL_Lvl来重新绘制。 ObjectDelete( "Sell no loss level");但由于SELL_L_Lvl>0 的条件得到满足,应该再次重绘该线,但要以SELL_NoLossLevel 的新值进行。有没有一种更简单、更明显的方法,根据SELL_Lvl 的值,重新画线?将对象转移到新值,而不删除它或重新创建它。ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice); ilnur17021992 2017.01.16 09:52 #734 Vitaly Muzichenko:将对象转移到新值,而不删除它或重新创建它。ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice);这当然是一种选择,但我希望根据SELL_NoLossLevel 的值来重新画线,这取决于SELL_Lvl是否发生了变化。像这样 if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");} 线条在每一个刻度线上 都会被重绘,而我需要它在SELL_Lvl 变化时才被重绘。 Alexey Viktorov 2017.01.16 10:08 #735 ilnur17021992:当然,这是一个变种,但我希望SELL_NoLossLevel 能根据SELL_Lvl 是否 改变 而重新划线。像这样 if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");} 这条线在每个tick 上都被重绘,而我需要它只在SELL_Lvl 变化时才被重绘。解释清楚重划线的条件,用真实的价格值。对于高亮线:它的变化有多大?什么表明SELL_Lvl已经改变? Aleksandr Egorov 2017.01.16 10:42 #736 请教一下MCL5中关闭挂单的 功能,有五个买入限价单,关闭最低的一个。 Alexey Viktorov 2017.01.16 12:09 #737 TYRBO: 我想知道在MCL5中用什么函数来关闭一个挂单。最好是通过循环,确定正确的一个,并通过文件 删除待处理的订单交易指令,删除一个挂单。需要指定2个字段。 行动秩序 Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса www.mql5.com Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Aleksandr Egorov 2017.01.16 12:32 #738 Alexey Viktorov:最好是通过循环,确定正确的,并遵循文件 的规定 我知道如何找到底单的价格。 如果你能告诉我如何找到底单的票,我将非常感激。 ilnur17021992 2017.01.16 12:33 #739 Alexey Viktorov:把重划线的条件写清楚,用真实的价格值,然后你会明白你需要做什么。在强调:改变了多少?什么表明SELL_Lvl已经改变? SELL_Lvl是卖出网格的膝盖(订单)数量。SELL_NoLossLevel 是这些订单的总水平(价格)。好吧,想法是这样的:我们需要在买入线的水平上画一条线,并在新的线被打开时分别重画。我不知道该怎么做。 Alexey Viktorov 2017.01.16 13:06 #740 TYRBO: 我知道如何找到最小订单的价格。 如果你能告诉我如何找到最小订单的票据,我将非常感激。文档中有一个例子。 也许更好的做法是在循环中浏览订单,只要下一个订单比上一个订单低,就选择它来进一步处理。因此,当我们退出循环时,要删除的订单 将被选中。或者你可以先在循环中保存它在订单列表中的位置,在退出循环后通过保存的索引选择它。 Документация по MQL5: Торговые функции / OrderGetTicket www.mql5.com Торговые функции / OrderGetTicket - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...676869707172737475767778798081...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
有一个变量
int Level = 0。
在程序运行的同时,它也在不断变化。帮我写一个条件:如果Level没有变化,那么什么都不做。 如果Level有变化(不管它是向上还是向下变化),那么做一些动作 { 操作员 }
输入另一个变量
int Level1 = 0。
int Level = 0。
如果(Level !=Level1)
{};
然后Level1 =Level
但我真的不明白,如果我们可以在任何交易操作 后拉出一个数组,为什么我们需要在每个tick上拉出一个数组?
输入另一个变量
int Level1 = 0。
int Level = 0。
如果(Level !=Level1)
{};
然后Level1 =Level
我不太明白,如果我可以在任何交易操作 后拉出一个数组,为什么我需要在每个tick上拉出一个数组?
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
此外,我需要它在SELL_Lvl增加时发生。
但是,由于SELL_Lvl>0 的条件得到满足,该线又被重新绘制,但是由SELL_NoLossLevel 的新值来完成。根据SELL_Lvl,是否有一个更简单、更明显的方法来重新划线?
{
ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
}
然后我需要增加SELL_Lvl来重新绘制。
但由于SELL_L_Lvl>0 的条件得到满足,应该再次重绘该线,但要以SELL_NoLossLevel 的新值进行。有没有一种更简单、更明显的方法,根据SELL_Lvl 的值,重新画线?
将对象转移到新值,而不删除它或重新创建它。
将对象转移到新值,而不删除它或重新创建它。
这当然是一种选择,但我希望根据SELL_NoLossLevel 的值来重新画线,这取决于SELL_Lvl是否发生了变化。
像这样 if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}
线条在每一个刻度线上 都会被重绘,而我需要它在SELL_Lvl 变化时才被重绘。
当然,这是一个变种,但我希望SELL_NoLossLevel 能根据SELL_Lvl 是否 改变 而重新划线。
像这样 if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}
这条线在每个tick 上都被重绘,而我需要它只在SELL_Lvl 变化时才被重绘。
解释清楚重划线的条件,用真实的价格值。
对于高亮线:它的变化有多大?什么表明SELL_Lvl已经改变?
我想知道在MCL5中用什么函数来关闭一个挂单。
最好是通过循环,确定正确的一个,并通过文件
删除待处理的订单
交易指令,删除一个挂单。需要指定2个字段。
最好是通过循环,确定正确的,并遵循文件 的规定
把重划线的条件写清楚,用真实的价格值,然后你会明白你需要做什么。
在强调:改变了多少?什么表明SELL_Lvl已经改变?
我知道如何找到最小订单的价格。 如果你能告诉我如何找到最小订单的票据,我将非常感激。
文档中有一个例子。
也许更好的做法是在循环中浏览订单,只要下一个订单比上一个订单低,就选择它来进一步处理。因此,当我们退出循环时,要删除的订单 将被选中。
或者你可以先在循环中保存它在订单列表中的位置,在退出循环后通过保存的索引选择它。