以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  [源码]基于关键反转日的趋势策略,无未来函数,信号绝不闪烁  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=29796)

--  作者:blue810204
--  发布时间:2012/10/13 13:59:16
--  [源码]基于关键反转日的趋势策略,无未来函数,信号绝不闪烁
基于“关键反转日”的趋势策略,无未来函数,信号绝不闪烁。

原理很简单,前三天中任何一天创月新高(或低),且昨日的盘中涨(跌)的0.8%,则顺势操作!

说明:

1、首先,此策略采用日线,好像这句有点弱弱的,怕有人想也不想就跟帖发问,先说明哈。

2、通过判断关键反转日,开平仓,本人公布的只是策略的框架,仅仅是个框架而已。
     直接运行测试很多合约下均可实现正收益,从这点来看,值得去加入自己的其他想法去完善看看,当日仁者见仁,不多说!
     提醒哈,你可以随便网上翻翻或者用TB、金字塔软件中的策略试试,要求采用在下一周期开平仓操作(拒绝未来函数),这样也能做到正收益绝对不多!!!

3、无未来函数且也未变相采用未来函数, 均采用昨日及昨日前的数据,所以信号信号绝不闪烁,中病毒的电脑除外!!!!
     这里俺啰嗦地提醒一句,有些人可能变相采用了未来函数,还浑然不知,且还信誓旦旦的发誓绝没用到未来函数。无知,不多说!

4、此策略属长线趋势策略,所以遇到盘整表现不佳,学过策略的人都懂的。不多说!

5、本人测试过RB,RU,CU等这些活跃的合约,几乎每次大趋势来都能抓住,不信自己测哈

6、发散哈思维,可以加入止损止盈,过滤,资金管理等策略或者和其他策略共同使用,提醒哈,不要想不劳而获,这些还得靠自己才有用!!!!!!!!!!!!!

7、最后,至于有些SM会问,既然能够很多合约能正收益,你为什么不捂着,或者说为什么要公布?
     其实这些东西早就公开过,只是你知不知道而已,弄出来只是为了共同学习而已。



//------------------------------------------------------------------------
// 简称: FZR
// 名称: FZR
// 类别: 公式应用
// 类型: 用户应用
// 作者: blue810204
//------------------------------------------------------------------------

input:lots(1,0,100,1);

variable:N1=1;

        i_offset:=N1*MINDIFF;
       
        D1 := LOD(REF(Low,2),22);                //求1个月最低价
        D2 := HOD(REF(High,2),22);                //求1个月最高价
    
        D3 := IntPart(0.008*Open[1]);            //昨日开盘价的0.8%
       
        Condition1 := (REF(LOW,1)<=D1 OR REF(LOW,2)<=D1 OR REF(LOW,3)<=D1)    And (REF(Open,1)-REF(CLOSE,1))>=D3;    //判断反转日,由多转空
        Condition2 := (REF(HIGH,1)>=D2 OR REF(HIGH,2)<=D2 OR REF(HIGH,3)<=D2) And (REF(CLOSE,1)-REF(Open,1))>=D3;    //判断反转日,由空转多

       

        if Condition2 then
        begin
             if holding=0 then
             BEGIN
                 buy(1,lots,limitr,(Open+MINDIFF));
             end
    
             if holding<0 then
               begin
                   SELLSHORT(1,0,limitr,(Open+MINDIFF));
                   buy(1,lots,limitr,(Open+MINDIFF)); 
              end
        end

        if Condition1 then
        begin
             if holding=0 then
             BEGIN
                 BUYSHORT(1,lots,limitr,(Open-MINDIFF));
             end

             if holding>0 then
               begin
                   SELL(1,0,limitr,(Open-MINDIFF));
                   BUYSHORT(1,lots,limitr,(Open-MINDIFF)); 
              end
        end


//资产:asset,noaxis,colorred,linethick2;

//------------------------------------------------------------------------
// 编译版本    金字塔2.93
// 用户版本    2012/10/08 09:03
// 版权所有    BLUE810204
// 更改声明    引用请注明出处
//------------------------------------------------------------------------
[此贴子已经被作者于2012-10-13 14:00:36编辑过]

--  作者:blue810204
--  发布时间:2012/10/13 14:45:26
--  
主贴中控制滑点的i_offset变量未加入策略中,已修改
//------------------------------------------------------------------------
// 简称: FZR
// 名称: FZR
// 类别: 公式应用
// 类型: 用户应用
// 作者: blue810204
//------------------------------------------------------------------------

