您好,请问想在订单开始前,把想要根据前面的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);
}
}
}
}
}
非常感谢
- 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6.
- 我学了一个移动止损的代码,但是空单却不进行移动止损,只有多单正常运行,请教为什么
- 退出策略。阶梯式止损与拖曳式止损
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); 修改函数里要求的参数是止损价,注意,是止损价,是计划要修改的止损价,并且不得与原止损价相同,不是其它。