Kama & SMA Trading System Dax Discussion Thread

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #106157 quote
    deletedaccount100622
    Participant
    New
    //************************************************************************
    //                 Kama & Sma Trading System DAX mtf
    //************************************************************************
    //
    DEFPARAM CumulateOrders = False
    DEFPARAM PreLoadBars    = 2000
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 210000
    
    once multiplier=1
    once fraction=72
    once newlevel=72
    once oldlevel=72
    once startpositionsize=1
    once positionsize=startpositionsize
    if strategyprofit>newlevel then
    multiplier=multiplier+0.05
    oldlevel=newlevel
    newlevel=strategyprofit+multiplier*fraction
    positionsize=multiplier*startpositionsize
    elsif strategyprofit<oldlevel and multiplier>=1 then
    newlevel=strategyprofit
    oldlevel=strategyprofit-multiplier*fraction
    multiplier=multiplier-0.05
    positionsize=multiplier*startpositionsize
    endif
    ////////////////////////////////////////////////////////////////////////
    TIMEFRAME (default)
    //ONCE nLots         = 1
    ONCE LongTrading   = 1                                //1=allowed   0=banned
    ONCE ShortTrading  = 1                                //1=allowed   0=banned
    //
    ONCE TP            = 500                              //200  pips
    ONCE SL            = 30                               //50   pips
    //
    TimeForbidden      = OpenTime < 080000 AND OpenTime > 210000
    LongCond           = (Not TimeForbidden) AND LongTrading
    ShortCond          = (Not TimeForbidden) AND ShortTrading
    //
    TIMEFRAME (1 hour, updateonclose)                                             //h1
    IF Not OnMarket THEN
    BarCount = 0
    ELSE
    BarCount = BarCount + 1
    ENDIF
    //------------------------------------------------------------------------------------
    //                         Kama & Sma Strategy
    //
    //https://www.forexstrategiesresources.com/trend-following-forex-strategies/111-kama-strategy/
    //
    Period     = 2                                              //2        (standard 10)
    FastPeriod = 2                                              //standard
    SlowPeriod = 30                                             //standard
    //
    Fastest  = 2 / (FastPeriod + 1)
    Slowest  = 2 / (SlowPeriod + 1)
    if barindex >= (Period + 1) then
    Num   = abs(close-close[Period])
    Den   = summation[Period](abs(close-close[1]))
    ER    = Num / Den
    Alpha = SQUARE(ER *(Fastest - Slowest )+ Slowest)
    Kama  = (Alpha * Close) + ((1 -Alpha)* Kama[1])
    else
    Kama  = close
    endif
    //------------------------------------------------------------------------------------
    Sma        = average[22,0](close)                           //22
    //------------------------------------------------------------------------------------
    a1 = Kama CROSSES OVER  Sma
    // --- SHORT
    b1 = Kama CROSSES UNDER Sma
    ////////////////////////////////////////////////////////////////////////
    TIMEFRAME (default)                                                           //1 min
    ONCE TradeON = 1
    IF IntraDayBarIndex = 0 THEN
    TradeON = 1
    ENDIF
    TradeBar = BarCount
    IF Not OnMarket AND TradeBar <> TradeBar[1] THEN
    TradeON = 1
    ENDIF
    //************************************************************************
    //                           LONG  trades
    //************************************************************************
    IF a1 AND TradeON AND LongCond THEN
    BUY positionsize CONTRACT AT MARKET
    TradeON = 0
    ENDIF
    //************************************************************************
    //                           SHORT trades
    //************************************************************************
    IF b1 AND TradeON AND ShortCond THEN
    SELLSHORT positionsize CONTRACT AT MARKET
    TradeON = 0
    ENDIF
    //
    SET TARGET pPROFIT TP
    SET STOP   pLOSS   SL
    //////////////////////////////////////////////////////////////////////////////////////////////////////////
    //                                Trailing Stop
    //------------------------------------------------------------------------------------
    IF Not OnMarket THEN
    TrailStart    = 10          //10     Start trailing profits from this point
    BasePerCent   = 0.100       //10.0%  Profit to keep
    StepSize      = 6           //6      Pips chunks to increase Percentage
    PerCentInc    = 0.100       //10.0%  PerCent increment after each StepSize chunk
    RoundTO       = -0.5        //-0.5   rounds to Lower integer,  +0.4 rounds to Higher integer
    PriceDistance = 7 * pipsize//8.9    minimun distance from current price
    y1            = 0
    y2            = 0
    ProfitPerCent = BasePerCent
    ELSIF LongOnMarket AND close > (TradePrice + (y1 * pipsize)) THEN //LONG
    x1 = (close - tradeprice) / pipsize                            //convert price to pips
    IF x1 >= TrailStart THEN                                       //go ahead only if N+ pips
    Diff1         = abs(TrailStart - x1)
    Chunks1       = max(0,round((Diff1 / StepSize) + RoundTO))
    ProfitPerCent = BasePerCent + (BasePerCent * (Chunks1 * PerCentInc))
    ProfitPerCent = max(ProfitPerCent[1],min(100,ProfitPerCent))
    y1 = max(x1 * ProfitPerCent, y1)                            //y = % of max profit
    ENDIF
    ELSIF ShortOnMarket AND close < (TradePrice - (y2 * pipsize)) THEN//SHORT
    x2 = (tradeprice - close) / pipsize                            //convert price to pips
    IF x2 >= TrailStart THEN                                       //go ahead only if N+ pips
    Diff2         = abs(TrailStart - x2)
    Chunks2       = max(0,round((Diff2 / StepSize) + RoundTO))
    ProfitPerCent = BasePerCent + (BasePerCent * (Chunks2 * PerCentInc))
    ProfitPerCent = max(ProfitPerCent[1],min(100,ProfitPerCent))
    y2 = max(x2 * ProfitPerCent, y2)                           //y = % of max profit
    ENDIF
    ENDIF
    IF y1 THEN                                        //Place pending STOP order when y>0
    SellPrice = Tradeprice + (y1 * pipsize)        //convert pips to price
    IF abs(close - SellPrice) > PriceDistance THEN
    IF close >= SellPrice THEN
    SELL AT SellPrice STOP
    ELSE
    SELL AT SellPrice LIMIT
    ENDIF
    ELSE
    SELL AT Market
    ENDIF
    ENDIF
    IF y2 THEN                                        //Place pending STOP order when y>0
    ExitPrice = Tradeprice - (y2 * pipsize)        //convert pips to price
    IF abs(close - ExitPrice) > PriceDistance THEN
    IF close <= ExitPrice THEN
    EXITSHORT AT ExitPrice STOP
    ELSE
    EXITSHORT AT ExitPrice LIMIT
    ENDIF
    ELSE
    EXITSHORT AT Market
    ENDIF
    ENDIF

    Code with modifications for opening times, stop loss and money management

    robertogozzi, GraHal, winnie37 and swedshare thanked this post
    RB-Mod-Kama-SMA.png RB-Mod-Kama-SMA.png
    #106172 quote
    Nicolas
    Keymaster
    Master

    Is this a modded version of this strategy? Kama & Sma Trading System DAX mtf

    #106266 quote
    deletedaccount100622
    Participant
    New

    Hi

    Yes it is, I did link this thread from the original strategy thread where I wasn’t able to post the code

    #148382 quote
    Eqscaper
    Participant
    New

    anyt chance if a upload file, when i copy and paste i get no results with this

    #155724 quote
    Indiana400
    Participant
    Junior

    Hi Can you post the new modded version.  The result i am getting from the original version or very poor.  Profit rate of 0.58. I also cannot seem to be able to go back as far as you on the 1 min chart.

     

    Many thanks

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Kama & SMA Trading System Dax Discussion Thread


ProOrder: Automated Strategies & Backtesting

New Reply
Summary

This topic contains 4 replies,
has 4 voices, and was last updated by Indiana400
5 years, 1 month ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 09/01/2019
Status: Active
Attachments: 1 files
Logo Logo
Loading...