您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

[求助]关于减仓补仓 [金字塔]

  • 咨询内容:     我想实现这样一个功能,即:1. 在每天收盘前的最后一分钟之初,即进入15:15分的那一瞬间,平掉一半仓位;2. 在每天开盘的第一分钟(即开盘的那一瞬间),如果开盘价与昨日收盘价相差不到0.5%,就立即补上前日所减之仓位。    我写了如下的代码,但反复测试都不准确,一个是实际的减仓和补仓量很混乱,与意图不符,另一个是时间上好像不太准确。敬请帮助检查一下,看看问题在哪里?拜托拜托
    T1:=time>151400 and time<=151500;T2:=time>=091500 and time<=091600;减仓量:=holding/2;当日开盘价:=valuewhen(date<>ref(date,1),open);前日收盘价:=ref(close,1);开盘差:=当日开盘价/前日收盘价;补仓条件:=开盘差<=1.005 and 开盘差>=0.995;昨日持仓量:=ref(holding,1);
    if T1 then  begin  sell(holding>0,减仓量,marketr);  sellshort(holding<0,减仓量,marketr);  end
    if T2 and 补仓条件 then  begin  buy(holding>0,昨日持仓量,thisclose);  buyshort(holding<0,昨日持仓量,thisclose);  end

     

  • 金字塔客服: 对了,补充一下,模型是1分钟、固定1秒轮询……

     

  • 用户回复: 1. 在每天收盘前的最后一分钟之初,即进入15:15分的那一瞬间,平掉一半仓位; 2. 在每天开盘的第一分钟(即开盘的那一瞬间),如果开盘价与昨日收盘价相差不到0.5%,就立即补上前日所减之仓位。

     

     

    if time=151500 then sell(1,holding/2,market);

    r1:=ref(holding,1);

    if todaybar=1 and abs((o-ref(close,1))/ref(close,1))<0.005 then buy(1,r1,market)

     

  • 网友回复: if time=151500 then sell(1,holding/2,market);  1. 这里是不是用marketr更好?本周期么,过了151500可就没机会平了?2. 括号里的1是指什么?

     

  • 网友回复:

    1.market改成limitr,open

    2.哪里的1?

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容