Algo Ichimoku TKC

Algo Ichimoku TKC

Messagepar oliver87 » 11 Oct 2020, 14:24

Bonjour a tous,

Etant informaticien de formation, j'ai écris ce petit algo qui donne de bonne performance mais trop de faux signaux. Sur le DAX en UT 5M
Condition d'entrée en position pour un achat - et inversement pour une vente :
1/ Croisement de la Tenkan et Kijun a la hausse
2/ Dans les 4 bougies suivants le croisement, il faut que les prix clôture au dessus du nuage.

J' ai rajoute des filtres sur le RSI et un money managment pour ne pas dépasser un certain montant par trade

Le SL est place sur la borne oppose du nuage
Le TP est pris des que la Tenkan croise la Kijun dans le sens inverse

Résultat des courses, belle courbe de gain mais bcp de faux signaux.
J'ai pas mal d'expérience dans la programmation donc si vous avez une idée comment filtrer mieux, dites le moi je le coderai (même si le filtre vous parait compliquer).

Remarque importante : dans l'optique ou nous arrivons ensemble a faire un algo rentable, merci de ne pas le diffuser ni le vendre...

Voici le code, et le backtest en PJ :

WhatsApp Image 2020-10-11 at 12.16.50.jpeg


// Conditions pour ouvrir une position acheteuse// Définition des paramètres du code
DEFPARAM CumulateOrders = false // Cumul des positions désactivé
DEFPARAM Preloadbars = 1000

REINV = 0
LEVIER = 1

IF REINV = 0 THEN
n = levier
ELSIF REINV = 1 THEN
capital = 1500 + strategyprofit
n = (capital / 1500)*levier
IF n < 1 THEN
n=1
ENDIF
//n = round(n)
ENDIF
// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiée
noEntryBeforeTime = 080000
timeEnterBefore = time >= noEntryBeforeTime
// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiée
noEntryAfterTime = 200000
timeEnterAfter = time < noEntryAfterTime

// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés

daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0

LongOK = 1
ShortOK = 1

//CALCUL ISHIMOKU 5M
Tenkansen = (highest[9](high)+lowest[9](low))/2
Kijunsen = (highest[26](high)+lowest[26](low))/2
SSpanA = (Tenkansen[26]+Kijunsen[26])/2
SSpanB = (highest[52](high[26])+lowest[52](low[26]))/2

signalAchat = Tenkansen crosses over Kijunsen
annulationSignalAchat = Tenkansen crosses under Kijunsen

signalVente = Tenkansen crosses under Kijunsen
annulationSignalVente = Tenkansen crosses over Kijunsen

//stockage du numero de la bougie qui porte le signal d'achat
if (signalAchat) and (buyBarNumber = 0) then
buyBarNumber = barindex
endif

//stockage du numero de la bougie qui porte le signal de vente
if (signalVente) and (sellBarNumber = 0) then
sellBarNumber = barindex
endif

//invalidation du signal après la 4eme bougie
if((barindex - buyBarNumber)>=4) OR annulationSignalAchat then
buyBarNumber = 0
endif

//invalidation du signal après la 4eme bougie
if((barindex - sellBarNumber)>=4) OR annulationSignalVente then
sellBarNumber = 0
endif

StoplossAchat = close - SSpanB
StoplossVente = SSpanA - close

ca1 = close > SSpanA ANd SSpanA >SSpanB AND RSI[14] < 70
ca2 = abs(StoplossAchat) < 90 AND abs(StoplossAchat) > 20
cv1 = close < SSpanA ANd SSpanA <SSpanB AND RSI[14] < 41
cv2 = abs(StoplossVente) < 60 AND abs(StoplossVente) > 20
//********************
//GESTION ACHAT
//********************
if(not onmarket and buyBarNumber <> 0 and timeEnterBefore and timeEnterAfter and not daysForbiddenEntry and ca1 and ca2 and longok) then
buy n contracts at market
set stop ploss StoplossAchat
endif

beLongLevel = 60
beStopLevelLong = 1

