Simple trading strategy also made with the help of the signals given by the super smoother filter indicator, this time in intraday, on 15 minutes timeframe. Previous strategy made with this indicator is located here: http://www.prorealcode.com/prorealtime-trading-strategies/bund-cfd-strategy-4/
Test were made with mini CFD contracts, 1 point spread.
The strategy trade long and short positions, but long positions are much more triggered.
// THIS SIMPLE STRATEGY CATCH PROFIT BY UNIVERSAL INDICATOR
// IG MARKET GERMANY CASH 1 EUR MINI - SPREAD 1 - 15 M
DEFPARAM CumulateOrders = FALSE
DEFPARAM FlatBefore = 080000
DEFPARAM FlatAfter = 212900
if (time >=080000 and time < 110000) or (time >= 134500 and time <181400) then
indicator1, ignored = CALL "BLUSTER DAX"
c1 = (indicator1 >= 1)
IF c1 AND CurrentDayOfWeek <> 1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
indicator2, ignored = CALL "BLUSTER DAX"
c2 = (indicator2 <= -1)
IF c2 THEN
SELL AT MARKET
ENDIF
indicator3, ignored = CALL "BLUSTER DAX"
c3 = (indicator3 <= -1)
IF c3 AND CurrentDayOfWeek <> 1 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
indicator4, ignored = CALL "BLUSTER DAX"
c4 = (indicator4 >= 1)
IF c4 THEN
EXITSHORT AT MARKET
ENDIF
// TRAILING STOP LOGIK BY KENNETH KVISTAD MODIFIED FOR LONG AND SHORT POSITION
TGL =47
TGS= 41
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
SET STOP PLOSS 70
SET TARGET PPROFIT 87
ENDIF
// REGARDS ALE
Indicator needed to run the strategy : (“BLUSTER DAX”)
//-------------------------------------------------------------------------
// UNIVERSAL CODE POSTED BY NICOLAS
// SET TO RUN BLUSTER DAX STRATEGY
//-------------------------------------------------------------------------
bandedge=40
whitenoise= (Close - Close[1])
if barindex>bandedge then
// super smoother filter
a1= Exp(-1.414 * 3.14159 / bandedge)
b1= 2*a1 * Cos(1.414*180 /bandedge)
c2= b1
c3= -a1 * a1
c1= 1 - c2 - c3
filt= c1 * (whitenoise + whitenoise[1])/2+ c2*filt[1] + c3*filt[1]
filt1 = filt
if ABS(filt1)>pk[1] then
pk = ABS(filt1)
else
pk = 0.99* pk[1]
endif
if pk=0 then
denom = -1
else
denom = pk
endif
if denom = -1 then
result = result[1]
else
result = filt1/pk
endif
endif
RETURN result COLOURED(66,66,255) as "PRICE ACTION", 0 as "0"
You must be logged in to post a comment.
Ciao Enzo,
No purtroppo c'è una grossa differenza, i CFD hanno delle quotazioni specifiche, è per questo motivo che nelle strategie pubblicate che trovi su questo sito, è indicato il codice dell'asset.
DAX tf cos'è?
PS: Scrivi in inglese cosi tutti possono comprendere domanda e risposta, grazie
CIAO aLE, GRAZIE PER AVER CONDIVISO, VOLEVO SAPERE COME MAI NON MI TROVO CON I RISULTATI CHE SONO NELL IMMAGINE , IO MI TROVO UN 27% DI GAIN DALL 8 OTT 2014 AL 7 NOV 2016, dAX tf 15 MIN 1 P SPREAD (ANCHE SE NON è CFD ,NON CREDO CI SIA TUTTA QUESTA DIFFERENZA CON IL 295% CHE VEDO NELLA FOTO)
GRAZIE
Il bello è che la piattaforma non mi fa richiamare i file. T3 è molto diversa da prorealtime, anche se sembrano la stessa cosa. La versione di T3 sta molto indietro a quanto pare.
Quello che ti chiedevo è il volume profile, molto diverso dal market profile. Infatti il volume profile calcola su quali livelli sono concentrati i maggiori volumi a differenza del market che calcola quali sono i livelli più scambiati.
Grazie ;)
Ciao Ale, si ho provato più volte ma niente. E' chiaro che ho inserito l'indicatore da te creato già nella lista degli indicatori. Però proprio il codice mi da problemi.
Visto che tu con i codici sei un drago, per caso sai se esiste qualcosa sul volume profile da far girare sulla piattaforma T3?
Davvero grazie Ale per le risposte.
Allora il primo errore me lo da su cumulate orders
Errore di sintassiLinea3, Colonna10
Una delle espressioni seguenti sarebbe più appropriata di"CumulateOrders":
","
"="
Se metto "=" mi fa andare avanti e mi porta altro errore:
if MAXPRICE-tradeprice(1)>=TGL*pointsize then (l'errore che mi riporta è Errore di sintassiLinea46, Colonna26
Una delle espressioni seguenti sarebbe più appropriata di"(":
"["
"="
"+"
"-"
"*"
"/"
"mod"
"<"
">"
"<>"
"or"
"and"
"xor"
"then"
Thanks for this strategy ALE. good job.
Hallo Ale, First of all, thank you for this strategy. Could you explain what the BLUSTER DAX indicator is doing, what it is meant to do ? I tested this strategy on the 15 min DAX, it gave me only whipsaw results, to almost zero profit, so I vary with the timeframes: 2-hour bars works with me. I used a pip spread of 1.7 and did not use the trailing stop loss you use (does it work, not with me). See the code of your strategy I have used, included the indicator below. It seems to work quite well with me for the 2 hours bars, however not that much result, but quite stable results, OOS results bit too good IS 66% 8 jan 2014 -16 nov 2016 920 Euro OOS 34% 17 nov - 10 may 2018 1.033 Euro 193 trades 55% winning, and ONLY 5;35 % IN THE MARKET with a position, during the day, which gives a very comfortable risk profile ! Appendix: your strategy as I tested it in PRT //================================================================================= // THIS SIMPLE STRATEGY CATCH PROFIT BY UNIVERSAL INDICATOR // IG MARKET GERMANY CASH 1 EUR MINI - SPREAD 1,7 - 15 Min DEFPARAM CumulateOrders = FALSE DEFPARAM FlatBefore = 080000 DEFPARAM FlatAfter = 212900 //DEFPARAM PRELOADBARS = 500 default is 200, is sufficient to let it work //=========================================== //------------------------------------------------------------------------- // UNIVERSAL CODE POSTED BY NICOLAS // SET TO RUN BLUSTER DAX STRATEGY //------------------------------------------------------------------------- bandedge= 40 //default is 40, optimise with variable does not work ? whitenoise= (Close - Close[1]) if barindex>bandedge then //is this condition needed, as barindex is always > 40 ? // super smoother filter a1= Exp(-1.414 * 3.14159 / bandedge) b1= 2*a1 * Cos(1.414*180 /bandedge) c2= b1 c3= -a1 * a1 c1= 1 - c2 - c3 filt= c1 * (whitenoise + whitenoise[1])/2+ c2*filt[1] + c3*filt[1] filt1 = filt if ABS(filt1)>pk[1] then pk = ABS(filt1) else pk = 0.99* pk[1] endif if pk=0 then denom = -1 else denom = pk endif if denom = -1 then result = result[1] else result = filt1/pk endif endif //Graph result COLOURED(66,66,255) as "PRICE ACTION", 0 as "0" //============================================================= N = 1 If (time >=080000 and time = 134500 and time =1 AND CurrentDayOfWeek 1 THEN BUY N CONTRACT AT MARKET // will also close short position ENDIF IF result <= -1 AND CurrentDayOfWeek 1 THEN SELLSHORT N CONTRACT AT MARKET // will also close long position ENDIF SET STOP PLOSS 70 SET TARGET PPROFIT 87 ENDIF // REGARDS ALE