金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2254|回复: 6

求助

[复制链接]

16

主题

50

帖子

60

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
发表于 2021-7-16 11:12 | 显示全部楼层 |阅读模式
INPUT:CW(5,2,100,1);
M5:=STKINDI(‘AU30’,‘MA.MA3’,0,6,-1);//商品指数60日均线
MM5:=STKINDI(‘AU30’,‘MA.MA1’,0,6,-1);//商品指数20日均线
MM6:=STKINDI(‘AU30’,‘MA.MA2’,0,6,-1);//商品指数30日均线
M6:=CALLSTOCK( ‘AU30’,VTCLOSE ,6 ,-1 );//商品指数价格


已知上述条件,当m6在三根均线之上,实际仓位等于CW;
当m6在两根均线之上,实际仓位等于CW*0.5。麻烦老师帮忙编写一下,谢谢啦。

回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-16 11:17 | 显示全部楼层
本帖最后由 技术009 于 2021-7-16 11:20 编辑

你是要根据条件 调整实际账户仓位吗?这个在图表程序化上可能做不了。因为图表程序化化 是不能直接操作实际账户的。图表程序化机制是图表模型出信号,实际账户更随着执行。这是个单向过程。所以不能依靠实际账户情况 影响图表模型的逻辑。你这里就涉及到在图表模型里判断实际账户持仓。所以这是个问题。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

16

主题

50

帖子

60

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-7-16 11:28 | 显示全部楼层
不是账户的实际仓位,就是根据条件的不同去赋值

补充内容 (2021-7-16 11:34):
实际仓位就是一个名称
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-16 11:31 | 显示全部楼层
你是指模型的虚拟持仓?
因为你前面描述里写的“当m6在三根均线之上,实际仓位等于CW”。如果是虚拟持仓的话,肯定没办法直接赋值,就是通过开平仓语句去执行然后来间接调整虚拟持仓。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-16 13:21 | 显示全部楼层
本帖最后由 技术009 于 2021-7-16 13:29 编辑

好吧,原来只是一个变量名,那好办:

[PEL] 复制代码
INPUT:CW(5,2,100,1);
M5:=STKINDI('AU30','MA.MA3',0,6,-1);//商品指数60日均线
MM5:=STKINDI('AU30','MA.MA1',0,6,-1);//商品指数20日均线
MM6:=STKINDI('AU30','MA.MA2',0,6,-1);//商品指数30日均线
M6:=CALLSTOCK( 'AU30',VTCLOSE ,6 ,-1 );//商品指数价格

SJCW:0;//这里设置一个默认情况。比如M6在三个均线以下的情况,或者只在一个均线以上的情况。
if M6>max(M5,max(mm5,mm6)) then SJCW:=CW;
if ((m6>M5) + (m6>mm6)+(m6>mm5))=2 then SJCW:=0.5*CW;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

16

主题

50

帖子

60

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-7-16 13:26 | 显示全部楼层
可能是我没表达清楚,我重新描述一下,我感觉你被这个持仓给搞混了。

INPUT:CW(5,2,100,1);
模型原先的开仓语句:BUY(REF(BCOND,1) AND HOLDING=0,CW%,LIMITR,O-HD*MINDIFF);//注意一下这边里CW;
由于这里的CW是固定参数,我想让这个CW可变的,假设用SJCW去替换CW,变成BUY(REF(BCOND,1) AND HOLDING=0,SJCW%,LIMITR,O-HD*MINDIFF);

所以想加入一个条件:当商品指数价格在三根均线之上,SJCW=CW;当商品指数价格在两根均线之上,SJCW=CW*0.5.

只是为了求SJCW。




回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-7-16 13:30 | 显示全部楼层
我已经更新代码,你看6楼就行了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 10:24 , Processed in 0.201594 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表