|
|
在MT4平台上,编写EA(Expert Advisor,即智能交易系统)时,设置止损和止盈是常见的需求。以下是一些关于如何在MT4 EA中设置止损和止盈的源码示例:
1.?首先,可以通过外部参数来设置止损和止盈点数:
input int SL=600; // 止损点数
input int TP=200; // 止盈点数
2.?在下单时,可以在?OrderSend?函数中直接设置止损和止盈价格:
int ticket=OrderSend(
Symbol(),
OP_BUY,
lots,
Ask,
3,
Ask-SL*Point, // 止损价
Ask+TP*Point, // 止盈价
"My order",
16384,
0,
clrGreen
);
3.?如果下单时没有设置止损和止盈,可以在订单成功后通过?OrderModify?函数修改订单设置:
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==16384 && OrderType()==OP_BUY)
{
if(OrderStopLoss()==0)
{
bool res=OrderModify(
OrderTicket(),
OrderOpenPrice(),
OrderOpenPrice()-SL*Point,
OrderOpenPrice()+TP*Point,
0
);
if(res)
Print("订单修改成功");
}
}
}
}复制代码
4.?另外,有些脚本程序可以一键快速设定止盈和止损价位,适用于忘记设置止盈止损的情况,可以将脚本拖到图表上自动执行设置 。
5.?还有分享的EA源码,具备自动止损止盈、分批出场等功能,可以根据需要进行选择和使用 。
6.?EAHub外汇EA指标论坛上也有分享自动设置止盈止损、追踪止损的EA源码,具备多种功能,如隐藏止盈止损、盈利保护、多种追踪止损模式等 。
请注意,实际编写和使用EA时,需要根据具体的交易策略和券商平台的要求进行相应的调整和测试。 |
|