Bonjour,
merci. je vais donc retested mon code. Au cas où je détecterai – selon moi – une anomalie, j’en ferai un print écran.
Bon week end.
Je reviens donc sur ce sujet.
pour me résumer, le programme créé a pour but de prendre position à l’achat sur une UT 15 minutes sous condition que la KAMA 50 soit au dessus de la KAMA 200 sur l’UT 1 heure. or, comme le montre le print écran joint, des positions à l’achat ont été prises sur la journée du 12 juin en 15 minutes alors qu’en UT 1 heure, la kama50 était au dessous de la kama200.
Je ne comprends pas d’où vient le problème.
Rebonjour,
prenons ce cas : une position longue est prise le 13 juin sur l’ut 15 minutes alors qu’en UT 1 heure la kama50 est au dessous de la kama200 (et alors que le programme de code spécifie d’entrer long que si la kama50 est au dessus de la kama200).
je ne vois pas où je me trompe.
merci pour votre aide.
Voir mon graphique, aucune position vendeuse, car les KAMA renvoyés par le code (avec GRAPHONPRICE) ne sont pas vendeuses.
Ajoute ces éléments à la fin de ton code pour visualiser les véritables valeurs retournées (du timeframe 1 heure) par la stratégie :
GRAPHonprice indicator11 coloured(200,200,0)
graphonprice indicator21 coloured(0,0,255)
GRAPH indicator114
GRAPH indicator214
Il faut s’assurer de bien avoir activer les données du week-end également, cela pouvant créer des différences.
Sur tes copies d’écran, je vois 1000 unités affichées, le graph ne retourne pas de KAMA 200 1-heure avec si peu d’unités, vérifie en augmentant cette quantité.
Bonsoir,
attention car le programme DM cross moyenne concerne la prise de positions longues. Et le problème est pourquoi le système prend une position le 13 juin alors qu’en UT 1 heure la kama50 est au dessous de la kama200?
Merci.
Je n’ai pas de position longue le 13/06/2019 sur EURCAD mini, TF 15min. Voir l’image que j’ai partagé dans mon dernier message. C’est pourquoi je demande à vérifier les horaires et les données du week-end de ton graphique, merci.
bonsoir,
sur mon image jointe, une position longue est prise alors que sur l’UT 1 heure, la kama50 est au-dessous de la kama200.
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
timeframe(1 hour,updateonclose)
// Conditions pour ouvrir une position en vente à découvert : la kama50 doit être au dessous de la KAMA200 sur au moins 4 périodes consécutives
indicator11 = CALL "KAMA 50"[50, 2, 30]
indicator21 = CALL "Kaufman Adaptative MA"[200, 2, 30]
filtrekamaup = indicator11 > indicator21
ignored, ignored, ignored, ignored, indicator114, indicator214, ignored = CALL "MACD 1 heure"
filtremacdup = (indicator114 > indicator214)
indicator25, ignored, indicator15, ignored, ignored, ignored = CALL MyRVI(close)
c15 = (indicator15 > indicator25)
indicator35, indicator45, ignored, ignored, ignored, ignored = CALL MyRVI(close)
c25 = (indicator35 > indicator45)
filtrerviup = c15 and c25
timeframe (default)
// Conditions pour ouvrir une position en vente à découvert
indicator2, ignored, ignored, indicator3 = CALL "DM 15 minutes"[5, -5]
c2 = (indicator2 CROSSES OVER indicator3)
ignored, ignored, ignored, ignored, indicator13, indicator23, ignored = CALL "MACD 15 minutes"
C4 = (indicator13 > indicator23)
indicator111 = CALL "KAMA 50"[50, 2, 30]
indicator211 = CALL "Kaufman Adaptative MA"[200, 2, 30]
c3 = (indicator111 > indicator211)
IF Filtrekamaup and filtremacdup and filtrerviup and c2 and c3 and c4 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 45
// Condtions pour sortie avec plus-value
limit10 = 10*pipsize
limit15 = 15*pipsize
limit20 = 20*pipsize
limit35 = 35*pipsize
limit50 = 50*pipsize
limit80 = 80*pipsize
limit100 = 100*pipsize
if (close[1] - tradeprice > limit10) and (close - tradeprice < limit10) then
sell at market
endif
if (close[1] - tradeprice > limit20) and (close - tradeprice < limit15) then
sell at market
endif
if (close[1] - tradeprice > limit50) and (close - tradeprice < limit35) then
sell at market
endif
if (close[1] - tradeprice > limit100) and (close - tradeprice < limit80) then
sell at market
endif
ne pas lire les commentaires dans le code mais juste les lignes. en UT 1 heure, on a ces 3 lignes ci-dessous :
indicator11 = CALL “KAMA 50”[50, 2, 30]
indicator21 = CALL “Kaufman Adaptative MA”[200, 2, 30]
filtrekamaup = indicator11 > indicator21
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
timeframe(1 hour,updateonclose)
// Conditions pour ouvrir une position longue : la kama50 doit être au dessus de la KAMA200
indicator11 = CALL "KAMA 50"[50, 2, 30]
indicator21 = CALL "Kaufman Adaptative MA"[200, 2, 30]
filtrekamaup = indicator11 > indicator21
ignored, ignored, ignored, ignored, indicator114, indicator214, ignored = CALL "MACD 1 heure"
filtremacdup = (indicator114 > indicator214)
indicator25, ignored, indicator15, ignored, ignored, ignored = CALL MyRVI(close)
c15 = (indicator15 > indicator25)
indicator35, indicator45, ignored, ignored, ignored, ignored = CALL MyRVI(close)
c25 = (indicator35 > indicator45)
filtrerviup = c15 and c25
timeframe (default)
// Conditions pour ouvrir une position longue
indicator2, ignored, ignored, indicator3 = CALL "DM 15 minutes"[5, -5]
c2 = (indicator2 CROSSES OVER indicator3)
ignored, ignored, ignored, ignored, indicator13, indicator23, ignored = CALL "MACD 15 minutes"
C4 = (indicator13 > indicator23)
indicator111 = CALL "KAMA 50"[50, 2, 30]
indicator211 = CALL "Kaufman Adaptative MA"[200, 2, 30]
c3 = (indicator111 > indicator211)
IF Filtrekamaup and filtremacdup and filtrerviup and c2 and c3 and c4 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 45
// Condtions pour sortie avec plus-value
limit10 = 10*pipsize
limit15 = 15*pipsize
limit20 = 20*pipsize
limit35 = 35*pipsize
limit50 = 50*pipsize
limit80 = 80*pipsize
limit100 = 100*pipsize
if (close[1] - tradeprice > limit10) and (close - tradeprice < limit10) then
sell at market
endif
if (close[1] - tradeprice > limit20) and (close - tradeprice < limit15) then
sell at market
endif
if (close[1] - tradeprice > limit50) and (close - tradeprice < limit35) then
sell at market
endif
if (close[1] - tradeprice > limit100) and (close - tradeprice < limit80) then
sell at market
endif
autre exemple ci-avant cette fois sur l’au / cad. Un long pris alors que sur l’UT 1 heure la kama50 est au dessous de la kama200.
Je connais ton problème et pourquoi tu as ouvert le sujet. Hors tu refuses de répondre à mes questions, on avance pas, et on perd tous les deux notre temps !! 🙂
- Vérifier les horaires de trading personnalisés et afficher les données du week-end, SVP ! Ensuite on pourra revérifier le problème.
- ajouter les lignes de GRAPH de l’un de mes derniers messages pour que tu puisses visualiser si les KAMA retournés par ProBacktest sont bien les mêmes.
Comme je l’ai expliqué, je n’ai pas l’erreur de mon côté, les conditions étant bien respectées dans mes tests, il doit y avoir autre chose, que je ne peux vérifier sans que tu m’aides un petit peu 😉
Bonsoir,
comment vérifier le premier point SVP ? Le deuxième point (lignes de GRAPH) j’ai compris.
- Vérifier les horaires de trading personnalisés et afficher les données du week-end, SVP !
merci d’avance.
Bonsoir,
quelqu’un peut me dire comment afficher les données week end afin que je puisse avancer dans la résolution de mon problème?
merci.
Clic droit sur le graphique du prix et c’est le dernier choix en bas du menu qui va s’ouvrir.