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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 文华财经过来的,请教老师编写模型

   

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


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

主题:文华财经过来的,请教老师编写模型

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/2/17 17:29:50 [显示全部帖子]

conkd:c>hhv(h,20);  //开多

conpd:c<llv(l,10);    //平多

conkk:c<llv(l,20);    //开空

conpk:c>hhv(h,10);   //平空

[此贴子已经被作者于2017-2-17 17:31:50编辑过]

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/3/6 14:15:09 [显示全部帖子]

1,你使用limiter限价下单,需要指定一个限价的价格,开平语句缺少了一个参数。

2,图表程序化,由于不支持双边持仓,应遵循以下开平顺序,即平空、开多、平多、开空。

3,你说的加仓动作,是出现了holding持仓出现了大于1的情况?你可以加载到图表上,输出holding看下,本地测试并未看见此现象。


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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/3/6 14:30:30 [显示全部帖子]

1,市价下单使用函数market,limiter是限价下单函数。

2,图表的机制是不支持双边持仓,如果你要开多仓,如果图表上的虚拟持仓存在空仓的话,则无法开多仓,需要先平掉空仓,才能开多,如果没有空仓,那就不会执行平空指令了,直接开多了。之所有有这个顺序要求,就是防止出现这个问题。

3,你的意思是一个方向的开仓,只开一次?

[此贴子已经被作者于2017-3-6 14:32:27编辑过]

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/3/6 15:23:22 [显示全部帖子]

1,你的开多平多条件写的是对的啊,holding=0才会开仓啊。holding指的是图表上的虚拟持仓,不是实际账户的持仓,所以你需要图表上输出holding看下。

2,只是帮你修改了下开平仓函数市价下单函数market,以及开平仓顺序。

 

 

variable:numloss=0;// 全局变量,平仓时判断一下是盈利/亏损,若盈利numloss就加1
开多条件:=h>ref(hhv(h,20+5*numloss),1) and holding=0;
开空条件:=l<ref(llv(l,20+5*numloss),1) and holding=0;
平多条件:=l<ref(llv(l,10),1) and holding>0;
平空条件:=h>ref(hhv(h,10),1) and holding<0;

 

sellshort(平空条件,1,MARKET);
buy(开多条件,1,MARKET);
sell(平多条件,1,MARKET);
buyshort(开空条件,1,MARKET);
 
if  NUMPROFIT(1)<0 then numloss:=numloss+1;//若连亏损+1
  else
   numloss:=0;//一旦有盈利则置为0,重新记数

[此贴子已经被作者于2017-3-6 15:24:05编辑过]

 回到顶部