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

 
Alexandr Sokolov:

如果市场价格在离SL或TP的SYMBOL_TRADE_FREEZE_LEVEL范围内,EA是否会关闭一半的订单?MQL4

我想自己检查一下,但在Alpari,这个值在任何地方都是零(在货币、金属、加密货币、指数上)。

要关闭,只有订单的收盘价(对于买入-出价和卖出-要价)和订单关闭的数量是重要的 - 如果它们是正确的,那么只有一个技术检查的重新报价或连接失败...

参数SYMBOL_TRADE_FREEZE_LEVEL本身,它只与止盈和止损挂钩--没有比这个值更近的可以移动的TP/SL和挂单(似乎只有Limit)不能接近这个参数。

ZS:在阿尔卑斯山上,根本不清楚它的工作内容和方式--他们走得太远了!在metaquotes上打开一个演示--在那里,一切都像帮助中描述的那样工作。

 
Igor Makanu:

如果它们是正确的,那么唯一重要的是订单的收盘价(对于买入-出价和卖出-要价)和收盘量--如果是这样,那么从技术上检查重新报价或连接失败......。

参数SYMBOL_TRADE_FREEZE_LEVEL本身,它只与止盈和止损挂钩--没有比这个值更近的可以移动的TP/SL和挂单(似乎只有Limit)不能接近这个参数。

ZS:Alps不知道什么是工作和如何工作的--他们制造了太多的麻烦。在metaquotes上打开一个演示--在那里一切都像帮助中描述的那样工作。

有没有MetaQuotes的另一款MT4?我搜索了一次,但所有的链接都是下载MT5的。

 
Alexandr Sokolov:

现在还有MetaQuotes的MT4吗?我曾经找过它,但所有的链接都指向下载MT5。

你是否为每个经纪人下载一个单独的终端?- 当然这是个好主意,但你必须在某个地方停下来 )))

当你在任何MT4中打开一个演示,进入 "导航",在账户上点击右键,在底部输入MetaQuotes,你将打开一个演示,无需从你的经纪人那里下载终端。

 
Igor Makanu:

你是否为每个经纪人下载一个单独的终端?- 当然,这是一个有价值的努力,但你有时必须停止))))))。

你可以在任何MT4中通过右键点击账户上的 "Navigator",在底部输入MetaQuotes,无需从经纪商那里下载终端就可以打开一个模拟账户。

当然不是 ))但不知为何,我不认为MetaQuotes的MT4模拟账户仍在提供服务。

谢谢你!

 
Igor Makanu:

如果它们是正确的,那么唯一重要的是订单的收盘价(对于买入-出价和卖出-要价)和收盘量--如果是这样,那么从技术上检查重新报价或连接失败......。

参数SYMBOL_TRADE_FREEZE_LEVEL本身,它只与止盈和止损挂钩--没有比这个值更近的可以移动的TP/SL和挂单(似乎只有Limit)不能接近这个参数。

ZZZIE: alps不知道如何工作和什么工作--他们走得太远了!在Metacquotes上打开一个演示--那里的一切总是按照帮助中的描述工作。

可能与SYMBOL_TRADE_STOPS_LEVEL混淆了

 
Alexey Viktorov:

也许你对SYMBOL_TRADE_STOPS_LEVEL感到困惑。

嗯,是的,我做了,但在这种特殊情况下--关闭订单仍然没有被考虑在内。

这里有一个使用SYMBOL_TRADE_FREEZE_LEVEL的好表格

https://www.mql5.com/ru/articles/2555#modify_in_freeze_level_prohibited

 
Alexey Viktorov:

可能与SYMBOL_TRADE_STOPS_LEVEL混淆了

如果价格比写在级别SYMBOL_TRADE_FREEZE_LEVEL中的价格更接近止损或限价订单,冻结级别将不允许修改或删除。止损和止盈就是这些。也就是说,没有人阻止他们平仓。
虽然...也许,他们也不会让一个头寸部分平仓--他们会说,价格已经接近,整个头寸将被止损单平仓。
在实践中,我从未遇到过冻结的水平

 
Artyom Trishkin:

在实践中,我从未遇到过冻结水平

之前他们在几乎所有的经纪公司都是一样的,只需要检查SYMBOL_TRADE_STOPS_LEVEL或SYMBOL_TRADE_FREEZE_LEVEL ,都是一样的,如果服务器不允许修改订单,也会发生同样的错误(错误130?)

现在与梅塔克特公司进行了核对。

2019.07.19 21:28:48.083 t1 EURUSD,H1: SYMBOL_TRADE_STOPS_LEVEL = 8

2019.07.19 21:28:48.083 t1 EURUSD,H1: SYMBOL_TRADE_FREEZE_LEVEL = 0

用一个机器人检查...- 两个值都=0 ,也就是说,需要阅读服务器规范,如何以及为什么他们会重新投票))。
 
Igor Makanu:

用robot.... 检查- 这两个值都=0 ,也就是说,你需要阅读服务器的数据表,如何以及出于什么原因,他们会重新报价)))。

在我的记忆中,0意味着参数是 "浮动 "的,这意味着当他们想要的时候就会应用(并且会在他们想要的时候应用)。

 
Alexey Viktorov:

可能与SYMBOL_TRADE_STOPS_LEVEL混淆了

不,不是迷惑。SYMBOL_TRADE_STOPS_LEVEL 是设置或改变SL或TP与市场价格的最小距离。

而SYMBOL_TRADE_FREEZE_LEVEL禁止改变SL或TP水平,如果市场价格在那一刻比SYMBOL_TRADE_FREEZE_LEVEL更接近它们

只是我在写一个EA,其策略最初是在M1上推荐的,SYMBOL_TRADE_FREEZE_LEVEL可以禁止关闭部分订单