• diy一个策略


    diy一个周线级别的策略

    通达信公式

    ATR14:=ATR.ATR(14); LATR:= REF(ATR14,1);

    TREND_:= C+ATR14 COLORGREEN; LTREND_:=REF(TREND_,1);
    TREND:= IF(TREND_>LTREND_, LTREND_, TREND_) COLORRED;
    T:=TREND; T1:=REF(T,1); T2:=REF(T,2); T3:=REF(T,3);

    {T本期走平:= ABS(T-T1)<1; T前一下跌:= T1<T2; T前二下跌:= T2<T3; T前一上升:= T1>T2; T前二上升:= T2>T3;}

    {本期 的最后一个交易日收盘后, 开始检查买卖条件}
    {事件发生时的下一周的首个交易日的开盘前, 9:15分开始下单, 期盼开盘价成交}
    B1:= ABS(T-T1)<1 AND T1<T2 AND T2<T3 NODRAW; LB1:=REF(B1,1); DRAWICON(LB1, L, 38);

    S1_:= (ABS(T-T1)<1 OR T<T1) AND T1>T2+1 AND T2>T3+1 ;
    S1: FILTER(S1_, 3) NODRAW; LS1{LAST BAR OF S1}:=REF(S1,1); DRAWICON(LS1, H*1.02, 39);


    BC:BARSCOUNT(C) COLORWHITE NODRAW; {开始于0的}
    {BC_:= COUNT(C>0, 0)+10; CURRBARSCOUNT=5; };
    START_C_CONS :=REF(C,BARSCOUNT(C)); ROC1 :=100* (C/REF(C,1)-1) ; ATR14:=ATR.ATR(14); LATR:= REF(ATR14,1);

    TREND_:= C+ATR14 COLORGREEN; LTREND_:=REF(TREND_,1);
    TREND: IF(TREND_>LTREND_, LTREND_, TREND_) COLORYELLOW;
    T:=TREND; T1:=REF(T,1); T2:=REF(T,2); T3:=REF(T,3);

    {T本期走平:= ABS(T-T1)<1; T前一下跌:= T1<T2; T前二下跌:= T2<T3; T前一上升:= T1>T2; T前二上升:= T2>T3;}

    {本期 的最后一个交易日收盘后, 开始检查买卖条件}
    {事件发生时的下一周的首个交易日的开盘前, 9:15分开始下单, 期盼开盘价成交}
    B1:= ABS(T-T1)<1 AND T1<T2 AND T2<T3 NODRAW;
    B2_:= (T>T1+1) AND (T1>(T2+1) OR ABS(T1-T2)<1 ) AND (C>T AND L<T);
    B2 := FILTER(B2_, 3);
    {LB1:=REF(B1 OR B2,1); DRAWICON(LB1, L, 38);}
    BUY(B1 OR B2, CLOSE);
    BP1:BUYPRICE COLORWHITE NODRAW;
    {PNL:= (C/BP1-1); STOPLOSS_EXIT:= PNL < -3/100.0;}

    S1_:= (ABS(T-T1)<1 OR T<T1) AND (T1>(T2+1)) AND (T2>(T3+1)) ;
    S1:= FILTER(S1_, 3) NODRAW;
    {LAST BAR OF S1} {LS1:=REF(S1,1); DRAWICON(LS1, H*1.02, 39); }
    SELL(S1, HIGH); {SELL(S1 OR STOPLOSS_EXIT, HIGH);}

    {AUTOFILTER, NODRAW;}
    SP1:SELLPRICE COLORMAGENTA NODRAW;
    DRAWNUMBER(SELLBARS=1, H1.06, 100(SP1/BP1-1));

    POS: IF(BUYBARS<SELLBARS, 1, 0), NODRAW COLORWHITE LINETHICK4;
    ROC1_STRAT:= IF(BUYBARS=1, 100(C/BP1-1), ROC1POS);
    EQ : MULAR(1+ROC1_STRAT/100, 0)*START_C_CONS COLORCYAN LINETHICK2;

    {CEQ: CURRENTEQUITY;} {仅针对期货账户}
    {BPRICE:= VALUEWHEN(LB1, O); SPRICE:= VALUEWHEN(LS1, O); DRAWNUMBER(LS1, H1.04, 100( SPRICE/BPRICE-1));};

    BPRICE:= VALUEWHEN(LB1, O); SPRICE:= VALUEWHEN(LS1, O); DRAWNUMBER(LS1, H * 1.04, 100 * ( SPRICE/BPRICE-1));

    示例

    version 2.0

    ATR14:=ATR.ATR(14); LATR:= REF(ATR14,1);

    TREND_:= C+ATR14 COLORGREEN; LTREND_:=REF(TREND_,1);
    TREND: IF(TREND_>LTREND_, LTREND_, TREND_) COLORYELLOW;
    T:=TREND; T1:=REF(T,1); T2:=REF(T,2); T3:=REF(T,3);

    {T本期走平:= ABS(T-T1)<1; T前一下跌:= T1<T2; T前二下跌:= T2<T3; T前一上升:= T1>T2; T前二上升:= T2>T3;}

    {本期 的最后一个交易日收盘后, 开始检查买卖条件}
    {事件发生时的下一周的首个交易日的开盘前, 9:15分开始下单, 期盼开盘价成交}
    B1:= ABS(T-T1)<1 AND T1<T2 AND T2<T3 NODRAW;
    B2_:= (T>T1+1) AND (T1>(T2+1) OR ABS(T1-T2)<1 ) AND (C>T AND L<T);
    B2 := FILTER(B2_, 3);
    LB1:=REF(B1 OR B2,1); DRAWICON(LB1, L, 38);
    BUY(B1 OR B2, CLOSE);

    S1_:= (ABS(T-T1)<1 OR T<T1) AND (T1>(T2+1)) AND (T2>(T3+1)) ;
    S1:= FILTER(S1_, 3) NODRAW; LS1{LAST BAR OF S1}:=REF(S1,1); DRAWICON(LS1, H*1.02, 39);
    SELL(S1, HIGH);

    BPRICE:= VALUEWHEN(LB1, O); SPRICE:= VALUEWHEN(LS1, O);
    DRAWNUMBER(LS1, H1.04, 100( SPRICE/BPRICE-1));

    BC:BARSCOUNT(C) NODRAW; {开始于0的}
    {BC_:= COUNT(C>0, 0)+10;
    CURRBARSCOUNT=5;
    };

    示例-with BS commition of w5 and w15:

    with: stop loss of 3% and mid-price of this bar
    results: 16.7% cgar and 19% mdd

    示例 with BS commition of w3 and w3

    with: stop loss of 3% and mid-price of this bar
    results: 17.5% cgar and 18.5% mdd

    version 3.0

    ATR14:=ATR.ATR(14); LATR:= REF(ATR14,1);

    TREND_:= C+ATR14 COLORGREEN; LTREND_:=REF(TREND_,1);
    TREND: IF(TREND_>LTREND_, LTREND_, TREND_) COLORYELLOW;
    T:=TREND; T1:=REF(T,1); T2:=REF(T,2); T3:=REF(T,3);

    {T本期走平:= ABS(T-T1)<1; T前一下跌:= T1<T2; T前二下跌:= T2<T3; T前一上升:= T1>T2; T前二上升:= T2>T3;}

    {本期 的最后一个交易日收盘后, 开始检查买卖条件}
    {事件发生时的下一周的首个交易日的开盘前, 9:15分开始下单, 期盼开盘价成交}
    B1:= ABS(T-T1)<1 AND T1<T2 AND T2<T3 NODRAW;
    B2_:= (T>T1+1) AND (T1>(T2+1) OR ABS(T1-T2)<1 ) AND (C>T AND L<T);
    B2 := FILTER(B2_, 3);
    LB1:=REF(B1 OR B2,1); DRAWICON(LB1, L, 38);
    BUY(B1 OR B2, CLOSE);

    S1_:= (ABS(T-T1)<1 OR T<T1) AND (T1>(T2+1)) AND (T2>(T3+1)) ;
    S1:= FILTER(S1_, 3) NODRAW; LS1{LAST BAR OF S1}:=REF(S1,1); DRAWICON(LS1, H*1.02, 39);
    SELL(S1, HIGH);

    {
    AUTOFILTER, NODRAW;
    }
    BP1:BUYPRICE;
    SP1:SELLPRICE;
    DRAWNUMBER(SELLBARS=1, H1.06, 100(SP1/BP1-1));

    BPRICE:= VALUEWHEN(LB1, O); SPRICE:= VALUEWHEN(LS1, O);
    DRAWNUMBER(LS1, H1.04, 100( SPRICE/BPRICE-1));

    BC:BARSCOUNT(C) COLORWHITE NODRAW; {开始于0的}
    {BC_:= COUNT(C>0, 0)+10;
    CURRBARSCOUNT=5;
    };

    ======================================
    BC:BARSCOUNT(C) COLORWHITE NODRAW; {开始于0的}
    {BC_:= COUNT(C>0, 0)+10; CURRBARSCOUNT=5; };
    START_C_CONS :=REF(C,BARSCOUNT(C)); ROC1 :=100* (C/REF(C,1)-1) ; ATR14:=ATR.ATR(14); LATR:= REF(ATR14,1);

    TREND_:= C+ATR14 COLORGREEN; LTREND_:=REF(TREND_,1);
    TREND: IF(TREND_>LTREND_, LTREND_, TREND_) COLORYELLOW;
    T:=TREND; T1:=REF(T,1); T2:=REF(T,2); T3:=REF(T,3);

    {T本期走平:= ABS(T-T1)<1; T前一下跌:= T1<T2; T前二下跌:= T2<T3; T前一上升:= T1>T2; T前二上升:= T2>T3;}

    {本期 的最后一个交易日收盘后, 开始检查买卖条件}
    {事件发生时的下一周的首个交易日的开盘前, 9:15分开始下单, 期盼开盘价成交}
    B1:= ABS(T-T1)<1 AND T1<T2 AND T2<T3 NODRAW;
    B2_:= (T>T1+1) AND (T1>(T2+1) OR ABS(T1-T2)<1 ) AND (C>T AND L<T);
    B2 := FILTER(B2_, 3);
    {LB1:=REF(B1 OR B2,1); DRAWICON(LB1, L, 38);}
    BUY(B1 OR B2, CLOSE);

    S1_:= (ABS(T-T1)<1 OR T<T1) AND (T1>(T2+1)) AND (T2>(T3+1)) ;
    S1:= FILTER(S1_, 3) NODRAW;
    {LAST BAR OF S1} {LS1:=REF(S1,1); DRAWICON(LS1, H*1.02, 39); }
    SELL(S1, HIGH);

    AUTOFILTER, NODRAW;
    BP1:BUYPRICE COLORWHITE NODRAW; SP1:SELLPRICE COLORMAGENTA NODRAW;
    DRAWNUMBER(SELLBARS=1, H1.06, 100(SP1/BP1-1));
    POS: IF(BUYBARS<SELLBARS, 1, 0), NODRAW COLORWHITE LINETHICK4;

    ROC1_STRAT:= IF(BUYBARS=1, 100(C/BP1-1), ROC1POS);
    EQ : MULAR(1+ROC1_STRAT/100, 0)*START_C_CONS;

    {BPRICE:= VALUEWHEN(LB1, O); SPRICE:= VALUEWHEN(LS1, O); DRAWNUMBER(LS1, H1.04, 100( SPRICE/BPRICE-1));};

    final version

    BC:BARSCOUNT(C) COLORWHITE NODRAW; {开始于0的}
    {BC_:= COUNT(C>0, 0)+10; CURRBARSCOUNT=5; };
    START_C_CONS :=REF(C,BARSCOUNT(C)); ROC1 :=100* (C/REF(C,1)-1) ; ATR14:=ATR.ATR(14); LATR:= REF(ATR14,1);

    TREND_:= C+ATR14 COLORGREEN; LTREND_:=REF(TREND_,1);
    TREND: IF(TREND_>LTREND_, LTREND_, TREND_) COLORYELLOW;
    T:=TREND; T1:=REF(T,1); T2:=REF(T,2); T3:=REF(T,3);

    {T本期走平:= ABS(T-T1)<1; T前一下跌:= T1<T2; T前二下跌:= T2<T3; T前一上升:= T1>T2; T前二上升:= T2>T3;}

    {本期 的最后一个交易日收盘后, 开始检查买卖条件}
    {事件发生时的下一周的首个交易日的开盘前, 9:15分开始下单, 期盼开盘价成交}
    B1:= ABS(T-T1)<1 AND T1<T2 AND T2<T3 NODRAW;
    B2_:= (T>T1+1) AND (T1>(T2+1) OR ABS(T1-T2)<1 ) AND (C>T AND L<T);
    B2 := FILTER(B2_, 3);
    {LB1:=REF(B1 OR B2,1); DRAWICON(LB1, L, 38);}
    BUY(B1 OR B2, CLOSE);
    BP1:BUYPRICE COLORWHITE NODRAW;
    {PNL:= (C/BP1-1); STOPLOSS_EXIT:= PNL < -3/100.0;}

    S1_:= (ABS(T-T1)<1 OR T<T1) AND (T1>(T2+1)) AND (T2>(T3+1)) ;
    S1:= FILTER(S1_, 3) NODRAW;
    {LAST BAR OF S1} {LS1:=REF(S1,1); DRAWICON(LS1, H*1.02, 39); }
    SELL(S1, HIGH); {SELL(S1 OR STOPLOSS_EXIT, HIGH);}

    {AUTOFILTER, NODRAW;}
    SP1:SELLPRICE COLORMAGENTA NODRAW;
    DRAWNUMBER(SELLBARS=1, H1.06, 100(SP1/BP1-1));

    POS: IF(BUYBARS<SELLBARS, 1, 0), NODRAW COLORWHITE LINETHICK4;
    ROC1_STRAT:= IF(BUYBARS=1, 100(C/BP1-1), ROC1POS);
    EQ : MULAR(1+ROC1_STRAT/100, 0)*START_C_CONS COLORCYAN LINETHICK2;

    {CEQ: CURRENTEQUITY;} {仅针对期货账户}
    {BPRICE:= VALUEWHEN(LB1, O); SPRICE:= VALUEWHEN(LS1, O); DRAWNUMBER(LS1, H1.04, 100( SPRICE/BPRICE-1));};

  • 相关阅读:
    抽象工厂模式
    工厂方法模式
    单例模式
    适配器模式
    外观模式
    简单工厂模式
    设计模式开篇闲谈
    android ui更新
    android获取Context
    android 事件绑定
  • 原文地址:https://www.cnblogs.com/duan-qs/p/12903509.html
Copyright © 2020-2023  润新知