以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  跨周期引用  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61390)

--  作者:无为资本
--  发布时间:2014/2/3 15:07:18
--  跨周期引用
文华函数改写成金字塔
15分钟周期引用日K线周期
第一步:新建指标XX
A1:=(HV(H,8)-LV(L,8));//前8日K线平均波幅
A2:=O;//今日开盘价
A3:=MA(C,20);//日K线MA20
HH:=HV(H,3);//前3日最高价
LL:=LV(L,3);//前3日最低价
第二步:新建模型N
#IMPORT[,DAY,XX] AS VAR//引用日K线周期
HH1:VAR.A1;//前8日波幅定义为HH1
LL1:VAR.A2;//今天开盘价定义为LL1
Z:VAR.A3;//日线MA20定义为Z
HH2:VAR.HH;//前3日最高价定义为HH2
LL2:VAR.LL;//前3日最低价定义为LL2

我新手,麻烦帮我改成金字塔,O(∩_∩)O谢谢!

--  作者:无为资本
--  发布时间:2014/2/4 18:50:10
--  
补充提问,标准版是不是只能是单一账户,而且不能同时交易多个合约,不能同时使用多个模型?
--  作者:jinzhe
--  发布时间:2014/2/7 9:26:43
--  
新建指标XX
需要新增以下一段代码
RUNMODE:0;
A1:=(HV(H,8)-LV(L,8));//前8日K线平均波幅
A2:=O;//今日开盘价
A3:=MA(C,20);//日K线MA20
HH:=HV(H,3);//前3日最高价
LL:=LV(L,3);//前3日最低价
 
 
 
然后要在金字塔里面引用上面的日线数据要用stkindi
 
HH1:stkindi(\'\',\'xx.a1\',0,6);//前8日波幅定义为HH1
LL1:stkindi(\'\',\'xx.a2\',0,6);//今天开盘价定义为LL1
Z:stkindi(\'\',\'xx.a3\',0,6);//日线MA20定义为Z
HH2:stkindi(\'\',\'xx.hh\',0,6);//前3日最高价定义为HH2
LL2:stkindi(\'\',\'xx.ll\',0,6);//前3日最低价定义为LL2

--  作者:无为资本
--  发布时间:2014/11/13 14:53:11
--  
为什么10分钟K线图没有显示指标XXX的HH2和LL2值?
新建指标XX
A1:=HHV(H,8)-LLV(L,8);//前8日K线平均波幅
A2:=O;//今日开盘价
A3:=MA(C,30);//日K线MA30
HH:=HHV(H,3);//前3日最高价
LL:=LLV(L,3);//前3日最低价

新建指标XXX
HH1:=stkindi(\'\',\'xx.A1\',0,6);//前8日波幅定义为HH1
LL1:=stkindi(\'\',\'xx.A2\',0,6);//今天开盘价定义为LL1
Z:=stkindi(\'\',\'xx.A3\',0,6);//日线MA30
HH2:stkindi(\'\',\'xx.HH\',0,6);//前3日最高价定义为HH2
LL2:stkindi(\'\',\'xx.LL\',0,6);//前3日最低价定义为LL2

--  作者:jinzhe
--  发布时间:2014/11/13 14:59:07
--  

1.XX指标设置为逐k线计算

2.补充当前合约的日线数据


--  作者:无为资本
--  发布时间:2014/11/13 16:15:17
--  
帮忙把文华翻译成金字塔:

H<BKPRICE-BKPRICE*1/100&&BKPRICE>0,SP;
L>SKPRICE+SKPRICE*1/100&&SKPRICE>0,BP;
WEEKDAY=1&&CLOSEMINUTE<=10,SP;
WEEKDAY=1&&CLOSEMINUTE<=10,BP;
[此贴子已经被作者于2014/11/13 16:15:49编辑过]

--  作者:jinzhe
--  发布时间:2014/11/13 16:25:05
--  
把上面4句话注释一下
--  作者:无为资本
--  发布时间:2014/11/13 16:30:07
--  
H<BKPRICE-BKPRICE*1/100&&BKPRICE>0,SP;//H<最近一次买开信号价位-0.1*最近一次买开信号价位时卖平仓
L>SKPRICE+SKPRICE*1/100&&SKPRICE>0,BP;
WEEKDAY=1&&CLOSEMINUTE<=10,SP;//星期一尾盘10分钟平仓
WEEKDAY=1&&CLOSEMINUTE<=10,BP;

--  作者:pyd
--  发布时间:2014/11/13 16:56:12
--  

if h<0.99*ENTERPRICE and enterbars>0 and holding>0 then sell(1,holding,market);
if l>1.01*enterbars and enterbars>0 and holding<0 then sellshort(1,holding,market);
if WEEKDAY=1 and time>=145000  then begin
 sell(holding>0,holding,market);
 sellshort(holding<0,holding,market);
end

--  作者:无为资本
--  发布时间:2014/11/13 17:07:53
--  
没有信号为什么?

//中间变量
HH1:=stkindi(\'\',\'xx.A1\',0,6);//前8日波幅定义为HH1
LL1:=stkindi(\'\',\'xx.A2\',0,6);//今天开盘价定义为LL1
Z:=stkindi(\'\',\'xx.A3\',0,6);//日线MA30
HH2:=stkindi(\'\',\'xx.HH\',0,6);//前3日最高价定义为HH2
LL2:=stkindi(\'\',\'xx.LL\',0,6);//前3日最低价定义为LL2

//其他变量
Z1:=LL1+0.1*HH1;
Z2:=LL1-0.1*HH1;
手数:=1;

//交易条件
开多条件:=C>HH2 and C>Z and C>Z1;
开空条件:=C<LL2 and C<Z and C<Z2;



//交易系统

BUY(开多条件 AND HOLDING=0,手数 AND MARKET);//多头没有仓位时市价开仓1手
buyshort(开空条件 AND HOLDING=0,手数 AND MARKET);//空头没有仓位时市价开仓1手


//平仓条件


if h<0.99*ENTERPRICE and enterbars>0 and holding>0 then sell(1,holding,market);
if l>1.01*enterbars and enterbars>0 and holding<0 then sellshort(1,holding,market);
if WEEKDAY=1 and time>=145000  then begin
 sell(holding>0,holding,market);
 sellshort(holding<0,holding,market);
end


//资金管理
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;