gpt4 book ai didi

mql4 - 在 MetaTrader4 EA 的 OrderSend() 中设置止损和止盈的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 11:42:09 27 4
gpt4 key购买 nike

我想弄清楚是否有 正确方法设置止损 (SL) 和获利 (TP) 水平,当在 EA 交易中发送订单时,在 MQL4 (Metatrader4) 中。功能模板是:
OrderSend( symbol, cmd, volume, price, slippage, stoploss, takeprofit, comment, magic, expiration, arrow_color);
因此,我很自然地尝试执行以下操作:

double dSL = Point*MM_SL;
double dTP = Point*MM_TP;

if (buy) { cmd = OP_BUY; price = Ask; SL = ND(Bid - dSL); TP = ND(Ask + dTP); }
if (sell) { cmd = OP_SELL; price = Bid; SL = ND(Ask + dSL); TP = ND(Bid - dTP); }

ticket = OrderSend(SYM, cmd, LOTS, price, SLIP, SL, TP, comment, magic, 0, Blue);

然而,有多少脚本和 EA 就有多少变种。到目前为止,我遇到了这些。

在 MetaEditor 的 MQL4 引用中,文档说要使用:

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,
NormalizeDouble(Bid - StopLoss*Point,Digits),
NormalizeDouble(Ask + TakeProfit*Point,Digits),
"My order #2",3,D'2005.10.10 12:30',Red);

而在“相同”文档中 online , 他们使用:

double stoploss = NormalizeDouble(Bid - minstoplevel*Point,Digits);
double takeprofit = NormalizeDouble(Bid + minstoplevel*Point,Digits);
int ticket=OrderSend(Symbol(),OP_BUY,1,price,3,stoploss,takeprofit,"My order",16384,0,clrGreen);

所以它有各种口味, here , herehere ...

假设我们对 OP_BUY 感兴趣并且符号正确,我们可以选择将 SL 和 TP 值基于:

bid, bid 
bid, ask
ask, ask
ask, bid

那么为买入设置 SL 和 TP 的正确方法是什么?

(使用各种变体的优点或缺点是什么?)

编辑 : 2018-06-12

除了一些细节,答案其实很简单,虽然不是很明显。也许 因为 MT4 仅在图表上显示出价(默认情况下)并且不是要价和要价。

所以因为: Ask > BidAsk - Bid = Slippage ,只要我们知道滑点,我们选择哪个并不重要。然后根据您在图表上遵循的价格,您可能希望决定使用一个而不是另一个,相应地增加或减少滑点。

因此,当您使用度量工具获取当前显示价格与“确切”止损/止盈设置的点差时,您需要牢记这一点。

因此,为了避免将滑点放在上面的代码中,我对 使用了以下内容OP_BUY : TP = ND(Bid + dTP); (而 OP_SELL 的情况正好相反。)

最佳答案

如果你买,你 OP_BUY Ask并在 Bid 收盘(止损、止盈) .
如果你卖, OP_SELL 操作是在 Bid价格,收于 Ask .

SL 和 TP 都应该至少保持在 STOP_LEVEL * Point() 之内从当前价​​格到收盘价的距离(Bid 买入,Ask 卖出)。

可能是 STOP_LEVEL为零 - 在这种情况下(当 MT4 接受订单时)经纪商可能会根据其自己的算法拒绝它(条款和条件可能将其称为“ float 止损水平”规则或一些类似的营销方面的“重新调整”术语) .

建议发送 OrderSend()请求 SL 和 TP 为零值并在您看到订单发送成功后修改它。有时它不是必需的,有时甚至是强制性的。

您给我们的两个链接之间没有区别:您可以计算 SL 和 TP,然后将它们传递给函数或基于 OrderOpenPrice() 计算它们。 +/- distance * Point() .

关于mql4 - 在 MetaTrader4 EA 的 OrderSend() 中设置止损和止盈的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50746091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com