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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 后台程序化移动止损的问题

   

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


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

主题:后台程序化移动止损的问题

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


加好友 发短信
等级:论坛游侠 帖子:159 积分:0 威望:0 精华:0 注册:2014/10/23 15:05:10
后台程序化移动止损的问题  发帖心情 Post By:2017/5/17 14:03:55    Post IP:202.104.28.73[只看该作者]

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//该模型运行于后台程序化模式

ZH1:'1000';
PZ1:'IF00';
VARIABLE:A=0;

//条件判断
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
CONDBUY:=CROSS(MA5,MA10);
CONDSELL:=CROSS(MA10,MA5);

//开仓和平仓
TBUY(CONDBUY AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,LMT,CLOSE,0,ZH1,PZ1 );
TSELL(CONDSELL,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);



//移动止损模块部分*******************************
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落

//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX( '','' ,0 )>0 AND EXTGBDATA('a' )=0 THEN BEGIN
EXTGBDATASET( 'a',1 );
END

//使A始终表示监控开始后的最高价
IF DYNAINFO(  7)>EXTGBDATA('a' ) and EXTGBDATA('a' )>0 THEN BEGIN
EXTGBDATASET( 'a',DYNAINFO(  7));
END

//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA('a' )-DYNAINFO(  7)>5*MINDIFF and EXTGBDATA('a' )>0 THEN BEGIN
TSELL(1,1,MKT );
EXTGBDATASET( 'a',0);
END
//*******************************


我用系统自带的后台移动止损进行测试,测试IF00,1分钟周期,2017年1月1日到2017年5月15日,测试结果显示有交易,但是我把
TSELL(CONDSELL,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);这个语句删除之后,只想用移动止损平仓,发现居然没有交易信号,请问是什么问题呢?

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


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2017/5/18 8:59:05    Post IP:180.169.30.6[只看该作者]

TBUY(CONDBUY AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10  //开仓里面有个条件,是仓位小于10.你看下你账户栏对应品种的仓位是不是大于10手哦


金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
chyhao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:159 积分:0 威望:0 精华:0 注册:2014/10/23 15:05:10
  发帖心情 Post By:2017/5/18 16:20:29    Post IP:183.26.163.71[只看该作者]

TBUY(CONDBUY AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )=0,1,LMT,CLOSE,0,ZH1,PZ1 );

我把改成TBUYHOLDINGEX( ZH1,PZ1 ,0 )=0,发现连续几次开多,没有平仓出现,貌似就是止损不发生作用,是什么问题呢?

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/18 16:30:22    Post IP:180.169.30.6[只看该作者]

你可以使用debugfile 将有疑问的地方的条件输出看下,它是不是满足当时的触发条件。


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
chyhao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:159 积分:0 威望:0 精华:0 注册:2014/10/23 15:05:10
  发帖心情 Post By:2017/5/18 16:35:28    Post IP:183.26.163.71[只看该作者]

后台精细化回测的哦

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/18 17:21:47    Post IP:180.169.30.6[只看该作者]

那你用debugfile2,应该是可以输出历史的条件值的


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
chyhao
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:159 积分:0 威望:0 精华:0 注册:2014/10/23 15:05:10
  发帖心情 Post By:2017/5/19 9:59:22    Post IP:183.26.162.253[只看该作者]

debugfile2('D:\TEST.TXT','开仓条件%.2f',CONDBUY,1);
我尝试了,不能输出历史值


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/19 13:32:12    Post IP:180.169.30.6[只看该作者]

你把全局变量中保留的历史值清空以后在执行测试看下

工具--数据管理器--全局变量中



编程无捷径,技巧靠积累。
 回到顶部