金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3109|回复: 1

麻烦老师把文华程序代码转换成金字塔代码谢谢了

[复制链接]

15

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2022-3-22
曾用名:
发表于 2022-5-30 11:01 | 显示全部楼层 |阅读模式
RISK:=MONEYTOT<=INITMONEY*(1-10/100);//风控条件:本金风险率超过10%
RISK,CLOSEOUT;//达到风控条件,模型清仓且不再开仓
MOMVALUE:=C-REF(C,MOMLEN);
VWM:=EMA(VOL*MOMVALUE,AVGLEN);//定义成交量加权为VWM
TRUEHIGH1:=IF(HIGH>REF(C,1),HIGH,REF(C,1));
TRUELOW1:=IF(LOW<=REF(C,1),LOW,REF(C,1));
TRUERANGE1:=IF(ISLASTBAR,H-L,TRUEHIGH1-TRUELOW1);
AATR:=MA(TRUERANGE1,ATRLEN);//定义波动率                           
BULLSETUP:=CROSSUP(VWM,0);//UWM上穿零轴定义多头势
BEARSETUP:=CROSSDOWN(VWM,0);//UWM下穿零轴定义空头势
LSETUP:=LOOP2(BARPOS=1||BULLSETUP,0,REF(LSETUP,1)+1);//多头势开始计数并记录当前价格
LEPRICE:=VALUEWHEN(BULLSETUP,C);
SSETUP:=LOOP2(BARPOS=1||BEARSETUP,0,REF(SSETUP,1)+1);//空头势开始计数并记录当前价格
SEPRICE:=VALUEWHEN(BEARSETUP,C);
//系统入场
//当多头势满足并且在SETUPLEN的BAR数目内,当价格达到入场价格后,做多
NOT(RISK)&&BARPOS>AVGLEN&&H>=REF(LEPRICE,1)+((ATRPCNT/10)*REF(AATR,1))&&REF(LSETUP,1)<=SETUPLEN&&LSETUP>=1,BK;
//系统出场
BEARSETUP,SP;
//系统入场
//当空头势满足并且在SETUPLEN的BAR数目内,当价格达到入场价格后,做空
NOT(RISK)&&BARPOS>AVGLEN&&L<=REF(SEPRICE,1)-((ATRPCNT/10)*REF(AATR,1))&&REF(SSETUP,1)<=SETUPLEN&&SSETUP>=1,SK;
//系统出场
BULLSETUP,BP;
BKVOL>0&&CLOSE<=BKHIGH*(1-10/100),CLOSEOUT;//多单,开多之后的高点为基准回撤10%止损
SKVOL>0&&CLOSE>=SKLOW*(1+10/100),CLOSEOUT;//空单,开空之后的低点为基准回撤10%止损
AUTOFILTER;
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-5-30 11:41 | 显示全部楼层
VARIABLE:LSETUP:=0,SSETUP:=0;
INPUT:MOMLEN(10,1,1000,1),AVGLEN(5,1,1000,1),ATRLEN(10,1,1000,1),AVGLEN(10,1,1000,1),ATRPCNT(10,1,1000,1),SETUPLEN(10,1,1000,1);//参数
INITMONEY:=VALUEWHEN(BARPOS=1,ASSET);
RISK:=ASSET<=INITMONEY*(1-10/100);//风控条件:本金风险率超过10%
RISK,CLOSEOUT;//达到风控条件,模型清仓且不再开仓
MOMVALUE:=C-REF(C,MOMLEN);
VWM:=EMA(VOL*MOMVALUE,AVGLEN);//定义成交量加权为VWM
TRUEHIGH1:=IF(HIGH>REF(C,1),HIGH,REF(C,1));
TRUELOW1:=IF(LOW<=REF(C,1),LOW,REF(C,1));
TRUERANGE1:=IF(ISLASTBAR,H-L,TRUEHIGH1-TRUELOW1);
AATR:=MA(TRUERANGE1,ATRLEN);//定义波动率                           
BULLSETUP:=CROSS(VWM,0);//UWM上穿零轴定义多头势
BEARSETUP:=CROSS(0,VWM);//UWM下穿零轴定义空头势
IF BULLSETUP THEN LSETUP:=0; ELSE   LSETUP:=LSETUP+1;
LEPRICE:=VALUEWHEN(BULLSETUP,C);
IF BEARSETUP THEN SSETUP:=0; ELSE   SSETUP:=SSETUP+1;
SEPRICE:=VALUEWHEN(BEARSETUP,C);
//系统入场
//当多头势满足并且在SETUPLEN的BAR数目内,当价格达到入场价格后,做多
if NOT(RISK)&&BARPOS>AVGLEN&&H>=REF(LEPRICE,1)+((ATRPCNT/10)*REF(AATR,1))&&REF(LSETUP,1)<=SETUPLEN &&LSETUP>=1 then buy(holding=0,1,market);
//系统出场
if BEARSETUP then sell(1,holding,market);
//系统入场
//当空头势满足并且在SETUPLEN的BAR数目内,当价格达到入场价格后,做空
if  NOT(RISK)&&BARPOS>AVGLEN&&L<=REF(SEPRICE,1)-((ATRPCNT/10)*REF(AATR,1))&&REF(SSETUP,1)<=SETUPLEN&&SSETUP>=1 then buyshort(holding=0,1,market);
//系统出场
sellshort(BULLSETUP,holding,market);
//BKVOL>0&&CLOSE<=BKHIGH*(1-10/100),CLOSEOUT;//多单,开多之后的高点为基准回撤10%止损
//SKVOL>0&&CLOSE>=SKLOW*(1+10/100),CLOSEOUT;//空单,开空之后的低点为基准回撤10%止损
//
1.
INPUT:MOMLEN(10,1,1000,1),AVGLEN(5,1,1000,1),ATRLEN(10,1,1000,1),AVGLEN(10,1,1000,1),ATRPCNT(10,1,1000,1),SETUPLEN(10,1,1000,1);//参数
参数部分你自行修正下,你代码里没有体现这些参数的默认值我随便写的,只是为了编译方便
2.
CLOSEOUT
这个没查到说明。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-29 05:33 , Processed in 0.139404 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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