您好,请问想在订单开始前,把想要根据前面的K线或均线等(例如:double 止损= iMA-K线开盘价 )设置止损在订单中,还有就是利用移动止损来设置。这些都不可以,有其他方法或可以解决吗?
以下是代码:
1.
void yidong()
{
double 止损=iOpen(_Symbol,PERIOD_CURRENT,1)-iClose(_Symbol,PERIOD_CURRENT,1);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderType()==0 && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
{
if(OrderStopLoss()==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Point*止损,OrderTakeProfit(),0,Green);
}
}
}
}
}
非常感谢
- Using built-in indicators
- Trailing stop
- 已打开头寸的两步修改
zhu sheng:
您好,请问想在订单开始前,把想要根据前面的K线或均线等(例如:double 止损= iMA-K线开盘价 )设置止损在订单中,还有就是利用移动止损来设置。这些都不可以,有其他方法或可以解决吗?
您好,请问想在订单开始前,把想要根据前面的K线或均线等(例如:double 止损= iMA-K线开盘价 )设置止损在订单中,还有就是利用移动止损来设置。这些都不可以,有其他方法或可以解决吗?
以下是代码:
1.
void yidong()
{
double 止损=iOpen(_Symbol,PERIOD_CURRENT,1)-iClose(_Symbol,PERIOD_CURRENT,1);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderType()==0 && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
{
if(OrderStopLoss()==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Point*止损,OrderTakeProfit(),0,Green);
}
}
}
}
}
非常感谢
问题有点大哈。就事论事,看不到的不知道。
double 止损=iOpen(_Symbol,PERIOD_CURRENT,1)-iClose(_Symbol,PERIOD_CURRENT,1);
这个得到的是两价格的差,注意,是两价格的差,不是价格,也不是换算后的点值。
OrderModify(OrderTicket(),OrderOpenPrice(),Point*止损,OrderTakeProfit(),0,Green); 修改函数里要求的参数是止损价,注意,是止损价,是计划要修改的止损价,并且不得与原止损价相同,不是其它。