BreakEven()监控所有持仓订单,为每个订单设置保本
函数名称void BreakEven(string SymbolX,int MagicX,int BreakevenStartX,int BreakevenX)
函数介绍
自动检测当前持仓的所有订单,为每一个订单,设置保本。如果该订单盈利达到设定条件,就为该订单设置一个保本损。是一个非常好用的函数。注意:调用函数的时候,需要把函数的定义放到代码的最下面。
//举例
BreakEven(Symbol(),MAGIC,500,10);
参数介绍
SymbolX:需要设置保本的品种,一般设置当前品种即可。也就是Symbol();
MagicX:订单的魔术码,你的EA的魔术码是多少,这里填上即可。
BreakevenStartX:开启保本的盈利点数(pips),当此订单盈利多少点时设定保本。
BreakevenX:保本的点数,一般设置0即可。如果你想多保本一些点数,可以设置一个大于0的整数数值。
函数定义
注意:本人发布的函数均为实战开发所用,低价或免费发布并不赚钱,仅限懂编程的朋友使用,不提供指导,因为人工成本巨贵,感谢朋友们海涵。void BreakEven(string SymbolX,int MagicX,int BreakevenStartX,int BreakevenX)
{
for(int i=OrdersTotal()-1; i>=0; i--)
if(OrderSelect(i,SELECT_BY_POS))
if((OrderSymbol()==SymbolX ||SymbolX=="-1")&& (OrderMagicNumber()==MagicX || MagicX==-1))
{
if(OrderType()==OP_SELL && OrderOpenPrice()-MarketInfo(Symbol(),MODE_ASK)>BreakevenStartX*MarketInfo(OrderSymbol(),MODE_POINT))
{
if(OrderOpenPrice()-BreakevenX*MarketInfo(OrderSymbol(),MODE_POINT)<OrderStopLoss())
if(!OrderModify(OrderTicket(),0,OrderOpenPrice()-BreakevenX*MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,Yellow))
Print(GetLastError());
}
else
if(OrderType()==OP_BUY && MarketInfo(Symbol(),MODE_BID)-OrderOpenPrice()>BreakevenStartX*MarketInfo(OrderSymbol(),MODE_POINT))
{
if(OrderOpenPrice()+BreakevenX*MarketInfo(OrderSymbol(),MODE_POINT)>OrderStopLoss())
if(!OrderModify(OrderTicket(),0,OrderOpenPrice()+BreakevenX*MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,Yellow))
Print(GetLastError());
}
}
}
看着不错 看着不错。。。 仅限懂编程的朋友使用 MT5版的移动止损是哪个函数啊? 没钱看了
页:
[1]