input:lots(1,0,100,1);

variable:N1=1;

        i_offset:=N1*MINDIFF;
       
        D1 := LOD(REF(Low,2),22);                //求1个月最低价
        D2 := HOD(REF(High,2),22);               //求1个月最高价
    
        D3 := IntPart(0.008*Open[1]);            //昨日开盘价的0.8%
       
        Condition1 := (REF(LOW,1)<=D1 OR REF(LOW,2)<=D1 OR REF(LOW,3)<=D1)    And (REF(Open,1)-REF(CLOSE,1))>=D3;    //判断反转日,由多转空
        Condition2 := (REF(HIGH,1)>=D2 OR REF(HIGH,2)<=D2 OR REF(HIGH,3)<=D2) And (REF(CLOSE,1)-REF(Open,1))>=D3;    //判断反转日,由空转多

       

        if Condition2 then
        begin
             if holding=0 then
             BEGIN
                 buy(1,lots,limitr,(Open+i_offset));
             end
    
             if holding<0 then
               begin
                   SELLSHORT(1,0,limitr,(Open+i_offset));
                   buy(1,lots,limitr,(Open+i_offset)); 
              end
        end

        if Condition1 then
        begin
             if holding=0 then
             BEGIN
                 BUYSHORT(1,lots,limitr,(Open-i_offset));
             end

             if holding>0 then
               begin
                   SELL(1,0,limitr,(Open-i_offset));
                   BUYSHORT(1,lots,limitr,(Open-i_offset)); 
              end
        end


//资产:asset,noaxis,colorred,linethick2;

//------------------------------------------------------------------------
// 编译版本    金字塔2.93
// 用户版本    2012/10/08 09:03
// 版权所有    BLUE810204
// 更改声明    引用请注明出处
//------------------------------------------------------------------------
--  作者:ljwgbb
--  发布时间:2012/10/17 9:47:00
--  

不错,学习


--  作者:Change_1206_
--  发布时间:2012/10/23 10:52:59
--  
什么情况啊?没用啊!就一个信号。
--  作者:yanggaga0
--  发布时间:2012/10/25 14:34:56
--  

这个策略可能是从TB改过来的,有很多函数意思与金字塔不同,改动以后的代码可能是这个样子的,有什么不对的还请各位指出。

//------------------------------------------------------------------------
// 简称: FZR
// 名称: FZR
// 类别: 公式应用
// 类型: 用户应用
// 作者: blue810204
//------------------------------------------------------------------------

input:lots(1,0,100,1);

variable:N1=1;

        i_offset:=N1*MINDIFF;
       
        D1 := llv(REF(Low,2),22);                //求1个月最低价
        D2 := hhv(REF(High,2),22);               //求1个月最高价
   
        D3 := IntPart(0.008*ref(Open,1));            //昨日开盘价的0.8%
       
        Condition1 := (REF(LOW,1)<=D1 OR REF(LOW,2)<=D1 OR REF(LOW,3)<=D1)    And (REF(Open,1)-REF(CLOSE,1))>=D3;    //判断反转日,由多转空
        Condition2 := (REF(HIGH,1)>=D2 OR REF(HIGH,2)<=D2 OR REF(HIGH,3)<=D2) And (REF(CLOSE,1)-REF(Open,1))>=D3;    //判断反转日,由空转多

       

        if Condition2 then
        begin
             if holding=0 then
             BEGIN
                 buy(1,lots,limitr,(Open+i_offset));
             end
    
             if holding<0 then
               begin
                   SELLSHORT(1,0,limitr,(Open+i_offset));
                   buy(1,lots,limitr,(Open+i_offset));
              end
        end

        if Condition1 then
        begin
             if holding=0 then
             BEGIN
                 BUYSHORT(1,lots,limitr,(Open-i_offset));
             end

             if holding>0 then
               begin
                   SELL(1,0,limitr,(Open-i_offset));
                   BUYSHORT(1,lots,limitr,(Open-i_offset));
              end
        end


//资产:asset,noaxis,colorred,linethick2;

//------------------------------------------------------------------------
// 编译版本    金字塔2.93
// 用户版本    2012/10/08 09:03
// 版权所有    BLUE810204
// 更改声明    引用请注明出处