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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 模型编写求助

   

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


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

主题:模型编写求助

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


加好友 发短信
等级:新手上路 帖子:24 积分:180 威望:0 精华:0 注册:2012/7/20 15:08:32
模型编写求助  发帖心情 Post By:2012/8/10 15:43:08    Post IP:125.34.16.119[只看该作者]

 

我的思路是

5日线10日线金叉,买入;第一次收盘价下穿5日线,减一半仓。第二次收盘价下穿5日线,全平。

5日线上拐(今5日线高于昨天5日线,昨天5日线低于前天5日线,5日线高于10日线),买入;第一次收盘价下穿5日线,减一半仓。第二次收盘价下穿5日线,全平。


这样的话,买入时就不能限制HOLDING=0,但是如果没有这个限制,因为并不是每笔交易都有一个单号(外汇MT4平台每笔都有一个单号),在执行平仓操作时,就容易平乱了。

应该如何编写呢?谢谢


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


加好友 发短信
等级:超级版主 帖子:3534 积分:10003 威望:0 精华:5 注册:2012/5/25 0:00:01
  发帖心情 Post By:2012/8/10 15:55:18    Post IP:58.246.57.26[只看该作者]

按你的意思  是有2个开仓条件 然后分别运行 互补干扰
2种方式
1、你把思路写成2个模型 自己建一个框架  分别运行2个模型
2、用variable 设置2个参数 a=0 和 b=0

5日线10日线金叉 and a=0 开仓时a=1.    第一次收盘价下穿5日线 and  a=1   平半仓    全平后 恢复a的赋值  a=0

同理,5日线上拐 and  b=0开仓     第一次收盘价下穿5日线and  b=1  平半仓     全平后 恢复b的赋值  b=0

 



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

产品部

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

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

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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2012/8/10 16:01:22    Post IP:58.246.57.26[只看该作者]

ma5:ma(c,5);
ma10:ma(c,10);
variable:cx:=0;
cond:cross(c,ma5) ;
if cross(ma5,ma10) then  buy(1,2,market);
cc:holding/2;
bb:exitbars;
//if ma5>ref(ma5,1) and ref(ma5,1)<ref(ma5,2) and ma5>ma10 then buy(1,2,market);
if holding>0 and cond and cx=0 then
begin
   sell(1,holding/2,market);
   cx:=1;
end
dd:cx;
if holding>0 and cond and cx=1 and EXITBARS>0 then
begin
   sell(1,0,market);
   cx:=0;
end

 


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


加好友 发短信
等级:新手上路 帖子:24 积分:180 威望:0 精华:0 注册:2012/7/20 15:08:32
  发帖心情 Post By:2012/8/13 9:18:17    Post IP:114.243.0.166[只看该作者]

这里有一个很棘手的问题:上拐后开仓,很可能在没有平仓前,又发生上拐,需要再次开仓。如果设全局变量a和b,解决不了这个问题,应该怎么办呢?


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


加好友 发短信
等级:新手上路 帖子:24 积分:180 威望:0 精华:0 注册:2012/7/20 15:08:32
  发帖心情 Post By:2012/8/13 10:50:42    Post IP:123.118.199.54[只看该作者]

自己顶一下再,嘿嘿

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


加好友 发短信
等级:金字塔养老院 帖子:1323 积分:6764 威望:0 精华:0 注册:2011/6/14 17:27:11
  发帖心情 Post By:2012/8/13 10:56:14    Post IP:58.246.57.26[只看该作者]

你开仓语句 不要加入变量控制就不会有这个问题了。

例:

variable:aa=0;

if cond then buy(1,1,market);

不要写成

if cond and aa=0 then buy(1,1,market);



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:24 积分:180 威望:0 精华:0 注册:2012/7/20 15:08:32
  发帖心情 Post By:2012/8/13 13:54:23    Post IP:114.243.19.58[只看该作者]

如果只写

if cond then buy(1,1,market);

 

就回到我最初的模型了,如我在最上面说的,我现在要做的是允许在没有平仓的条件下,多次开仓,而且平仓时互不影响,应该怎么办呢?


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


加好友 发短信
等级:新手上路 帖子:24 积分:180 威望:0 精华:0 注册:2012/7/20 15:08:32
  发帖心情 Post By:2012/8/13 15:19:34    Post IP:114.243.16.69[只看该作者]

RogarZ帮我解决了上拐和上穿的冲突问题,但是上拐和上拐之间也会冲突,由于每笔单子没有单号,导致平仓的时候很混乱,请老师们指点啊。

 回到顶部