以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 新学,有个策略轮廓不会写,请老师帮忙 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=86063) |
|
-- 作者:kdyjoe -- 发布时间:2015/10/12 9:47:41 -- 新学,有个策略轮廓不会写,请老师帮忙 /自己的海龟体系需要翻译成金字塔请老师帮我完成 //后的为注解 凡是每行以 // 开头的是自己能完成的定义部分不需要写 M1:=( );//资金不足10万按10万计算,大于百万按百万计算,介于期间按资金真实值计算,计算结果赋M1 C1:=( );//定义C1按M1的资金量的百分之二十的比例计算仓位数量并取整 CD:=( );//定义CD按已经有多头持仓的0.5计算并取整,不足1按1计算 CK:=( );//定义CK按已经有空头持仓的0.5计算并取整,不足1按1计算 AA:=(当前价格- 最近的1次多头开仓价格 );// BB:=( 最近的1次空头开仓价格-当前价格 );// SG:=(跨周期引用日线级别的前一个天的MA(日K最高价,5);//定义上轨, XG:=(跨周期引用日线级别的前一个天的MA(日K最低价,5);//定义下轨, D1:=( );//定义收盘价格上穿SG K1:=( );//定义收盘价格下穿XG //A:MA(CLOSE,100);//自定义100均线 DD:=(定义 A>REF(A,1)这一条件持续M 周期); KK:=(定义 A<REF(A,1)这一条件持续M 周期); //B:=XXXX;//自定义B DD1:=( );//定义B创X 周期新高 不包括当前周期高点 KK1:=( );//定义B创X 周期新低 不包括当前周期低点 //BK1 //BK2 //SP1 //SP2 //SK1 //SK2 //BP1 //BP2//以上自定义8个开平仓的条件 //以下是8个执行语句需要完成 满足BK1时候,且仓位为0 开多C1手 满足BK2时候,且有多头仓位 增加开多CD手(并希望本行指令能被重复执行4次) 满足SP1时候,平掉0.5的多单 计算结果 不足1 按1计算 满足SP2时候,平掉所有多单 满足SK1时候,且仓位为0 开空C1手 满足SK2时候,且有空头仓位 增加开空CK手(并希望本行指令能被重复执行4次) 满足BP1时候,平掉0.5的空单 计算结果 不足1 按1计算 满足BP2时候,平掉所有空单 //收盘价机制执行 |
|
-- 作者:jinzhe -- 发布时间:2015/10/12 9:54:02 -- 10万和100万之间按什么算? |
|
-- 作者:kdyjoe -- 发布时间:2015/10/12 10:01:39 -- 资金量 小于10万按10万计算 大于100万按100计算 介于10-100万 之间的 按真实的资金量计算 |
|
-- 作者:kdyjoe -- 发布时间:2015/10/12 10:06:53 -- M1=MIN(100万,(MAX(10万,实际账户资金))) 的意思 |
|
-- 作者:jinzhe -- 发布时间:2015/10/12 10:12:53 -- 看你写的是spbp,用的是图表,图表是不能获取实际账户资金的,要写成后台,用户有专业版权限吗? |
|
-- 作者:kdyjoe -- 发布时间:2015/10/12 11:14:42 --
|
|
-- 作者:jinzhe -- 发布时间:2015/10/12 11:30:34 -- CD:=max(1,floor(holding/2));//定义CD按已经有多头持仓的0.5计算并取整,不足1按1计算 CK:=max(1,floor(holding/2));//定义CK按已经有空头持仓的0.5计算并取整,不足1按1计算 AA:=;// BB:=;// SG:=(stkindi(\'\',\'公式1.ma5\',0,6,-1));//定义上轨, XG:=(stkindi(\'\',\'公式1.ma55\',0,6,-1));//定义下轨, D1:=( cross(close,sg) );//定义收盘价格上穿SG K1:=( cross(xg,close) );//定义收盘价格下穿XG //A:MA(CLOSE,100);//自定义100均线 DD:=(all(a>ref(a,1),m)); KK:=(all(a<ref(a,1),m)); //B:=XXXX;//自定义B DD1:=( h>ref(hhv(h,x),1) );//定义B创X 周期新高 不包括当前周期高点 KK1:=( l<ref(llv(l,x),1) );//定义B创X 周期新低 不包括当前周期低点 //BK1 //BK2 //SP1 //SP2 //SK1 //SK2 //BP1 //BP2//以上自定义8个开平仓的条件 //以下是8个执行语句需要完成 满足BK1时候,且仓位为0 开多C1手 if bk1 then buy(holding=0,c1,thisclose); 满足BK2时候,且有多头仓位 增加开多CD手(并希望本行指令能被重复执行4次) if bk2 and holding>0 and holding<c1+cd*4 then buy(1,cd,thisclose); 满足SP1时候,平掉0.5的多单 计算结果 不足1 按1计算 if sp1 then sell(1,max(1,holding/2),thisclose); 满足SP2时候,平掉所有多单 if sp2 then sell(1,0,thisclose); 满足SK1时候,且仓位为0 开空C1手 if sk1 then buyshort(holding=0,c1,thisclose); 满足SK2时候,且有空头仓位 增加开空CK手(并希望本行指令能被重复执行4次) if sk2 and holding<0 and holding<c1+ck*4 then buyshort(1,ck,thisclose); 满足BP1时候,平掉0.5的空单 计算结果 不足1 按1计算 if bp1 then sellshort(1,max(1,holding/2),thisclose); 满足BP2时候,平掉所有空单 if bp2 then sellshort(1,0,thisclose); |
|
-- 作者:jinzhe -- 发布时间:2015/10/12 11:32:17 -- ma5:ma(h,5);
公式1的代码是这样两句,另外新建一公式,命名为“公式1”,写上面那两句代码 |
|
-- 作者:kdyjoe -- 发布时间:2015/10/12 13:57:46 -- 收到谢谢
再确认一下: 标准版关于也AA 和BB 就是关于最近一次成交的 盈亏情况 也无法定义么? AA:=(当前价格- 最近的1次多头开仓价格 );// |
|
-- 作者:jinzhe -- 发布时间:2015/10/12 14:01:10 -- 漏了,不好意思
aa:close-enterprice; bb:enterprice-close;
除非你要用开空价格判断多头,用开多价格判断空头,不然这样写是能通过的 |