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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请问怎样引用不同周期上的判断数据

   

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


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

主题:请问怎样引用不同周期上的判断数据

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


加好友 发短信
等级:新手上路 帖子:50 积分:442 威望:0 精华:0 注册:2009/12/8 17:46:26
请问怎样引用不同周期上的判断数据  发帖心情 Post By:2009/12/9 18:48:03    Post IP:123.169.72.187[只看该作者]

我看了《设计指南》里关于跨周期引用数据的说明,还不能很好领会,我想,引用几条不同的指标线应该没问题,但如果是一条变色线,该怎么跨周期引用呢,就如我写的下面这个程序交易公式,想用于做5分钟周期的交易,当“做空”线变红时可以买多和平空,“做空”线变绿时平多和做空,但是考虑到,当30分钟或60分钟周期指标线的颜色与当前5分钟周期的颜色相反时,按发出的交易信号去做就会亏损或利润很小,不值得去做。那么我怎么把对30或60分钟周期的判断加在里面呢?就是当30或60分钟线为红时,系统才采用5分钟周期指标线变红的信号,或者反过来,同为绿时做空。

 

拉升力:=(CLOSE-LLV(LOW,28))/(HHV(HIGH,30)-LLV(LOW,36))*0.6*CLOSE;
拉升力A:=SMA(拉升力,6.3,1);
波峰波谷:=SMA(拉升力A,3,1);
拉升力B:=3*拉升力A-2.1*波峰波谷;
空方:=3*波峰波谷-1* 拉升力A;
做空:=IF(空方>拉升力B,拉升力B,空方);
多头:IF(做空>=REF(做空,1) ,做空,DRAWNULL),COLORRED,LINETHICK3;
空头:IF(做空<REF(做空,1),做空,DRAWNULL),COLORGREEN,LINETHICK3;

D:=(做空>=REF(做空,1) AND REF(做空,1)<REF(做空,2));
K:=(做空<=REF(做空,1) AND REF(做空,1)>REF(做空,2));

begin

if D then
begin
//平空开多
TSELLSHORT(D,1,LMT,C);
TBUY(D,1,LMT,C);
end

if K then
begin
//平多开空
TSELL(K,1,LMT,C);
TBUYSHORT(K,1,LMT,C);
end


if TIME=145500 AND THOLDING>0 then
begin
TSELL(TIME=145500 AND THOLDING>0,0,MKT);
end

IF TIME=145500 AND THOLDING<0 then
begin
TSELLSHORT(TIME=145500 AND THOLDING<0,0,MKT);
end

end

[此贴子已经被作者于2009-12-9 19:06:45编辑过]

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


加好友 发短信
等级:版主 帖子:1056 积分:699 威望:0 精华:3 注册:2009/10/16 12:55:32
  发帖心情 Post By:2009/12/9 19:29:43    Post IP:221.218.218.187[只看该作者]

 

第一步,制作一个名为“变色龙”的指标

 拉升力:=(CLOSE-LLV(LOW,28))/(HHV(HIGH,30)-LLV(LOW,36))*0.6*CLOSE;
拉升力A:=SMA(拉升力,6.3,1);
波峰波谷:=SMA(拉升力A,3,1);
拉升力B:=3*拉升力A-2.1*波峰波谷;
空方:=3*波峰波谷-1* 拉升力A;
做空:=IF(空方>拉升力B,拉升力B,空方);
多头:IF(做空>=REF(做空,1) ,做空,DRAWNULL),COLORRED,LINETHICK3;
空头:IF(做空<REF(做空,1),做空,DRAWNULL),COLORGREEN,LINETHICK3;

D0:做空>=REF(做空,1),LINETHICK0;
K0:
做空<=REF(做空,1),LINETHICK0;

第二步,交易模型为:

拉升力:=(CLOSE-LLV(LOW,28))/(HHV(HIGH,30)-LLV(LOW,36))*0.6*CLOSE;
拉升力A:=SMA(拉升力,6.3,1);
波峰波谷:=SMA(拉升力A,3,1);
拉升力B:=3*拉升力A-2.1*波峰波谷;
空方:=3*波峰波谷-1* 拉升力A;
做空:=IF(空方>拉升力B,拉升力B,空方);
多头:=IF(做空>=REF(做空,1) ,做空,DRAWNULL),COLORRED,LINETHICK3;
空头:=IF(做空<REF(做空,1),做空,DRAWNULL),COLORGREEN,LINETHICK3;

D:=(做空>=REF(做空,1) AND REF(做空,1)<REF(做空,2));
K:=(
做空<=REF(做空,1) AND REF(做空,1)>REF(做空,2));

D30:="变色龙.D0#MIN30";

K30:="变色龙.K0#MIN30";

D60:="变色龙.D0#MIN60";

K60:="变色龙.K0#MIN60";

begin

if D then
begin
//
平空开多
TSELLSHORT(D,1,LMT,C);
TBUY(D AND D30 AND D60,1,LMT,C);
end