IF LONGONMARKET THEN
IF newSL=0 AND close-tradeprice(1)>=beLongLevel*pipsize THEN
newSL = tradeprice(1)+beStopLevelLong*pipsize
ENDIF
ENDIF
IF NOT ONMARKET THEN
newSL=0
ENDIF
IF newSL>0 THEN
SELL AT newSL STOP
ENDIF

//********************
//GESTION Vente
//********************
if(not onmarket and sellBarNumber <> 0 and timeEnterBefore and timeEnterAfter and not daysForbiddenEntry and cv1 and cv2 and shortok) then
sellshort n contracts at market
set stop ploss StoplossVente
endif

beShortLevel = 60
beStopLevelShort = 1

IF SHORTONMARKET THEN
IF newSL=0 AND tradeprice(1)-close>=beShortLevel*pipsize THEN
newSL = tradeprice(1)-beStopLevelShort*pipsize
ENDIF
ENDIF
IF NOT ONMARKET THEN
newSL=0
ENDIF
IF newSL>0 THEN
EXITSHORT AT newSL STOP
ENDIF

IF ONMARKET THEN
IF annulationSignalAchat THEN
sell at market
ENDIF
IF annulationSignalVente THEN
exitshort at market
ENDIF
IF dayofweek = 5 AND time >= 225900 THEN
exitshort at market
sell at market
ENDIF
ENDIF

Attention, ce code n'est en aucun cas à utiliser sur un compte réel. Maiqq uniquement sur un compte demo !!!!!
Dernière édition par oliver87 le 13 Oct 2020, 02:36, édité 1 fois.
oliver87
2
2
 
Messages: 27
Inscription: 06 Oct 2020, 12:27

Re: Algo Ichimoku TKC

Messagepar DonTony » 11 Oct 2020, 19:02

Bonjour Olivier,

Un grand bravo pour ce codage, car pas facile coder quelque-chose avec Ichimoku qui fonctionne avec un seul timeframe!
Plusieurs codeurs ont essayer avec des résultats plus ou moins satisfaisant.

En tout cas, pour un premier jet de codage, je trouve ça franchement très bien!
Je vois de prime abord qu'il n'y a pas de mise a BE sur la stratégie.
Il faudrait tester cela avec une mise à BE selon un pourcentage(du style, si la position est gagnant de 1% = mise à BE) ou en nombre de points par exemple(quand le trade a atteint 50points de gain, le SL passe à BE) mais cela modifiera les résultats a coup sûr; et certaines positions qui sur le premier jet étaient gagnantes seront sortit à BE.

En tout cas, voilà ce qui peut être une première idée de modification de cette stratégie premier "jet" dans le but d'améliorer le %age de trade gagnant surtout.

Je ne sais pas ce que tu en penses?
TWITTER: @DonTonyDaSilva1
Avatar de l’utilisateur
DonTony
7
7
 
Messages: 1714
Inscription: 24 Oct 2019, 15:14
Localisation: Saône & Loire/Bourgogne

Re: Algo Ichimoku TKC

Messagepar oliver87 » 11 Oct 2020, 19:45

Merci pour ton retour.

Je vais essayer avec le BE, je ne me souviens plus si j'avais essayé avec de base ou non. Je posterai le backtest

Pour ce qui est des multi timeframe je peux le coder, quelles seraient les analyses à faire selon toi sur les UT supérieurs pour améliorer ?

Merci encore
oliver87
2
2
 
Messages: 27
Inscription: 06 Oct 2020, 12:27

Re: Algo Ichimoku TKC

Messagepar DonTony » 11 Oct 2020, 20:10

Re Olivier,

Peut être une idée comme une autre mais pourquoi pas utilisé le m15 et m30.
Cela limitera les achats et les faux signaux je pense.

Je vois que tu t'interresse au trading en tendance donc pourquoi pas

1/croisement de le Tenkan et Kijun à la hausse
2/Dans les 4 bougies suivants le croisement, il faut que les prix clôture au dessus du nuage.
3/En m15, il faut que les prix soient au dessus du nuage et tenkan et kijun avec tenkan au dessus de kijun
4/en m30, idem m15.

