This is a Multiday Strategy on DAX cfd of Ig Market- Time Frame 1 Hour
Signals are taken from QQE indicator and Universal indicator participates as filter.
The Seasonal optimization is Reiner’s Idea, that work well which we know.
The position are followed by a trailing stop.
Test result are made with DAX 1 € mini Spread 2
Time Frame 1 Hour
Since 26.04.2006 to 01.11.2016
The strategy needs also 3 technical indicators that are also attached at the bottom of the post. These technical indicators are original ones found on the site and modified for the strategy.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = FALSE // Posizioni cumulate disattivate
// define position and money management parameter
ONCE positionSize = 1
// define saisonal position multiplier >0 - long
ONCE Januaryl = 1
ONCE Februaryl = 1
ONCE Marchl = 2
ONCE Aprill = 1
ONCE Mayl = 1
ONCE Junel = 3
ONCE Julyl = 2
ONCE Augustl = 1
ONCE Septemberl = 1
ONCE Octoberl = 3
ONCE Novemberl =2
ONCE Decemberl = 2
// saisonal pattern long position
IF CurrentMonth = 1 THEN
saisonalPatternMultiplierl = Januaryl
ELSIF CurrentMonth = 2 THEN
saisonalPatternMultiplierl = Februaryl
ELSIF CurrentMonth = 3 THEN
saisonalPatternMultiplierl = Marchl
ELSIF CurrentMonth = 4 THEN
saisonalPatternMultiplierl = Aprill
ELSIF CurrentMonth = 5 THEN
saisonalPatternMultiplierl = Mayl
ELSIF CurrentMonth = 6 THEN
saisonalPatternMultiplierl = Junel
ELSIF CurrentMonth = 7 THEN
saisonalPatternMultiplierl = Julyl
ELSIF CurrentMonth = 8 THEN
saisonalPatternMultiplierl = Augustl
ELSIF CurrentMonth = 9 THEN
saisonalPatternMultiplierl = Septemberl
ELSIF CurrentMonth = 10 THEN
saisonalPatternMultiplierl = Octoberl
ELSIF CurrentMonth = 11 THEN
saisonalPatternMultiplierl = Novemberl
ELSIF CurrentMonth = 12 THEN
saisonalPatternMultiplierl = Decemberl
ENDIF
// define saisonal position multiplier >0 short
ONCE Januarys = 2
ONCE Februarys = 1
ONCE Marchs = 1
ONCE Aprils = 1
ONCE Mays = 3
ONCE Junes = 2
ONCE Julys = 1
ONCE Augusts = 1
ONCE Septembers = 3
ONCE Octobers = 1
ONCE Novembers = 1
ONCE Decembers = 1
// saisonal pattern short position
IF CurrentMonth = 1 THEN
saisonalPatternMultipliers = Januarys
ELSIF CurrentMonth = 2 THEN
saisonalPatternMultipliers = Februarys
ELSIF CurrentMonth = 3 THEN
saisonalPatternMultipliers = Marchs
ELSIF CurrentMonth = 4 THEN
saisonalPatternMultipliers = Aprils
ELSIF CurrentMonth = 5 THEN
saisonalPatternMultipliers = Mays
ELSIF CurrentMonth = 6 THEN
saisonalPatternMultipliers = Junes
ELSIF CurrentMonth = 7 THEN
saisonalPatternMultipliers = Julys
ELSIF CurrentMonth = 8 THEN
saisonalPatternMultipliers = Augusts
ELSIF CurrentMonth = 9 THEN
saisonalPatternMultipliers = Septembers
ELSIF CurrentMonth = 10 THEN
saisonalPatternMultipliers = Octobers
ELSIF CurrentMonth = 11 THEN
saisonalPatternMultipliers = Novembers
ELSIF CurrentMonth = 12 THEN
saisonalPatternMultipliers = Decembers
ENDIF
// Condizioni per entrare su posizioni long
ignored, indicator1, ignored = CALL "QQE_QUDAX1HBUY"
ignored, indicator3, ignored = CALL "QQE_QUDAX1HSELL"
indicator2, ignored = CALL "UNIV_QUDAX1H_LOW"
c1 = (indicator1 CROSSES OVER 50)
c2 = (indicator2 <= 0)
c3=(indicator1>68)
c4=(indicator1<34)
// Condizioni per entrare su posizioni short
c5 = (indicator3 CROSSES UNDER 50)
c6 = (indicator2 >= 0)
C7 = (indicator3<35)
C8=(indicator3>56)
IF c1 AND c2 THEN
IF saisonalPatternMultiplierl > 0 THEN // check saisonal booster setup and max position size
BUY positionSize * saisonalPatternMultiplierl CONTRACT AT MARKET
ENDIF
ENDIF
IF C3 OR C4 THEN
SELL AT MARKET
ELSIF c5 AND c6 THEN
IF saisonalPatternMultipliers > 0 THEN // check saisonal booster setup and max position size
SELLSHORT positionSize * saisonalPatternMultipliers CONTRACT AT MARKET
ENDIF
ENDIF
IF C7 OR C8 THEN
EXITSHORT AT MARKET
ENDIF
// TRAILING STOP LOGIK
TGL =131
TGS= 100
if not onmarket then
MAXPRICE = 0
MINPRICE = close
PREZZOUSCITA = 0
ENDIF
if longonmarket then
MAXPRICE = MAX(MAXPRICE,close)
if MAXPRICE-tradeprice(1)>=TGL*pointsize then
PREZZOUSCITA = MAXPRICE-TGL*pointsize
ENDIF
ENDIF
if shortonmarket then
MINPRICE = MIN(MINPRICE,close)
if tradeprice(1)-MINPRICE>=TGS*pointsize then
PREZZOUSCITA = MINPRICE+TGS*pointsize
ENDIF
ENDIF
if onmarket and PREZZOUSCITA>0 then
EXITSHORT AT PREZZOUSCITA STOP
SELL AT PREZZOUSCITA STOP
ENDIF
ONCE maxCandlesShortWithoutProfit =68// limit short loss latest after 85 candles
// stop and profit management
posProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsize
ms = posProfit < 0 AND (BarIndex - TradeIndex) >= maxCandlesShortWithoutProfit
IF SHORTONMARKET AND ms THEN
EXITSHORT AT MARKET
ENDIF
set stop Ploss 500
set target Pprofit 500