新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1820 1...181318141815181618171818181918201821182218231824182518261827...1953 新评论 vladeimirami 2021.12.16 16:57 #18191 Valeriy Yastremskiy #: 没有这样的事情。这不是一种程序性语言。在这里,该计划是严格的自上而下。而函数调用解决了一切有循环的问题,如果这样的话。和OOP) 明白了。明白了。谢谢你的澄清。 Alexander Avksentyev 2021.12.16 17:30 #18192 Tretyakov Rostyslav #: 谢谢你! Alexander Avksentyev 2021.12.16 21:04 #18193 Tretyakov Rostyslav #: 尊敬的先生,您好 if(OrderSelect(FindTicketOrder(), SELECT_BY_TICKET,MODE_TRADES)) { if(OrderProfit()<=-x); { OrderClose(FindTicketOrder(),OrderLots(),OrderClosePrice(),iSlippage,clrPink); } } else Print("OrderSelect() вернул ошибку - ",GetLastError()); 在一张票上有一个盈利订单,我想在它达到-x时关闭。 但我得到的是连续关闭的所有订单。 你能告诉我如何正确地做到这一点吗? Tretyakov Rostyslav 2021.12.16 21:24 #18194 Alexander Avksentyev #:尊敬的先生,您好在一张票上有一个盈利订单,我想在它达到-x时关闭。但我得到的是连续关闭的所有订单。你能告诉我怎么做才正确吗? 尝试以这种方式进行 int min_ticket=FindTicketOrder(); if(OrderSelect(min_ticket, SELECT_BY_TICKET,MODE_TRADES)) { if(OrderProfit()<=-x); { OrderClose(min_ticket,OrderLots(),OrderClosePrice(),iSlippage,clrPink); } } else Print("OrderSelect() вернул ошибку - ",GetLastError()); 一般来说,你应该开发整个功能,了解你在做什么 //+------------------------------------------------------------------+ void Функция() { ...твой код, возможные ошибки; } //+------------------------------------------------------------------+ Mihail Matkovskij 2021.12.16 21:58 #18195 Alexander Avksentyev #:尊敬的先生,您好在一张票上有一个盈利订单,我想在它达到-x时关闭。但我得到的所有 订单都是连续关闭的。你能告诉我如何正确地做到这一点吗?如果我只看到一个OrderClose调用,你如何让所有的订单都关闭? 这段代码甚至在哪里被调用都不是很清楚...该机器人的算法也不清楚... Alexander Avksentyev 2021.12.16 22:00 #18196 Mihail Matkovskij #:如果我只看到一个OrderClose调用,如何关闭所有订单? 它在开盘后立即关闭订单 Порт-моне тв 2021.12.16 22:01 #18197 Tretyakov Rostyslav #: 这不是你想要的--这只是一个例子。我在做一个半自动交易的EA。 你想要什么,你必须自己写)。 如果有的话,我将会提供帮助。 因此,我将更具体地描述我对这样一个快速挂单面板EA的需求,我已经从这个列表中找到了部分代码(20%),但其余的我需要问你,同事。 1) 外壳:在图表上显示一个带有按钮的板块:BUY_lp(较低的ASK in___pips), SELL_hp(较高的BID in___pips) - 在板块上手动输入的点数,BUY_lt(较低的ASK到____seconds),SELL_ht(较高的BID到____seconds) - 在板块上手动输入的秒数,CLOSE_buys,CLOSE_sells - 关闭所有订单。 a) 在图表上创建一个按钮的代码;将记分牌作为一个背景对象。 b) 向该记分牌输入数值的代码(点、秒)。 c) 将点值保存在某一存储文件中,在按下按钮后,价格是固定的,对于你想进入市场的价格,点数是增加/减少的。 d) 在某一存储文件中保存秒的数值,在该文件中连续计算所选 "秒 "期间价格的最低/最高值。 2)内部:执行。 a) 在按下BUY_lp或SELL_hp按钮后,从文件中读取点数和固定价格,以便与当前价格比较。 b) 当BUY_lt或SELL_ht按钮被按下时,以秒为单位的数值和变化的最高/最低价格被从文件中读取,以便与当前价格进行比较。 c) 当当前价格达到所需值时--进入市场(开放订单)。 d) 关闭订单或所有订单的按钮。 这个按钮的功能应该根据执行模式的不同而不同;如果价格是按 "点 "输入的,那么,在关闭同等数量的点后,关闭的价格应该在 "更好 "的方向上有所不同(在你按下 "关闭 "后等待该价格),如果按钮是 "按秒",那么应该计算一定时期内的最佳价格(等待该价格,但在你按下按钮的时刻不降低/提高)。 Mihail Matkovskij 2021.12.16 22:05 #18198 Alexander Avksentyev #:打开后立即关闭订单嗯,是的,由于点差的关系,利润在进入的那一刻总是有一个负值...尝试减少x的值。 而且最好以点为单位进行自己的利润计算功能(当然,如果你不想以入金货币设置)。 Alexander Avksentyev 2021.12.16 22:15 #18199 Mihail Matkovskij #:嗯,是的。"利润 "在进入时总是有一个负值,因为有价差...试着减少x的值。 -x小于传播,输出到打印 if(OrderProfit()<=-x); 如果条件符合,将为真,添加一个关闭命令,立即关闭 Alexander Avksentyev 2021.12.16 22:18 #18200 Mihail Matkovskij #:嗯,是的,由于价差的存在,利润在进入后的那一刻总是有一个负值...尝试减少x的值。 而且最好是自己做一个以点为单位计算利润的函数(当然,如果你不想以入金货币设置的话)。 你可以用积分来做,这并没有什么区别。我只是想让它变得更简单 1...181318141815181618171818181918201821182218231824182518261827...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有这样的事情。这不是一种程序性语言。在这里,该计划是严格的自上而下。而函数调用解决了一切有循环的问题,如果这样的话。和OOP)
谢谢你!
尊敬的先生,您好
在一张票上有一个盈利订单,我想在它达到-x时关闭。
但我得到的是连续关闭的所有订单。
你能告诉我如何正确地做到这一点吗?
尊敬的先生,您好
在一张票上有一个盈利订单,我想在它达到-x时关闭。
但我得到的是连续关闭的所有订单。
你能告诉我怎么做才正确吗?
尝试以这种方式进行
一般来说,你应该开发整个功能,了解你在做什么
尊敬的先生,您好
在一张票上有一个盈利订单,我想在它达到-x时关闭。
但我得到的所有 订单都是连续关闭的。
你能告诉我如何正确地做到这一点吗?
如果我只看到一个OrderClose调用,你如何让所有的订单都关闭?
这段代码甚至在哪里被调用都不是很清楚...该机器人的算法也不清楚...如果我只看到一个OrderClose调用,如何关闭所有订单?
它在开盘后立即关闭订单
这不是你想要的--这只是一个例子。我在做一个半自动交易的EA。
你想要什么,你必须自己写)。
如果有的话,我将会提供帮助。
因此,我将更具体地描述我对这样一个快速挂单面板EA的需求,我已经从这个列表中找到了部分代码(20%),但其余的我需要问你,同事。
1) 外壳:在图表上显示一个带有按钮的板块:BUY_lp(较低的ASK in___pips), SELL_hp(较高的BID in___pips) - 在板块上手动输入的点数,BUY_lt(较低的ASK到____seconds),SELL_ht(较高的BID到____seconds) - 在板块上手动输入的秒数,CLOSE_buys,CLOSE_sells - 关闭所有订单。
a) 在图表上创建一个按钮的代码;将记分牌作为一个背景对象。
b) 向该记分牌输入数值的代码(点、秒)。
c) 将点值保存在某一存储文件中,在按下按钮后,价格是固定的,对于你想进入市场的价格,点数是增加/减少的。
d) 在某一存储文件中保存秒的数值,在该文件中连续计算所选 "秒 "期间价格的最低/最高值。
2)内部:执行。
a) 在按下BUY_lp或SELL_hp按钮后,从文件中读取点数和固定价格,以便与当前价格比较。
b) 当BUY_lt或SELL_ht按钮被按下时,以秒为单位的数值和变化的最高/最低价格被从文件中读取,以便与当前价格进行比较。
c) 当当前价格达到所需值时--进入市场(开放订单)。
d) 关闭订单或所有订单的按钮。 这个按钮的功能应该根据执行模式的不同而不同;如果价格是按 "点 "输入的,那么,在关闭同等数量的点后,关闭的价格应该在 "更好 "的方向上有所不同(在你按下 "关闭 "后等待该价格),如果按钮是 "按秒",那么应该计算一定时期内的最佳价格(等待该价格,但在你按下按钮的时刻不降低/提高)。
打开后立即关闭订单
嗯,是的,由于点差的关系,利润在进入的那一刻总是有一个负值...尝试减少x的值。
而且最好以点为单位进行自己的利润计算功能(当然,如果你不想以入金货币设置)。嗯,是的。"利润 "在进入时总是有一个负值,因为有价差...试着减少x的值。
-x小于传播,输出到打印
if(OrderProfit()<=-x);
如果条件符合,将为真,添加一个关闭命令,立即关闭
嗯,是的,由于价差的存在,利润在进入后的那一刻总是有一个负值...尝试减少x的值。
而且最好是自己做一个以点为单位计算利润的函数(当然,如果你不想以入金货币设置的话)。你可以用积分来做,这并没有什么区别。我只是想让它变得更简单