人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識>>正文內容

大師們幫我看看如何修改策略(RSI做多策略) [開拓者 TB]

  • 咨詢內容: 策略思路:
       RSI 多頭策略
      1 多頭入場: RSI 上破55, 在下一根Bar開盤價入場。
      2 多頭出場: RSI下破45,在下一根bar 開盤價出場。
    3 保護性止損: 當價格下破 進場價減一定倍數(初始值為1)的ATR時,止損出場。
    4 跟蹤止盈(止損): 多頭入場后,記錄入場后最高點,然后在價格下破 最高點減 一定倍數ATR( 初始值設定為1時) 止盈(止損)出場

    另外,如果策略想加上一個再進場,止損后,如果價格突破10日高點,再進場,要怎么寫。。。

    初學階段,自己改了幾次,越改越不對路了。 只好向大師求教。。。

    Params
            Numeric Length(14) ;
            Numeric DnTrend(45) ;
            Numeric UpTrend(55);
            Numeric Lots(0);
            Numeric CoATR(1);
            Numeric ATRLength(14);
            Numeric TrailStopCoATR(1);
           
    Vars
            NumericSeries NetChgAvg( 0 );
            NumericSeries TotChgAvg( 0 );
            Numeric SF( 0 );
            NumericSeries Change( 0 );       
            NumericSeries ChgRatio( 0 ) ;
            NumericSeries RSIValue;
            NumericSeries ProtectStopLoss(0);
            NumericSeries HighestAfterEntry(0);
            NumericSeries TrailStopLine(0);
           
    Begin
            // 集合競價和小節休息過濾
                    If(!CallAuctionFilter()) Return;
                   
            If(CurrentBar <= Length - 1)
            {
                    NetChgAvg = ( Close - Close[Length] ) / Length ;
                    TotChgAvg = Average( Abs( Close - Close[1] ), Length ) ;
            }Else
            {
                    SF = 1/Length;
                    Change = Close - Close[1] ;
                    NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
                    TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;       
            }
           
            If( TotChgAvg <> 0 )
            {
                    ChgRatio = NetChgAvg / TotChgAvg;
            }else
            {
                    ChgRatio = 0 ;
            }       
            RSIValue = 50 * ( ChgRatio + 1 );       
            PlotNumeric("RSI",RSIValue);
            PlotNumeric("UpTrend",UpTrend);
            PlotNumeric("DnTrend",DnTrend);       
           
           
            If (MarketPosition<>1&& RSIValue[1]>UpTrend)
            {
            Buy(Lots,Open);
            ProtectStopLoss=LastEntryPrice-CoATR*AvgTrueRange(ATRLength);
            }
            Commentary("rotectStopLoss"+Text(ProtectStopLoss));
            If(MarketPosition==1&&BarsSinceEntry>0)
            {       
            If (Low<=ProtectStopLoss)
            {
            Sell(0,Min(Open,ProtectStopLoss));
            Commentary("rotectStop");
            }
            }
            If (BarsSinceEntry==0)
            HighestAfterEntry=High;
            Else
            HighestAfterEntry=Max(HighestAfterEntry[1],High);       
            TrailStopLine=HighestAfterEntry-TrailStopCoATR*AvgTrueRange(ATRLength);
            Commentary("TrailStopLine"+Text(TrailStopLine));
            If (MarketPosition==1&&BarsSinceEntry>0)
            {       
            If(Low<=TrailStopLine[1])
            {
            Sell(0,Min(Open,TrailStopLine[1]));
            Commentary("TrailStop");       
            }
            }
            If(MarketPosition==1&&BarsSinceEntry>0)
            {
            If(RSIValue[1]<DnTrend)
            {
            Sell(0,Open);
            Commentary("反手出場");
            }
            }
    End

     

  • TB技術人員: 本帖最后由 Allin9999 于 2016-1-25 16:21 編輯

    在你的代碼基礎上做了一些修改,供你參考。再進場部分我就按照方便處理的原則簡化處理了,假定RSI跌破UpTrend,就不算再進場了。這個具體寫的時候還是要根據自己的策略進行調整。
    1. Params
    2.         Numeric Length(14) ;
    3.         Numeric DnTrend(45) ;
    4.         Numeric UpTrend(55);
    5.         Numeric Lots(0);
    6.         Numeric CoATR(1);
    7.         Numeric ATRLength(14);
    8.         Numeric TrailStopCoATR(1);
    9.         
    10. Vars
    11.         NumericSeries NetChgAvg( 0 );
    12.         NumericSeries TotChgAvg( 0 );
    13.         Numeric SF( 0 );
    14.         NumericSeries Change( 0 );        
    15.         NumericSeries ChgRatio( 0 ) ;
    16.         NumericSeries RSIValue;
    17.         NumericSeries ProtectStopLoss(0);
    18.         NumericSeries HighestAfterEntry(0);
    19.         NumericSeries TrailStopLine(0);

    20.         NumericSeries AtrValue;
    21.         Numeric RangeHigh;
    22.         
    23. Begin
    24.         // 集合競價和小節休息過濾
    25.         If(!CallAuctionFilter()) Return;
    26.                
    27.         If(CurrentBar <= Length - 1)
    28.         {
    29.                 NetChgAvg = ( Close - Close[Length] ) / Length ;
    30.                 TotChgAvg = Average( Abs( Close - Close[1] ), Length ) ;
    31.         }Else
    32.         {
    33.                 SF = 1/Length;
    34.                 Change = Close - Close[1] ;
    35.                 NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
    36.                 TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;        
    37.         }
    38.         
    39.         If( TotChgAvg <> 0 )
    40.         {
    41.                 ChgRatio = NetChgAvg / TotChgAvg;
    42.         }else
    43.         {
    44.                 ChgRatio = 0 ;
    45.         }        
    46.         RSIValue = 50 * ( ChgRatio + 1 );        
    47.         PlotNumeric("RSI",RSIValue);
    48.         PlotNumeric("UpTrend",UpTrend);
    49.         PlotNumeric("DnTrend",DnTrend);        
    50.         

    51.         AtrValue = AvgTrueRange(ATRLength);
    52.         Commentary("AtrValue="+Text(AtrValue));

    53.         RangeHigh = Highest(H[1],10);
    54.                
    55.         If(MarketPosition<>1 && RSIValue[2] < UpTrend And RSIValue[1]>UpTrend)
    56.         {
    57.                 Buy(Lots,Open);
    58.                 ProtectStopLoss=LastEntryPrice-CoATR*AtrValue;
    59.         }
    60.         Else If(MarketPosition<>1 And High >= RangeHigh And RSIValue[1]>UpTrend)
    61.         {
    62.                 Buy(Lots,Max(Open,RangeHigh));
    63.                 ProtectStopLoss=LastEntryPrice-CoATR*AtrValue;
    64.         }
    65.         Commentary("ProtectStopLoss"+Text(ProtectStopLoss));

    66.         If(MarketPosition==1 && BarsSinceEntry>0)
    67.         {
    68.                 If(RSIValue[1]<DnTrend)
    69.                 {
    70.                         Sell(0,Open);
    71.                         Commentary("反手出場");
    72.                 }
    73.         }
    74.                
    75.         If(MarketPosition==1 && BarsSinceEntry>0)
    76.         {
    77.                 If (Low<=ProtectStopLoss)
    78.                 {
    79.                         Sell(0,Min(Open,ProtectStopLoss));
    80.                         Commentary("ProtectStop");
    81.                 }
    82.         }
    83.                
    84.         If (BarsSinceEntry==0)
    85.                 HighestAfterEntry=High;
    86.         Else
    87.                 HighestAfterEntry=Max(HighestAfterEntry[1],High);
    88.                        
    89.         TrailStopLine = HighestAfterEntry - TrailStopCoATR*AtrValue;

    90.         Commentary("TrailStopLine"+Text(TrailStopLine));

    91.         If(MarketPosition==1&&BarsSinceEntry>0)
    92.         {        
    93.                 If(Low<=TrailStopLine[1])
    94.                 {
    95.                         Sell(0,Min(Open,TrailStopLine[1]));
    96.                         Commentary("TrailStop");        
    97.                 }
    98.         }
    99.                
    100. End
    復制代碼

     

  • TB客服:
    Allin9999 發表于 2016-1-25 16:19
    在你的代碼基礎上做了一些修改,供你參考。再進場部分我就按照方便處理的原則簡化處理了,假定RSI跌破UpTre ...

    非常感謝!!

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 99久久999久久久综合精品涩 | 草久久久| 国产亚洲精品国产福利在线观看 | 亚洲免费在线播放 | 在线成人| 波多野结衣在线免费观看视频 | 久久青青成人亚洲精品 | 亚洲日韩精品欧美一区二区一 | 日韩在线欧美 | 成人免费黄色大片 | 国产ppp视频在线观看 | 日本午色www高清视频 | 国产精品午夜剧场 | 特级毛片永久久免费观看 | 久久久久久麻豆 | 欧美亚洲天堂网 | 超级碰在线观看 | 福利不卡| 亚洲综合站 | 波多野结衣gvg | 亚洲视频国产 | 日本一区二区免费在线观看 | 日韩高清一区二区三区五区七区 | 黄色国产精品 | 狠狠干成人 | 在线成人观看 | 日本人真淫视频一区二区三区 | 在线免费公开视频 | 日本一区二区三区在线观看视频 | 2021天天躁狠狠燥 | 青春草在线免费观看 | 黄网视频在线观看 | 最新在线鲁丝片eeuss第1页 | 欧美亚洲天堂网 | 91精品欧美综合在线观看 | 欧美亚洲欧美日韩中文二区 | 黄色一级片在线播放 | 亚洲欧美婷婷 | 日本羞羞无遮挡免费漫画 | 在线jyzzjyzz免费视频 | 免费看片亚洲 |