初学者的问题 MQL5 MT5 MetaTrader 5 - 页 363 1...356357358359360361362363364365366367368369370...1503 新评论 khorosh 2015.05.31 08:27 #3621 Tapochun: 我不认为你在这里问的是问题。创建一个单独的主题,将指标的代码附在那里,希望有人能提供帮助。没有代码...不太可能有人会帮助你。 指标不买也不卖)。 Nikolay Lampickiy 2015.05.31 14:50 #3622 在写ToR的时候,我遇到了一个情况,我不明白如何正确描述算法。你能告诉我在EA的工作中,是否可以部分平仓? Vitalie Postolache 2015.05.31 15:11 #3623 Nikolay Lampickiy: 在写ToR的时候,我遇到了一个情况,我不明白如何正确描述算法。您能否告知在EA的工作中 部分平仓 的可能性? 为了做到这一点,在平仓指令中,指定一个小于该仓位手数的手数(这是在MT4中,在MT5中,你可以用更小的手数开一个相反的仓位,它们最后会重叠)。剩余地段的位置将保留在市场上。 [删除] 2015.05.31 15:15 #3624 Nikolay Lampickiy: 在写ToR的时候,我遇到了一个情况,我不明白如何正确描述算法。你能告诉我,在EA的工作中,是否可以部分平仓? 这有什么好复杂的?如果仓位不平均(如0.09),则关闭大部分仓位(0.05),并将止损点移至盈亏平衡点,然后再关闭另一半仓位(0.02),并将仓位放至盈利,反之亦然,直至整个仓位被关闭或盈亏平衡。该步骤可以是固定的,也可以从任何范围内计算,取决于交易系统。 Nikolay Lampickiy 2015.05.31 15:55 #3625 Vladimir Zubov: 这有什么好复杂的?如果仓位不平均(例如0.09),那么就关闭大部分(0.05),并将止损点移至盈亏平衡点,然后再一次关闭距离,并再次留下一半(0.02),将止损点移至正数的下一个关闭步骤,如此反复,直到整个仓位被关闭或达到止损点。该步骤可以是固定的,也可以从任何范围内计算,取决于交易系统。我弄得对吗?MQL4编程语言允许将只有一半的市场订单量的关闭正式化...如10手,当价格达到一定水平时,关闭5手。还是有可能关闭1/3?或者,通过下不同的订单,在EA中实现这个想法会更容易。当价格达到要求的水平时,一个订单被关闭,另一个则保留部分关闭市场订单量的位置。你怎么看? Nikolay Lampickiy 2015.05.31 15:57 #3626 Vitalie Postolache: 要做到这一点,您需要在平仓单中指定一个小于该仓位手数的手数(这是在MT4中,在MT5中您可以用更小的手数建立相反的仓位,最后它们会重叠)。剩余地段的位置将保留在市场上。 我不满意相反的立场......。谢谢你的答复。 [删除] 2015.05.31 15:59 #3627 Nikolay Lampickiy:我弄得对吗?MQL4编程语言允许将只有一半的市场订单量的关闭正式化...如10手,当价格达到一定水平时,关闭5手。还是有可能关闭1/3?或者,通过下不同的订单,在EA中实现这个想法会更容易。当价格达到要求的水平时,一个订单被关闭,另一个则保留部分关闭市场订单量的位置。你怎么看?我们可以同时进行。OrderClose允许你关闭对其指示的量。https://docs.mql4.com/ru/trading/orderclose当然,你可以用不同的盈利水平开几个订单。 在连接失败的情况下,它将更加可靠,因为TP水平存储在服务器上,如果价格与它们相交,将被执行。 OrderClose - Документация на MQL4 docs.mql4.com OrderClose - Документация на MQL4 Nikolay Lampickiy 2015.05.31 16:02 #3628 Vladimir Zubov:你可以同时进行。OrderClose允许平仓,这是对它的指示。https://docs.mql4.com/ru/trading/orderclose当然,你也可以用不同的盈利水平开几个订单。 在连接失败的情况下,这将更加可靠,因为TP水平存储在服务器上,如果价格越过它们,将被执行。 谢谢你的答复))) dariamap 2015.06.01 14:38 #3629 大家好,我正面临一个问题,我想听听专业人士或更有经验的MT5用户的意见。我写了一个指标 和CEventBase类,它允许指标产生事件。当运行早晚处理这些事件的专家顾问时,在实时运行时,我得到了错误。4001, 4102, 4104.当它们开始 "堆积 "时,它们不会停止这样做)我附上Generate函数的代码,它实际上是所有这些麻烦的来源。非常高兴听到您的意见......)大家好!bool CEventBase::Generate(long _chart_id, int _id_ind, SEventData &_data, const bool _is_custom=true) { bool is_generated = true; // если индекс id события в массиве не верен if (_id_ind < 0 || _id_ind >= aEvents.Total()) { Print("Не верно задан индекс ID события"); return (false); } // заполняем поля CEvent *event = aEvents.At(_id_ind); this._id = (ushort)(CHARTEVENT_CUSTOM+event.id); this._data = _data; this._data.sparam = event.name; // сохраняем имя события if(_is_custom) { ResetLastError(); is_generated = EventChartCustom(_chart_id, event.id, this._data.lparam, this._data.dparam, this._data.sparam); if(!is_generated && _LastError != 4104) { Print("is_generated = ", is_generated); PrintFormat("%s Error while generating a custom event: %d", __FUNCTION__,_LastError); Print( ChartSymbol(_chart_id)," ",PeriodToString(ChartPeriod(_chart_id)), "Ошибка! _chart_id =", _chart_id, " event.id = ", event.id, " data.dparam = " ,this._data.dparam, " data.sparam = ", this._data.sparam); } } return is_generated; } Vasiliy Sokolov 2015.06.02 12:56 #3630 dariamap:大家好,我正面临一个问题,我想听听专业人士或更有经验的MT5用户的意见。我写了一个指标 和CEventBase类,它允许指标产生事件。当运行早晚处理这些事件的专家顾问时,在实时运行时,我得到了错误。4001, 4102, 4104.当它们开始 "堆积 "时,它们就不会停止发生)我附上Generate函数的代码,它实际上是所有这些问题的来源。我将非常高兴听到你对它的意见......)大家好!很明显,你提出的方法是一种过境方法。错误很可能不在其中。从你提出的数据来看,并不清楚发生了什么。可能有几个变种。图表标识符不正确(这就是4101错误所说的)。查询过于频繁。其他参数不正确(例如,事件ID)。 从你写的代码水平来看,我们可以说,错误可能在任何地方、任何时间出现。 1...356357358359360361362363364365366367368369370...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我不认为你在这里问的是问题。创建一个单独的主题,将指标的代码附在那里,希望有人能提供帮助。没有代码...不太可能有人会帮助你。
在写ToR的时候,我遇到了一个情况,我不明白如何正确描述算法。您能否告知在EA的工作中 部分平仓 的可能性?
在写ToR的时候,我遇到了一个情况,我不明白如何正确描述算法。你能告诉我,在EA的工作中,是否可以部分平仓?
这有什么好复杂的?如果仓位不平均(例如0.09),那么就关闭大部分(0.05),并将止损点移至盈亏平衡点,然后再一次关闭距离,并再次留下一半(0.02),将止损点移至正数的下一个关闭步骤,如此反复,直到整个仓位被关闭或达到止损点。该步骤可以是固定的,也可以从任何范围内计算,取决于交易系统。
我弄得对吗?MQL4编程语言允许将只有一半的市场订单量的关闭正式化...如10手,当价格达到一定水平时,关闭5手。
还是有可能关闭1/3?
或者,通过下不同的订单,在EA中实现这个想法会更容易。当价格达到要求的水平时,一个订单被关闭,另一个则保留部分关闭市场订单量的位置。你怎么看?
要做到这一点,您需要在平仓单中指定一个小于该仓位手数的手数(这是在MT4中,在MT5中您可以用更小的手数建立相反的仓位,最后它们会重叠)。剩余地段的位置将保留在市场上。
我弄得对吗?MQL4编程语言允许将只有一半的市场订单量的关闭正式化...如10手,当价格达到一定水平时,关闭5手。
还是有可能关闭1/3?
或者,通过下不同的订单,在EA中实现这个想法会更容易。当价格达到要求的水平时,一个订单被关闭,另一个则保留部分关闭市场订单量的位置。你怎么看?
我们可以同时进行。OrderClose允许你关闭对其指示的量。https://docs.mql4.com/ru/trading/orderclose
当然,你可以用不同的盈利水平开几个订单。 在连接失败的情况下,它将更加可靠,因为TP水平存储在服务器上,如果价格与它们相交,将被执行。
你可以同时进行。OrderClose允许平仓,这是对它的指示。https://docs.mql4.com/ru/trading/orderclose
当然,你也可以用不同的盈利水平开几个订单。 在连接失败的情况下,这将更加可靠,因为TP水平存储在服务器上,如果价格越过它们,将被执行。
大家好,我正面临一个问题,我想听听专业人士或更有经验的MT5用户的意见。我写了一个指标 和CEventBase类,它允许指标产生事件。当运行早晚处理这些事件的专家顾问时,在实时运行时,我得到了错误。4001, 4102, 4104.当它们开始 "堆积 "时,它们不会停止这样做)我附上Generate函数的代码,它实际上是所有这些麻烦的来源。非常高兴听到您的意见......)
大家好!
大家好,我正面临一个问题,我想听听专业人士或更有经验的MT5用户的意见。我写了一个指标 和CEventBase类,它允许指标产生事件。当运行早晚处理这些事件的专家顾问时,在实时运行时,我得到了错误。4001, 4102, 4104.当它们开始 "堆积 "时,它们就不会停止发生)我附上Generate函数的代码,它实际上是所有这些问题的来源。我将非常高兴听到你对它的意见......)
大家好!
很明显,你提出的方法是一种过境方法。错误很可能不在其中。从你提出的数据来看,并不清楚发生了什么。可能有几个变种。
- 图表标识符不正确(这就是4101错误所说的)。
- 查询过于频繁。
- 其他参数不正确(例如,事件ID)。
从你写的代码水平来看,我们可以说,错误可能在任何地方、任何时间出现。