请教一个OrderSend函数的问题。

楼主  收藏   举报   帖子创建时间:  2019-05-05 05:38 回复:0 关注量:813
请问一下,当前在有持仓的情况下,比如持多仓时,当遇到符合开空仓条件时,用OrderSend 是否是直接平仓并直接反向建立空仓?如果是的话,那它是不是直接发送两个单子?OrderSend后面有两个参数:stoploss和takeprofit,比如分别设置100个点的话,是指该单成交后,与开仓价相比,波动超过100个点就自动对该单进行止赢止损吗?
  1. case OP_BUY://多单持仓情况下,满足空单入场条件
  2. if(TradeOrNo(2))
  3. {
  4. if(OrderClose(Tick,OrderLots(),Bid,滑点偏移点数)==false)//平掉多单持仓单
  5. {
  6. Print("翻转发生 多头平仓失败"+GetLastError());
  7. return;

  8. }else//平仓后,反手建立空单
  9. {
  10. Ticket=OrderSend(Symbol(),OP_SELL,每手单数,Bid,滑点偏移点数,Bid+SL*Point,0,"",Magic,0,0);
  11. if(Ticket<0)
  12. {
  13. Print("空单反手建仓失败"+GetLastError());
  14. return(0);
  15. }
  16. }
  17. }else //判断移动止损
  18. {
  19. if (Ask>StopLost+2*TrailingStop*Point)
  20. {
  21. OrderModify(Tick,OrderOpenPrice(),StopLost+TrailingStop*Point,0,0,CLR_NONE);
  22. return;
  23. }
  24. }
  25. break;
打赏