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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 收盘无发出平仓指令

   

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


  共有2675人关注过本帖树形打印复制链接

主题:收盘无发出平仓指令

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


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
收盘无发出平仓指令  发帖心情 Post By:2016/8/1 15:57:40    Post IP:183.23.120.244[显示全部帖子]

这个自带的日内平仓模型为什么收盘不会平仓,图表看是会平仓的(在5分钟周期下)。
模拟盘时发现没有发出平仓指令,怎么改一下,在收盘前一点点发出有效的平仓指令

//中间变量
INPUT:N(1,1,100,1),K1(0.7,0.1,1,0.1),K2(0.7,0.1,1,0.1),NMIN(10,1,100,1),SS(1,1,10000,1);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
开盘价:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(昨高,N);//N日HIGH的最高价
HC:=HHV(昨收,N);//N日CLOSE的最高价
LC:=LLV(昨收,N);//N日CLOSE的最低价
LL:=LLV(昨低,N);//N日LOW的最低价
浮动区间:=MAX(HH-LL,HC-LL);//RANGE 
上轨:开盘价+K1*浮动区间;
下轨:开盘价-K2*浮动区间;
T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;
T2:=TIME>=CLOSETIME(0)-NMIN*100;
手数:=SS;
//交易条件
开多条件:=C>上轨 AND HOLDING=0;
开空条件:=C<下轨 AND HOLDING=0;
//交易系统
开多:BUY(开多条件 AND T1 AND CYC>1,手数,MARKET);
开空:BUYSHORT(开空条件 AND T1 AND CYC>1,手数,MARKET);
收盘平多:SELL(T2,手数,MARKET);
收盘平空:SELLSHORT(T2,手数,MARKET);


 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/1 16:40:56    Post IP:121.13.65.239[显示全部帖子]


这两行都是对的吗?图表上看着尾盘不停的开平仓,这个NMIN*100是多少时间呀,如果我只在最后一根K柱平仓(就是提前5分钟平仓)
T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;      //这样写也一样TIME0<CLOSETIME(0)-NMIN*100
T2:=TIME0>=CLOSETIME(0)-NMIN*100;

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/1 17:26:06    Post IP:121.13.65.239[显示全部帖子]

这样不会平尾盘了
NMIN是什么单位

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/4 9:03:32    Post IP:121.13.65.239[显示全部帖子]

这样写在1分钟的K线下尾盘一样会不停的开仓,
T1:=TIME>OPENTIME(1) AND TIME0<=(timetot0(CLOSETIME(0))-NMIN*600);  
这一个限制不是用来限制开仓时间的吗,怎么限制不了呢  
TIME0<=(timetot0(CLOSETIME(0))-NMIN*600);    
这个好像能改变平仓时间为什么不能改变开仓时间

下面为程序
手数:=1;
NMIN:=10;

CYC:=BARSLAST(DATE<>REF(DATE,1))+1;

T1:=TIME>OPENTIME(1) AND TIME0<=(timetot0(CLOSETIME(0))-NMIN*600);    
T2:=TIME0>=(timetot0(CLOSETIME(0))-NMIN*60);
//ma1:ma(C,10);
//ma2:ma(c,60);

分钟1:stkindi('','公式1.ma5',0,1,-1);
分钟2:stkindi('','公式1.ma10',0,1,-1);

KD:= CROSS(分钟1,分钟2);          
PD:=CROSS(分钟2,分钟1);          
KK:=CROSS(分钟2,分钟1);        
PK:=CROSS(分钟1,分钟2);         

开多:BUY(KD AND T1 AND CYC>1,手数,MARKET);
开空:BUYSHORT(KK AND T1 AND CYC>1,手数,MARKET);
收盘平多:SELL(T2,手数,MARKET);
收盘平空:SELLSHORT(T2,手数,MARKET);
[此贴子已经被作者于2016-8-4 9:05:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/4 9:30:02    Post IP:121.13.65.239[显示全部帖子]

60不行,我再加到600,就是为了不让他早开仓,但是一样不行,6~600都一样
[此贴子已经被作者于2016-8-4 9:30:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/4 10:05:28    Post IP:121.13.65.239[显示全部帖子]

我知道,我是想不让他开仓这样试的60也一样
这是用60运行后的结果,

图片点击可在新窗口打开查看此主题相关图片如下:2200341.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/4 10:11:25    Post IP:121.13.65.239[显示全部帖子]

上面那个是5分钟K线下运行调用的1分钟图,单1分钟是这样

图片点击可在新窗口打开查看此主题相关图片如下:9998.png
图片点击可在新窗口打开查看
手数:=1;
NMIN:=10;//时间
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;

T1:=TIME>OPENTIME(1) AND TIME0<=(timetot0(CLOSETIME(0))-NMIN*60);    
T2:=TIME0>=(timetot0(CLOSETIME(0))-NMIN*60);


分钟1:stkindi('','公式1.ma5',0,1,-1);     //这是ma5:ma(c,5);
分钟2:stkindi('','公式1.ma10',0,1,-1);   //这是ma5:ma(c,10);

KD:= CROSS(分钟1,分钟2);          //开多条件
PD:=CROSS(分钟2,分钟1);          //平多条件
KK:=CROSS(分钟2,分钟1);          //开空条件
PK:=CROSS(分钟1,分钟2);          //平空条件

开多:BUY(KD AND T1 AND CYC>1,手数,MARKET);
开空:BUYSHORT(KK AND T1 AND CYC>1,手数,MARKET);
收盘平多:SELL(T2,手数,MARKET);
收盘平空:SELLSHORT(T2,手数,MARKET);



 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/8/4 11:26:23    Post IP:121.13.65.239[显示全部帖子]

图表,如果开出空仓,不平掉是不是无法再开多仓,或者说后面的开多指令固定无效



 回到顶部