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


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

   

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


  共有7572人关注过本帖平板打印复制链接

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

帅哥哟,离线,有人找我吗?
gwdpacific
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部