Pathfinder Trading System

Viewing 15 posts - 721 through 735 (of 1,835 total)
  • Author
    Posts
  • #22201 quote
    Alco
    Participant
    Senior

    Dax opened a short position at 11563 on live account.

    #22202 quote
    volpiemanuele
    Participant
    Veteran

    @ALCO

    Hi,

    In demo account no. In demo account Pathfinder open short position on FTSE at 7135,9 today at 17.00. Thanks

    #22203 quote
    Alco
    Participant
    Senior

    Which version do you run volpiemanuele?

    I run dax 4h v6-1

    #22204 quote
    Elsborgtrading
    Participant
    Veteran

    Strange behaviour- signal line crossed under daily low between 13:00 and 17:00 so the short signal is good. However why it opened at 21:00 I don’t know. Also it didn’t open any short for me- though the signal line is 11566 and daily low is 11573 @17:00. I have no rejected or cancelled order in DAX trying to make a short position. If back tested DAX 4H V6 there is also no opening in short signal @17:00 or 21:00

    Anyone Else?

    #22210 quote
    volpiemanuele
    Participant
    Veteran

    @ALLCO

    v6 and v6_small in demo account

    #22211 quote
    traderfred
    Participant
    Senior

    Hi guys,

    Dax 4H V6 is not supposed to open any position because january2 = 0.

    My FTSE live account opened a position at 5 pm. My backtest opened the same position at 9pm, but timestamped 5pm, but that’s a normal behaviour – backtest open the position always next candle comparing to live.

    So everything is OK I guess..

    #22212 quote
    absent1980
    Participant
    Average

    Opened short on demo DAX, version 3.

    #22213 quote
    Alco
    Participant
    Senior

    @volpiemanuele

    correct, But I changed it to 1. I forgot to mention that.

    #22214 quote
    volpiemanuele
    Participant
    Veteran

    @ALCO

    Correct, I have set january2=0

    #22361 quote
    Mark
    Participant
    Senior

    I also confirm open short positions on FTSE and DAX. I have to note that I set January2 = 1 instead of 0.

    #22430 quote
    cfta
    Participant
    Senior

    Hi Reiner,

    Nice to see the progress you are making here. The exit in my Grid Step System works like this, PRT draws a curve of floating profit/loss and applies a bollinger bands to the profit curve, if the profit curve crosses below the lower bollinger band and floating profit is above the RR threshold the exit kicks in and all positions are closed (if RR set to 3 it will apply after 3 % floating profit is reached). Make sure to pay attention to the MA period and standard deviation. Here is the code;

    defparam preloadbars = 10000
    once RRreached = 0
    
    //parameters
    accountbalance = 10000 //account balance in money at strategy start
    riskpercent = 1 //whole account risk in percent%
    amount = 1 //lot amount to open each trade
    rr = 0 //risk reward ratio (set to 0 disable this function)
    
    //money management
    liveaccountbalance = accountbalance+strategyprofit
    moneyrisk = (liveaccountbalance*(riskpercent/100))
    if onmarket then
    onepointvaluebasket = pointvalue*countofposition
    mindistancetoclose =(moneyrisk/onepointvaluebasket)*pipsize
    endif
    //floating profit
    floatingprofit = (((close-positionprice)*pointvalue)*countofposition)/pipsize //actual trade gains
    MAfloatingprofit = average[20](floatingprofit)
    BBfloatingprofit = MAfloatingprofit - std[20](MAfloatingprofit)*2
    
    //floating profit risk reward check
    if rr>0 and floatingprofit>moneyrisk*rr then
    RRreached=1
    endif
    
    //stoploss trigger when risk reward ratio is not met already
    if onmarket and RRreached=0 then
    SELL AT positionprice-mindistancetoclose STOP
    endif
    
    //stoploss trigger when risj reward ratio has been reached
    if onmarket and RRreached=1 then
    if floatingprofit crosses under BBfloatingprofit then
    SELL AT MARKET
    endif
    SELL AT positionprice-mindistancetoclose STOP
    endif
    
    //resetting the risk reward reached variable
    if not onmarket then
    RRreached = 0
    endif
    defparam preloadbars = 10000
    once RRreached = 0
    
    //parameters
    accountbalance = 10000 //account balance in money at strategy start
    riskpercent = 1 //whole account risk in percent%
    amount = 1 //lot amount to open each trade
    rr = 2 //risk reward ratio (set to 0 disable this function)
    
    //money management
    liveaccountbalance = accountbalance+strategyprofit
    moneyrisk = (liveaccountbalance*(riskpercent/100))
    if onmarket then
    onepointvaluebasket = pointvalue*countofposition
    mindistancetoclose =(moneyrisk/onepointvaluebasket)*pipsize
    endif
    //floating profit
    floatingprofit = (((close-positionprice)*pointvalue)*countofposition)/pipsize //actual trade gains
    MAfloatingprofit = average[20](floatingprofit)
    BBfloatingprofit = MAfloatingprofit - std[20](MAfloatingprofit)*2
    
    //floating profit risk reward check
    if rr>0 and floatingprofit>moneyrisk*rr then
    RRreached=1
    endif
    
    
    //stoploss trigger when risk reward ratio is not met already
    if onmarket and RRreached=0 then
    EXITSHORT AT positionprice-mindistancetoclose STOP
    endif
    
    //stoploss trigger when risj reward ratio has been reached
    if onmarket and RRreached=1 then
    if floatingprofit crosses under BBfloatingprofit then
    EXITSHORT AT MARKET
    endif
    EXITSHORT AT positionprice-mindistancetoclose STOP
    endif
    
    //resetting the risk reward reached variable
    if not onmarket then
    RRreached = 0
    endif
    
    
    
            
    Reiner, manel and Kurtus thanked this post
    #22438 quote
    Elsborgtrading
    Participant
    Veteran

    Hi. In addition to the orginal CFTA code, I have combined it into pathfinder. I removed the original SL code, and replaced it with the BBExit function. It only has one move. When RR is reached it will go into the BBExit function. As I wrote before it is not as profitable as the original code, so there is definitely something to work with. Please note that I have renamed some of the original Pathfinder’s variables so it was easier to merge into the CFTA code.

    // Pathfinder Trading System based on ProRealTime 10.2
    // Breakout system triggered by previous daily, weekly and monthly high/low crossings with smart position management
    // Version 7b1 Pathfinder BBExit
    // Instrument: DAX mini 4H, 9-21 CET, 2 points spread, account size 10.000 Euro, from August 2010
    
    // ProOrder code parameter
    DEFPARAM CUMULATEORDERS = true  // cumulate orders if not turned off
    DEFPARAM PRELOADBARS = 10000
    
    // define intraday trading window
    ONCE startTime = 90000
    ONCE endTime = 210000
    
    // define instrument signalline with help of multiple smoothed averages
    ONCE periodFirstMA = 5
    ONCE periodSecondMA = 10
    ONCE periodThirdMA = 3
    
    // define filter parameter
    ONCE periodLongMA = 300
    ONCE periodShortMA = 50
    
    // define position and money management parameter
    ONCE positionSize = 1
    ONCE RRreached = 0
    
    accountbalance = 10000 //account balance in money at strategy start
    riskpercent = 5 // in %
    liveaccountbalance = accountbalance + StrategyProfit
    moneyrisk = round(liveaccountbalance * riskpercent / 100)
    
    rr = 0.088//x1//0.25 //risk reward ratio (set to 0 disable this function and run orginal pathfinder V6 cod)
    
    //money management
    liveaccountbalance = accountbalance+strategyprofit
    moneyrisk = (liveaccountbalance*(riskpercent/100))
    if onmarket then
    onepointvaluebasket = pointvalue*countofposition
    mindistancetoclose =(moneyrisk/onepointvaluebasket)*pipsize
    endif
    
    //floating profit
    floatingprofit = (((close-positionprice)*pointvalue)*countofposition)/pipsize //actual trade gains
    MAfloatingprofit = average[20](floatingprofit)
    BBfloatingprofit = MAfloatingprofit - std[20](MAfloatingprofit)*2
    
    ONCE stopLossLong = 5.5 // in %
    ONCE stopLossShort = 3.25 // in %
    ONCE takeProfitLong = 3.25 // in %
    ONCE takeProfitShort = 3.25 // in %
    
    maxPositionSizeLong = MAX(15, abs(round(moneyrisk / (close * stopLossLong / 100) / PointValue) * pipsize))
    maxPositionSizeShort = MAX(15, abs(round(moneyrisk / (close * stopLossShort / 100) / PointValue) * pipsize))
    
    
    
    ONCE maxCandlesLongWithProfit = 16  // take long profit latest after 16 candles
    ONCE maxCandlesShortWithProfit = 15  // take short profit latest after 15 candles
    ONCE maxCandlesLongWithoutProfit = 30  // limit long loss latest after 30 candles
    ONCE maxCandlesShortWithoutProfit = 12  // limit short loss latest after 12 candles
    
    // define saisonal position multiplier for each month 1-15 / 16-31 (>0 - long / <0 - short / 0 no trade)
    ONCE January1 = 3
    ONCE January2 = 0
    ONCE February1 = 3
    ONCE February2 = 3
    ONCE March1 = 3
    ONCE March2 = 2
    ONCE April1 = 1
    ONCE April2 = 3
    ONCE May1 = 1
    ONCE May2 = 1
    ONCE June1 = 2
    ONCE June2 = 2
    ONCE July1 = 3
    ONCE July2 = 1
    ONCE August1 = 1
    ONCE August2 = 1
    ONCE September1 = 3
    ONCE September2 = 0
    ONCE October1 = 3
    ONCE October2 = 2
    ONCE November1 = 1
    ONCE November2 = 3
    ONCE December1 = 3
    ONCE December2 = 2
    
    // calculate daily high/low (include sunday values if available)
    dailyHigh = DHigh(1)
    dailyLow = DLow(1)
    
    // calculate weekly high/low
    If DayOfWeek < DayOfWeek[1] then
    weeklyHigh = Highest[BarIndex - lastWeekBarIndex](dailyHigh)
    lastWeekBarIndex = BarIndex
    ENDIF
    
    // calculate monthly high/low
    If Month[1] <> Month[2] then
    //If Month <> Month[1] then
    monthlyHigh = Highest[BarIndex - lastMonthBarIndex](dailyHigh)
    monthlyLow = Lowest[BarIndex - lastMonthBarIndex](dailyLow)
    lastMonthBarIndex = BarIndex
    ENDIF
    
    // calculate instrument signalline with multiple smoothed averages
    firstMA = WilderAverage[periodFirstMA](close)
    secondMA = TimeSeriesAverage[periodSecondMA](firstMA)
    signalline = TimeSeriesAverage[periodThirdMA](secondMA)
    
    // save position before trading window is open
    If Time < startTime then
    startPositionLong = COUNTOFLONGSHARES
    startPositionShort = COUNTOFSHORTSHARES
    EndIF
    
    // trade only in defined trading window
    IF Time >= startTime AND Time <= endTime THEN
    
    if rr>0 and floatingprofit>moneyrisk*rr then
    RRreached=1
    Endif
    
    // set saisonal multiplier
    currentDayOfTheMonth = Date - ((CurrentYear * 10000) + CurrentMonth * 100)
    midOfMonth = 15
    IF CurrentMonth = 1 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = January1
    ELSE
    saisonalPatternMultiplier = January2
    ENDIF
    ELSIF CurrentMonth = 2 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = February1
    ELSE
    saisonalPatternMultiplier = February2
    ENDIF
    ELSIF CurrentMonth = 3 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = March1
    ELSE
    saisonalPatternMultiplier = March2
    ENDIF
    ELSIF CurrentMonth = 4 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = April1
    ELSE
    saisonalPatternMultiplier = April2
    ENDIF
    ELSIF CurrentMonth = 5 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = May1
    ELSE
    saisonalPatternMultiplier = May2
    ENDIF
    ELSIF CurrentMonth = 6 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = June1
    ELSE
    saisonalPatternMultiplier = June2
    ENDIF
    ELSIF CurrentMonth = 7 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = July1
    ELSE
    saisonalPatternMultiplier = July2
    ENDIF
    ELSIF CurrentMonth = 8 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = August1
    ELSE
    saisonalPatternMultiplier = August2
    ENDIF
    ELSIF CurrentMonth = 9 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = September1
    ELSE
    saisonalPatternMultiplier = September2
    ENDIF
    ELSIF CurrentMonth = 10 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = October1
    ELSE
    saisonalPatternMultiplier = October2
    ENDIF
    ELSIF CurrentMonth = 11 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = November1
    ELSE
    saisonalPatternMultiplier = November2
    ENDIF
    ELSIF CurrentMonth = 12 THEN
    IF currentDayOfTheMonth <= midOfMonth THEN
    saisonalPatternMultiplier = December1
    ELSE
    saisonalPatternMultiplier = December2
    ENDIF
    ENDIF
    
    // define trading filters
    // 1. use fast and slow averages as filter because not every breakout is profitable
    f1 = close > Average[periodLongMA](close)
    f2 = close < Average[periodLongMA](close)
    f3 = close > Average[periodShortMA](close)
    
    // 2. check if position already reduced in trading window as additonal filter criteria
    alreadyReducedLongPosition = COUNTOFLONGSHARES  < startPositionLong
    alreadyReducedShortPosition = COUNTOFSHORTSHARES < startPositionShort
    
    // long position conditions
    l1 = signalline CROSSES OVER monthlyHigh
    l2 = signalline CROSSES OVER weeklyHigh
    l3 = signalline CROSSES OVER dailyHigh
    l4 = signalline CROSSES OVER monthlyLow
    
    // short position conditions
    s1 = signalline CROSSES UNDER monthlyHigh
    s2 = signalline CROSSES UNDER dailyLow
    
    // long entry with order cumulation
    IF ( (l1 OR l4 OR l2 OR (l3 AND f2)) AND NOT alreadyReducedLongPosition) THEN
    
    // check saisonal booster setup and max position size
    IF saisonalPatternMultiplier > 0 THEN
    IF (COUNTOFPOSITION + (positionSize * saisonalPatternMultiplier)) <= maxPositionSizeLong THEN
    BUY positionSize * saisonalPatternMultiplier CONTRACT AT MARKET
    ENDIF
    ELSIF saisonalPatternMultiplier <> 0 THEN
    IF (COUNTOFPOSITION + positionSize) <= maxPositionSizeLong THEN
    BUY positionSize CONTRACT AT MARKET
    ENDIF
    ENDIF
    
    stopLoss = stopLossLong
    takeProfit = takeProfitLong
    
    ENDIF
    
    // short entry without order cumulation
    IF NOT SHORTONMARKET AND ( (s1 AND f3) OR  (s2 AND f1) ) AND NOT alreadyReducedShortPosition THEN
    
    // check saisonal booster setup and max position size
    IF saisonalPatternMultiplier < 0 THEN
    IF (COUNTOFPOSITION + (positionSize * ABS(saisonalPatternMultiplier))) <= maxPositionSizeShort THEN
    SELLSHORT positionSize * ABS(saisonalPatternMultiplier) CONTRACT AT MARKET
    ENDIF
    ELSIF saisonalPatternMultiplier <> 0 THEN
    IF (COUNTOFPOSITION + positionSize) <= maxPositionSizeLong THEN
    SELLSHORT positionSize CONTRACT AT MARKET
    ENDIF
    ENDIF
    
    stopLoss = stopLossShort
    takeProfit = takeProfitShort
    
    ENDIF
    
    // stop and profit management
    posProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsize
    
    numberCandles = (BarIndex - TradeIndex)
    
    m1 = posProfit > 0 AND numberCandles >= maxCandlesLongWithProfit
    m2 = posProfit > 0 AND numberCandles >= maxCandlesShortWithProfit
    m3 = posProfit < 0 AND numberCandles >= maxCandlesLongWithoutProfit
    m4 = posProfit < 0 AND numberCandles >= maxCandlesShortWithoutProfit
    
    // take profit after max candles
    IF LONGONMARKET AND (m1 OR m3) THEN
    SELL AT MARKET
    ENDIF
    IF SHORTONMARKET AND (m2 OR m4) THEN
    EXITSHORT AT MARKET
    ENDIF
    
    
    
    // superordinate stop and take profit
    SET STOP %LOSS stopLoss
    SET TARGET %PROFIT takeProfit
    
    //stoploss trigger when risk reward ratio has been reached
    if onmarket and RRreached=1 then
    if floatingprofit crosses under BBfloatingprofit then
    SELL AT MARKET
    EXITSHORT AT MARKET
    endif
    SELL AT positionprice-mindistancetoclose STOP
    EXITSHORT AT positionprice-mindistancetoclose STOP
    endif
    
    //resetting the risk reward reached variable
    if not onmarket then
    RRreached = 0
    endif
    
    ENDIF
    
    //graph posProfit COLOURED(0,0,255) AS "posProfit"
    //graph breakeven COLOURED(255,0,0) AS "breakeven"//Aqua
    Graph RRreached COLOURED(0,0,255) AS "RRReached"
    
    Reiner, ALE and Kurtus thanked this post
    #22439 quote
    Jesús
    Participant
    Veteran

    Hi guys,
    The Pathfinder DOW 4H V.6 has opened a long position today 01/25/2017 at 1:00 p.m., someone can confirm.

    #22441 quote
    wp01
    Participant
    Master

    @Jesus

    Yes i can confirm the long position in the DOW 4H V6 today 25th. of January at 1:00 p.m.

    Regards,

    Patrick

    Jesús thanked this post
    #22442 quote
    dajvop
    Participant
    Master

    And OMX v6, also at 1pm.

    Jesús thanked this post
Viewing 15 posts - 721 through 735 (of 1,835 total)
  • You must be logged in to reply to this topic.

Pathfinder Trading System


ProOrder support

New Reply
Author
author-avatar
Reiner @reiner Participant
Summary

This topic contains 1,834 replies,
has 139 voices, and was last updated by CFD AutoTrading
2 years, 6 months ago.

Topic Details
Forum: ProOrder support
Language: English
Started: 09/22/2016
Status: Active
Attachments: 435 files
Logo Logo
Loading...