到达设定盈利点数平仓的函数
该函数可以执行对应图表下的订单到底指定盈利点数即平仓的效果。一般来说设定盈利超过止损水平的话不需要用到下面函数,直接修改订单设置盈利数值就可以。如果想在止损水平以内平仓该函数就可以执行。extern int 滑点 = 20;
extern int 盈利点数 = 9;
double pt;
int OnInit()
{
//-------------注意这里适应不同报价方式要添加------------
if(Digits==5) pt=0.0001;
else
{
if(Digits==3) pt=0.01;
else pt=Point;
}
//--------------------适应不同报价方式结束----------
return(INIT_SUCCEEDED);
}
void OnTick()
{
//---
订单大于盈利数值平仓();
}
//+-----------------------订单大于盈利数值平仓函数-------------------------------------------+
void 订单大于盈利数值平仓()
{
double ld_closeprice = 0.0;
bool chenggong = false;
for (int pos = OrdersTotal() - 1; pos >= 0; pos--)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES))
{
RefreshRates();
ld_closeprice=OrderClosePrice();
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && ld_closeprice-OrderOpenPrice() >= 盈利点数*pt)
{
chenggong =OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 滑点, CLR_NONE);
}
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderOpenPrice()-ld_closeprice >= 盈利点数*pt)
{
chenggong =OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 滑点, CLR_NONE);
}
}
}
}
//-----------------------订单大于盈利数值平仓函数结束---------------------
页:
[1]