if K then
begin
//
平多开空
TSELL(K,1,LMT,C);
TBUYSHORT(K AND K30 AND K60,1,LMT,C);
end


if TIME=145500 AND THOLDING>0 then
begin
TSELL(TIME=145500 AND THOLDING>0,0,MKT);
end

IF TIME=145500 AND THOLDING<0 then
begin
TSELLSHORT(TIME=145500 AND THOLDING<0,0,MKT);
end

end

 

[此贴子已经被作者于2009-12-9 19:31:05编辑过]


金字塔-客户服务部

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

全国统一客服电话:021-20339087  021-20339081  021-20339080

Email:service@weistock.com

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


加好友 发短信
等级:新手上路 帖子:50 积分:442 威望:0 精华:0 注册:2009/12/8 17:46:26
非常感谢!  发帖心情 Post By:2009/12/9 19:37:10    Post IP:123.169.72.187[只看该作者]

刚接了学舞蹈的女儿回来,一看管理员回复了,还这么仔细严谨,感动!


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


加好友 发短信
等级:新手上路 帖子:50 积分:442 威望:0 精华:0 注册:2009/12/8 17:46:26
请问象这样不用多周期同向来过滤信号,而是加上判断是否逆向持仓的语句是否可行  发帖心情 Post By:2009/12/11 1:27:14    Post IP:123.169.72.187[只看该作者]

也就是可能会有不成功的交易,但也会多一些成功的交易,并且及时补救因信号消失而造成了逆向持仓的情况,并且在红线空仓时补上多仓,绿线空仓时补上空仓。如果可行的话,怎么能让检查逆向持仓的动作发生在开仓一个K线后?

 

第一步,制作一个名为“变色龙”的指标

 拉升力:=(CLOSE-LLV(LOW,28))/(HHV(HIGH,30)-LLV(LOW,36))*0.6*CLOSE;
拉升力A:=SMA(拉升力,6.3,1);
波峰波谷:=SMA(拉升力A,3,1);
拉升力B:=3*拉升力A-2.1*波峰波谷;
空方:=3*波峰波谷-1* 拉升力A;
做空:=IF(空方>拉升力B,拉升力B,空方);
多头:IF(做空>=REF(做空,1) ,做空,DRAWNULL),COLORRED,LINETHICK3;
空头:IF(做空<REF(做空,1),做空,DRAWNULL),COLORGREEN,LINETHICK3;

D0:做空>=REF(做空,1),LINETHICK0;
K0:
做空<=REF(做空,1),LINETHICK0;

第二步,交易模型为:

拉升力:=(CLOSE-LLV(LOW,28))/(HHV(HIGH,30)-LLV(LOW,36))*0.6*CLOSE;
拉升力A:=SMA(拉升力,6.3,1);
波峰波谷:=SMA(拉升力A,3,1);
拉升力B:=3*拉升力A-2.1*波峰波谷;
空方:=3*波峰波谷-1* 拉升力A;
做空:=IF(空方>拉升力B,拉升力B,空方);
多头:=IF(做空>=REF(做空,1) ,做空,DRAWNULL),COLORRED,LINETHICK3;
空头:=IF(做空<REF(做空,1),做空,DRAWNULL),COLORGREEN,LINETHICK3;

D:=(做空>=REF(做空,1) AND REF(做空,1)<REF(做空,2));
K:=(
做空<=REF(做空,1) AND REF(做空,1)>REF(做空,2));

D30:="变色龙.D0#MIN30";

K30:="变色龙.K0#MIN30";

D60:="变色龙.D0#MIN60";

K60:="变色龙.K0#MIN60";

 

多头方向:=多头 AND D30 AND D60;

空头方向:=空头 AND K30 AND K60;

 

begin

if D then
begin
//
平空开多
TSELLSHORT(D,1,LMT,C);
TBUY(D,1,LMT,C);
end

 

if 空头方向 AND THOLDING>=0 then

//若因信号出现又消失造成逆向持多,平多补空

TSELL(空头方向 AND THOLDING>0,1,LMT,C);
TBUYSHORT(空头方向 AND THOLDING=0,1,LMT,C);
end

 

if K then

begin
//
平多开空
TSELL(K,1,LMT,C);
TBUYSHORT(K,1,LMT,C);
end

 

if 多头方向 AND THOLDING<=0 then

//若因信号出现又消失造成逆向持空,平空补多

TSELLSHORT(多头方向 AND THOLDING<0,1,LMT,C);
TBUY(多头方向 AND THOLDING=0,1,LMT,C);
end

if TIME=145500 AND THOLDING>0 then
begin
TSELL(TIME=145500 AND THOLDING>0,0,MKT);
end

IF TIME=145500 AND THOLDING<0 then
begin
TSELLSHORT(TIME=145500 AND THOLDING<0,0,MKT);
end

end

 

[此贴子已经被作者于2009-12-11 1:31:56编辑过]

 回到顶部