POur un trade à l'achat par exemple.

Véritablement, tu me diras après avoir backtester mais je pense que cela peut éviter "des faux départs".

Après, si cela ne va pas, tu peux toujours ajouter un filtre de tendance du style, il faut que RSI 21 soit au dessus de 50 pour un achat. Ou alors, que STO14*3*3 soit sortit de survente.
Les filtres et éléments pouvant améliorer la stratégie sont nombreux, mais en tout cas ce dont je suis sûr, c'est que tu as là, une bonne base de travail!!
TWITTER: @DonTonyDaSilva1
Avatar de l’utilisateur
DonTony
7
7
 
Messages: 1714
Inscription: 24 Oct 2019, 15:14
Localisation: Saône & Loire/Bourgogne

Re: Algo Ichimoku TKC

Messagepar oliver87 » 11 Oct 2020, 23:27

Bonsoir DonTony,

Voici après rajout de tes remarques, je n'ai pas fini mais cela se profile plutôt bien, moins de gain brut mais ratio plus qu'honorable

J'essaie de finir cela demain

TKC2.JPG
oliver87
2
2
 
Messages: 27
Inscription: 06 Oct 2020, 12:27

Re: Algo Ichimoku TKC

Messagepar oliver87 » 11 Oct 2020, 23:29

Je n'ai pas précisé mais le backtest prend évidemment en compte un spread : 1.3 point sur le DAX CFD IG Market
oliver87
2
2
 
Messages: 27
Inscription: 06 Oct 2020, 12:27

Re: Algo Ichimoku TKC

Messagepar DonTony » 12 Oct 2020, 17:13

Bonjour Olivier,

Bon boulot que tu fais là.

Oui, du point de vue de la perf', c'est beaucoup mieux.
Je pense qu'il est possible de l'améliorer encore.

Qu'as tu mis dedans du coup?
Juste la mise à BE ou le MT également?
Peut être le momentum avec un RSI 21?

Tiens moi au courant si tu le veux bien.
Tous ensemble, on va bien réussir à en faire quelque-cjose de cette algo!!
:D ;)
TWITTER: @DonTonyDaSilva1
Avatar de l’utilisateur
DonTony
7
7
 
Messages: 1714
Inscription: 24 Oct 2019, 15:14
Localisation: Saône & Loire/Bourgogne

Re: Algo Ichimoku TKC

Messagepar oliver87 » 12 Oct 2020, 17:31

Bonjour DonTony,

Oui j'ai rajouté le multi timeframe 15 +30 M et aussi le BE,
J'ai rajouté le RSI 14 au lieu de 21, je vais voir s'il y a une différence

Je poste tout ca ce soir
oliver87
2
2
 
Messages: 27
Inscription: 06 Oct 2020, 12:27

Re: Algo Ichimoku TKC

Messagepar DonTony » 12 Oct 2020, 18:31

Superbe Olivier!

Tiens moi au courant alors!
J'ai hate de voir ça!

Tu as rajouté une condition de RSI 14>50 sur m15 et m30 c'est bien ça?

Superbe, et à ce soir!
TWITTER: @DonTonyDaSilva1
Avatar de l’utilisateur
DonTony
7
7
 
Messages: 1714
Inscription: 24 Oct 2019, 15:14
Localisation: Saône & Loire/Bourgogne

Re: Algo Ichimoku TKC

Messagepar DonTony » 12 Oct 2020, 18:35

A autre chose...

Que pense tu de rajouter une condition de volatilité? Ou plutôt d'écart type?

Ainsi, tu pourrais être sûr que l'algo ne prenne que "la viande" du mouvement.
Si tu es OK, je peux regarder sous quelles conditions cela est applicable si tu veux...
TWITTER: @DonTonyDaSilva1
Avatar de l’utilisateur
DonTony
7
7
 
Messages: 1714
Inscription: 24 Oct 2019, 15:14
Localisation: Saône & Loire/Bourgogne

Suivante

Retourner vers Vos techniques ichimoku

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron