Pathfinder Trading System

Viewing 15 posts - 676 through 690 (of 1,835 total)
  • Author
    Posts
  • #21471 quote
    Pere
    Participant
    Veteran

    @Mark, perhaps you are running a version lower tan V6. I’m running the V6, and do not have, like Alco, any trade since 9th of January (closed on 11th).

    #21475 quote
    Reiner
    Participant
    Veteran

    Hi guys,

    some of you asked me for a parameter setup for large account size (100k) for the Pathfinder DAX 4H V6.

    I strictly recommend to start in life trading with a smaller account size such as 10k. The backtest looks very promising but the project status is still experimental and when you followed the topic discussions there are still some open points such as differences between backtest und life trading results.

    In my opinion a good approach for a 100k account would be to trade the DAX mini 5Euro contract instead of DAX mini 1Euro. Enclosed is a version for an 100k account and DAX mini 5Euro. I can’t recommend to trade Pathfinder with a full DAX 25Euro future.

    Best, Reiner

    dajvop thanked this post
    #21479 quote
    MichiM
    Participant
    Senior

    Hi

    I see this right that tomorrow the soybeans could go long?

    Michi

    #21488 quote
    MichiM
    Participant
    Senior

    For information:

    CAC 40 4h V5B2 is short in live trading.

    Michi

    #21494 quote
    ALE
    Moderator
    Master

    Hello REINER hello GUYS

    Good news.. TRAILING STOP OF PATHFINDER WORKS WELL

    I’m testing a modified version of pathfinder since 6.12.2016, I’ve call it Pathfinder DAX 4H V5B2_EASY.  it is not the best like V6, so you can continue to use v6 version, but I want to tell you that this morning it had closed a short position by tailing stop!..
    Please check the attached picture, and the code above  to check the short position of january=1 and the triling stop of v6!!

    Reiner, flowsen123, Robin and 4 others thanked this post
    #21507 quote
    Alco
    Participant
    Senior

    Looking good ALE!

    #21516 quote
    Jimbob
    Participant
    Average

    FTSE 4Hr (Long) closed today at 7238.7 for a loss.

    FTSE 4Hr short opened shortly after at 7239.2 and currently running.

    traderfred thanked this post
    #21551 quote
    traderfred
    Participant
    Senior

    Hello

    I have same trades in live account for FTSE (Long and then short)

    But if I run the backtest, there is only the short one..The long (with the loss..) is not there..

    #21557 quote
    Alco
    Participant
    Senior

    I had a problem yesterday with FTSE v5b2 version.

    It gave a lot of rejected orders. It gave an error -> The minimum order size was 2 for ftse. The orders where rejected at 17:00. System was automatically stopped.

    So I thought the multiplier was 1 for this period. But when I looked back at the code it has 2 or >.

    This was the code I was using.

    //-------------------------------------------------------------------------
    // Main code : Pathfinder FTSE 4H V5B2
    //-------------------------------------------------------------------------
    // 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 5 Beta 2
    // Instrument: FTSE mini 4H, 9-22 CET, 2 points spread, account size 10.000 Euro
    
    // 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 = 7
    
    // define filter parameter
    ONCE periodLongMA = 230
    ONCE periodShortMA = 10
    
    // define position and money management parameter
    ONCE positionSize = 1
    
    Capital = 10000
    Risk = 5 // in %
    equity = Capital + StrategyProfit
    maxRisk = round(equity * Risk / 100)
    
    ONCE stopLossLong = 4 // in %
    ONCE stopLossShort = 2.75 // in %
    ONCE takeProfitLong = 3 // in %
    ONCE takeProfitShort = 2 // in %
    
    maxPositionSizeLong = MAX(15, abs(round(maxRisk / (close * stopLossLong / 100) / PointValue) * pipsize))
    maxPositionSizeShort = MAX(5, abs(round(maxRisk / (close * stopLossShort / 100) / PointValue) * pipsize))
    
    ONCE trailingStartLong = 1.75 // in %
    ONCE trailingStartShort = 0.75 // in %
    ONCE trailingStepLong = 0.2 // in %
    ONCE trailingStepShort = 0.3 // in %
    
    ONCE maxCandlesLongWithProfit = 40  // take long profit latest after 40 candles
    ONCE maxCandlesShortWithProfit = 30  // take short profit latest after 30 candles
    ONCE maxCandlesLongWithoutProfit = 40  // limit long loss latest after 40 candles 30
    ONCE maxCandlesShortWithoutProfit = 9  // limit short loss latest after 9 candles
    
    // define saisonal position multiplier >0 - long / <0 - short / 0 no trade
    ONCE January = 3
    ONCE February = 3
    ONCE March = 2
    ONCE April = 2
    ONCE May = 2
    ONCE June = 2
    ONCE July = 2
    ONCE August = 3
    ONCE September = -2
    ONCE October = 2
    ONCE November = 3
    ONCE December = 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 <> 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
    
    // set saisonal pattern
    IF CurrentMonth = 1 THEN
    saisonalPatternMultiplier = January
    ELSIF CurrentMonth = 2 THEN
    saisonalPatternMultiplier = February
    ELSIF CurrentMonth = 3 THEN
    saisonalPatternMultiplier = March
    ELSIF CurrentMonth = 4 THEN
    saisonalPatternMultiplier = April
    ELSIF CurrentMonth = 5 THEN
    saisonalPatternMultiplier = May
    ELSIF CurrentMonth = 6 THEN
    saisonalPatternMultiplier = June
    ELSIF CurrentMonth = 7 THEN
    saisonalPatternMultiplier = July
    ELSIF CurrentMonth = 8 THEN
    saisonalPatternMultiplier = August
    ELSIF CurrentMonth = 9 THEN
    saisonalPatternMultiplier = September
    ELSIF CurrentMonth = 10 THEN
    saisonalPatternMultiplier = October
    ELSIF CurrentMonth = 11 THEN
    saisonalPatternMultiplier = November
    ELSIF CurrentMonth = 12 THEN
    saisonalPatternMultiplier = December
    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 ( (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
    IF LONGONMARKET THEN
    posProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsize
    ELSIF SHORTONMARKET THEN
    posProfit = (((positionprice - close) * pointvalue) * countofposition) / pipsize
    ENDIF
    
    m1 = posProfit > 0 AND (BarIndex - TradeIndex) >= maxCandlesLongWithProfit
    m2 = posProfit > 0 AND (BarIndex - TradeIndex) >= maxCandlesShortWithProfit
    m3 = posProfit < 0 AND (BarIndex - TradeIndex) >= maxCandlesLongWithoutProfit
    m4 = posProfit < 0 AND (BarIndex - TradeIndex) >= 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
    
    // trailing stop function
    trailingStartLongInPoints = tradeprice(1) * trailingStartLong / 100
    trailingStartShortInPoints = tradeprice(1) * trailingStartShort / 100
    trailingStepLongInPoints = tradeprice(1) * trailingStepLong / 100
    trailingStepShortInPoints = tradeprice(1) * trailingStepShort / 100
    
    // reset the stoploss value
    IF NOT ONMARKET THEN
    newSL = 0
    ENDIF
    
    // manage long positions
    IF LONGONMARKET THEN
    // first move (breakeven)
    IF newSL = 0 AND close - tradeprice(1) >= trailingStartLongInPoints * pipsize THEN
    newSL = tradeprice(1) + trailingStepLongInPoints * pipsize
    ENDIF
    // next moves
    IF newSL > 0 AND close - newSL >= trailingStepLongInPoints * pipsize THEN
    newSL = newSL + trailingStepLongInPoints * pipsize
    ENDIF
    ENDIF
    
    // manage short positions
    IF SHORTONMARKET THEN
    // first move (breakeven)
    IF newSL = 0 AND tradeprice(1) - close >= trailingStartShortInPoints * pipsize THEN
    newSL = tradeprice(1) - trailingStepShortInPoints * pipsize
    ENDIF
    // next moves
    IF newSL > 0 AND newSL - close >= trailingStepShortInPoints * pipsize THEN
    newSL = newSL - trailingStepShortInPoints * pipsize
    ENDIF
    ENDIF
    
    // stop order to exit the positions
    IF newSL > 0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF
    
    // superordinate stop and take profit
    SET STOP %LOSS stopLoss
    SET TARGET %PROFIT takeProfit
    
    ENDIF
    

    Could someone explain why it stopped?

    Thanks,

    Alco

    #21575 quote
    mamio
    Participant
    Veteran

    @Alco

    Use FTSE 100 CASH (-). Don’t use GBL_EUR. It worked for me.

    #21577 quote
    Alco
    Participant
    Senior

    @mamio

    i used ftse 100 cash €1 mini. So that shouldnt be the problem.

    #21580 quote
    wp01
    Participant
    Master

    @Alco.

    I see in your screen at pending orders: 4. Are these related to the FTSE 100?

    Because it looks like it had conflicting orders.

    In this link from PRT you can read when it is automaticly stopped.

    https://tc.md.it-finance.com/IGIndex/conditions_of_execution_of_automatic_trading_systems.phtml?appletkey=0f4645986f0939c64351deb312e24d41707f01cf1289bab993e6d909593396a4&locale=en_GB

    The minimum size is 1 for this contract, so that can not be the problem.

    #21584 quote
    Alco
    Participant
    Senior

    @wp

    No those 4 pending orders are not related to ftse.

    (dutch) Wel raar, wanneer ik de muis op het driehoekje houd staat er dat er minimaal 2 contracten nodig zijn voor deze markt…. Heel vreemd.

    #21590 quote
    wp01
    Participant
    Master

    @Alco

    The quickest way how i check what the minimum contractsize is i go in IG tradingplatform to that CFD, i click on it and create an order or ticket and than you see in under “grootte” (also Dutch :-))

    the minimum contracts. I tried to find it on the website from IG, unfortunate without luck.

    When you click all the FTSE 100 you see that they all show one contract. But i see your screen. So that’s weird……

    #21591 quote
    wp01
    Participant
    Master

    @Alco

    But on the picture you show i can not read the last line, but it shows something like canceled 2 @ 7.545 at the same time.

    So it does look like something is conflicting.

Viewing 15 posts - 676 through 690 (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...