欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 帮修正一下软件限制开关

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3490人关注过本帖平板打印复制链接

主题:帮修正一下软件限制开关

帅哥哟,离线,有人找我吗?
XXL
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:70 积分:0 威望:0 精华:0 注册:2016/11/23 11:06:46
帮修正一下软件限制开关  发帖心情 Post By:2017/2/16 11:04:52    Post IP:121.13.65.239[只看该作者]

帮修正一下这个日内限制
因为仓位管理有分形,不能在IF语句中开平仓
要求是这样的:日内只允许一次上穿或下穿开平仓,但是在上方及下方可以开平仓多次
               当上穿开多仓后,如果行情回到下方,那平能平多仓,但能平空仓,如果再回到上方多空不限
               当下穿开空仓后,如果行情回到上方,那平能平空仓,但能平多仓,如果再回到下方多空不限
下面是精减过的调式代码


ma1:ma(c,100);

KDD:=close>ma1;          //开多条件
PDD:=ma1>close;          //平多条件
KKD:=ma1>close;          //开空条件
PKD:=close>ma1;          //平空条件
//------------------软件限制开关开始-----------
variable:n1:=1;
variable:n2:=1;
//正关
if n1=1 and KDD and holding=0 then begin  //怎么知道开过仓?
  //  buy(1,1,marketr);  因为开平仓部门有仓位分形,没有办法在这里开平仓
    n1:=0;      //平多,开空无效
end
//负关
if n2=1 and KKD and holding=0 then begin
  //  buy(1,1,marketr); 因为开平仓部门有仓位分形,没有办法在这里开平仓
     KDD:=0;
    n2:=0;      //平空,开多无效
end

if time=closetime(0) then n1:=1;
if time=closetime(0) then n2:=1;

IF  n1=0 and C<ma1  THEN   PDD:=0;    //当开过一次多仓时,价格回到低位也不允许平多仓
IF  n2=0 and C>ma1  THEN   PKD:=0;    //当开过一次空仓时,价格回到高位也不允许平空仓
//--------------软件限制开关结束---------得到的标志可以放在后面加以限制-----------------

KD:=KDD ;          //开多条件
PD:=PDD and n1;          //平多条件
KK:=KKD and n2;          //开空条件
PK:=PKD ;//and n1;          //平空条件

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号


 回到顶部
总数 26 1 2 3 下一页