  
等级: 新手上路 
- 注册: 
 - 2022-6-15
 
- 曾用名: 
 
 
 
 | 
 
我看了策略教学里的止损,移动止赢交易范例,也理解了他的逻辑,但是范例里显示的仓位,只能是单向持仓,多仓是正数,空仓是负数,无法代入到我编写的期货策略里。 
因为我在期货中可能存在同时开多仓和开空仓的情况,那是不是不能用Holding来识别持仓量了呢?请问老师怎么识别目前持仓量中的空仓和多仓分别是多少呢?这个范例可以麻烦老师修改一下吗? 
 
以下是那个范例: 
MA1:=MA(CLOSE,5); 
MA2:=MA(CLOSE,30); 
variable:maxprofit=0;//有仓位时最大获利幅度 
//开仓 
IF CROSS(MA1,MA2) THEN 
BEGIN 
  BUY(1,1,limit,c); 
  maxprofit:=0; 
END 
//平仓 
SELL(CROSS(MA2,MA1),0,limit,c); 
//判断当前持仓状态下的最大盈利 
win:=0; 
win2:=0; 
if holding > 0 and enterbars > 0 then 
begin 
  win:=(c-enterprice)/enterprice*100; //记录最大盈利 
  if win>maxprofit then 
    maxprofit:=win;  
  
  win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度 
end 
if holding < 0 and enterbars > 0 then 
begin 
  win:=(enterprice-c)/enterprice*100; //记录最大盈利 
  if win > maxprofit then 
    maxprofit:=win; 
  
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度 
end 
//出现浮动亏损比如2%平仓 
止损:SELL(win < -2,0,limit,c); 
  
//出现最高盈利后,回落到盈利的60%平仓出场 
止赢:SELL(win2 >= 60 and openprofit > 0, 0,limit,c); |   
 
 
 
 |