MPLParticipant
Average
Bonjour à tous,
Quelqu’un d’entre vous a-t-il déjà rencontré l’erreur “probacktest.error.parsing” retournée par probacktest? Savez-vous ce que cette erreur peut-elle signifier?
Merci beaucoup,
Mikaël
Quelques éléments de contexte :
- Il semble que l’erreur soit liée à un indicateur appelé dans le système de trading (puisque plus d’erreur quand je supprime cet appel).
- Cet indicateur utilise du multi timeframe mais à priori “cohérent” avec le système de trading (au sens ou les timeframes par défaut de l’indicateur et du SdT sont les mêmes)
- Par ailleurs cette indicateur fonctionne correctement quand je l’utilise sur ma plateforme
Je suppose que c’est en v11, puisque tu utilises un indicateur MTF ? Ce message d’erreur n’est pas commenté car il doit être nouveau ou pas encore documenté dans la langue de ta plateforme. Malheureusement, si je ne peux pas le reproduire, ça va être difficile de le faire corriger si personne d’autre ne se manifeste. Bref, si tu peux juste partager le code de l’indicateur, on devrait pouvoir trouver la cause exacte, merci.
MPLParticipant
Average
Bonjour Nicolas,
- Merci beaucoup pour ta réponse
- Oui c’est en v11 (v11.1 – 1.8.0_202)
- Code de l’indicateur ci-dessous
- Merci encore
// TendanceUT=0 Pas de tendance (prix dans le nuage)
// TendanceUT=1 Tendance HAUSSIÈRE NON VALIDÉE par la Chikou (Chikou au dessus du nuage)
// TendanceUT=2 Tendance HAUSSIÈRE VALIDÉE par la Chikou (Chikou au dessus du nuage)
// TendanceUT=3 Tendance HAUSSIÈRE VALIDÉE + Chikou libre
// Même logique en tendance baissière -1 ; -2 ; -3
// =========================================================================================================
// ANALYSE TENDANCE M15, M5 et M1
TIMEFRAME(15minutes)
// M15 ========================================
kijunM15=KijunSen[9,26,52]
tenkanM15=TenkanSen[9,26,52]
ssaM15=SenkouSpanA[9,26,52]
ssbM15=SenkouSpanB[9,26,52]
TendanceM15=0
IF close>ssaM15 AND close>ssbM15 AND close[1]>ssaM15[1] AND close[1]>ssbM15[1] THEN
IF close<=ssaM15[26] OR close<=ssbM15[26] THEN
TendanceM15=1
ENDIF
IF close>ssaM15[26] AND close>ssbM15[26] THEN
TendanceM15=2
ENDIF
IF TendanceM15=2 AND close>kijunM15[26] AND close>tenkanM15[26] AND close>open[26] AND close>close[26] THEN
TendanceM15=3
ENDIF
ENDIF
IF close<ssaM15 AND close<ssbM15 AND close[1]<ssaM15[1] AND close[1]<ssbM15[1] THEN
IF close>=ssaM15[26] OR close>=ssbM15[26] THEN
TendanceM15=-1
ENDIF
IF close<ssaM15[26] AND close<ssbM15[26] THEN
TendanceM15=-2
ENDIF
IF TendanceM15=-2 AND close<kijunM15[26] AND close<tenkanM15[26] AND close<open[26] AND close<close[26] THEN
TendanceM15=-3
ENDIF
ENDIF
TIMEFRAME(5minutes)
// M5 ========================================
kijunM5=KijunSen[9,26,52]
tenkanM5=TenkanSen[9,26,52]
ssaM5=SenkouSpanA[9,26,52]
ssbM5=SenkouSpanB[9,26,52]
TendanceM5=0
IF close>ssaM5 AND close>ssbM5 THEN
IF close<=ssaM5[26] OR close<=ssbM5[26] THEN
TendanceM5=1
ENDIF
IF close>ssaM5[26] AND close>ssbM5[26] THEN
TendanceM5=2
ENDIF
IF TendanceM5=2 AND close>kijunM5[26] AND close>tenkanM5[26] AND close>open[26] AND close>close[26] THEN
TendanceM5=3
ENDIF
ENDIF
IF close<ssaM5 AND close<ssbM5 THEN
IF close>=ssaM5[26] OR close>=ssbM5[26] THEN
TendanceM5=-1
ENDIF
IF close<ssaM5[26] AND close<ssbM5[26] THEN
TendanceM5=-2
ENDIF
IF TendanceM5=-2 AND close<kijunM5[26] AND close<tenkanM5[26] AND close<open[26] AND close<close[26] THEN
TendanceM5=-3
ENDIF
ENDIF
TIMEFRAME(default)
// M1 ========================================
kijunM1=KijunSen[9,26,52]
tenkanM1=TenkanSen[9,26,52]
ssaM1=SenkouSpanA[9,26,52]
ssbM1=SenkouSpanB[9,26,52]
TendanceM1=0
IF close>ssaM1 AND close>ssbM1 THEN
IF close<=ssaM1[26] OR close<=ssbM1[26] THEN
TendanceM1=1
ENDIF
IF close>ssaM1[26] AND close>ssbM1[26] THEN
TendanceM1=2
ENDIF
IF TendanceM1=2 AND close>kijunM1[26] AND close>tenkanM1[26] AND close>open[26] AND close>close[26] THEN
TendanceM1=3
ENDIF
ENDIF
IF close<ssaM1 AND close<ssbM1 THEN
IF close>=ssaM1[26] OR close>=ssbM1[26] THEN
TendanceM1=-1
ENDIF
IF close<ssaM1[26] AND close<ssbM1[26] THEN
TendanceM1=-2
ENDIF
IF TendanceM1=-2 AND close<kijunM1[26] AND close<tenkanM1[26] AND close<open[26] AND close<close[26] THEN
TendanceM1=-3
ENDIF
ENDIF
// =========================================================================================================
// ANALYSE DE CONVERGENCE DES 3 UT
// >=0 , >=2, >=2 OU >=2, >=0, >=2 => 1 2 UT convergentes
// >=2, >=2, >=2 => 2 3 UT convergentes
// 3, 3, 3 => 3 3 UT convergentes avec Chikou libres
ConvergenceUT=0
// Tendances haussières (1, 2 ou 3)
IF (TendanceM15>=0 AND TendanceM5>=2 AND TendanceM1>=2) OR (TendanceM15>=2 AND TendanceM5>=0 AND TendanceM1>=2) THEN
ConvergenceUT=1
ENDIF
IF TendanceM15>=2 AND TendanceM5>=2 AND TendanceM1>=2 THEN
ConvergenceUT=2
ENDIF
IF TendanceM15=3 AND TendanceM5=3 AND TendanceM1=3 THEN
ConvergenceUT=1
ENDIF
// Tendances baissières (1, 2 ou 3)
IF (TendanceM15<=0 AND TendanceM5<=-2 AND TendanceM1<=-2) OR (TendanceM15<=-2 AND TendanceM5<=0 AND TendanceM1<=-2) THEN
ConvergenceUT=-1
ENDIF
IF TendanceM15<=-2 AND TendanceM5<=-2 AND TendanceM1<=-2 THEN
ConvergenceUT=-2
ENDIF
IF TendanceM15=-3 AND TendanceM5=-3 AND TendanceM1=-3 THEN
ConvergenceUT=-3
ENDIF
RETURN TendanceM15 AS "TendanceM15", TendanceM5 AS "TendanceM5", TendanceM1 AS "TendanceM1", ConvergenceUT AS "ConvergenceUT"
MPLParticipant
Average
Pour information, quand je réintègre le code de l’indicateur directement dans le système de trading, il n’y a plus d’erreur, et ça fonctionne correctement…
Ok, donc c’est uniquement lors d’un CALL ? Je vais tâcher d’en savoir plus et de revenir vers toi ensuite.
MPLParticipant
Average
Oui, ça semble bien être ça. Erreur avec le CALL, pas d’erreur sans (j’ai essentiellement fait un copier/coller du code de l’indicateur dans le système de trading donc le risque d’avoir “corrigé accidentellement” les choses dans la manoeuvre est faible…).
Du coup je ne suis pas bloqué même si l’utilisation des CALL apporte un certain confort et puis c’est surtout toujours rassurant de comprendre…
Merci encore
MPLParticipant
Average
Pour information, voici la réponse des équipes de PRT sur le sujet :
“Pour faire suite à votre demande, veuillez noter que vous avez cette erreur, car le backtest n’accepte pas pour le moment les indicateurs personnels utilisant des instructions timeframe.
Cependant il est prévu que l’on travaille sur ce sujet, mais nous n’avons pas de délai à annoncer.”
Merci pour le retour ! Dans ce cas, il vaut mieux utiliser l’instruction TIMEFRAME à l’intérieur de la stratégie elle même, soit reprendre l’intégralité du code de l’indicateur dans la stratégie.
MPLParticipant
Average
Je t’en prie Nicolas, la communauté Prorealcode (et particulièrement toi) est d’une grande aide, c’est donc la moindre des choses…
VIOTParticipant
Junior
Bonjour
en nov les développeurs PRT écrivaient “Pour faire suite à votre demande, veuillez noter que vous avez cette erreur, car le backtest n’accepte pas pour le moment les indicateurs personnels utilisant des instructions timeframe.Cependant il est prévu que l’on travaille sur ce sujet, mais nous n’avons pas de délai à annoncer.”
est ce OK désormais , si oui quelle instruction particulière, car je crois rencontrer aussi le problème …
bel été et merci de votre retour
Denis
Toujours pareil, il faut utiliser TIMEFRAME dans une stratégie plutôt que d’appeler un indicateur MTF via un CALL.
VIOTParticipant
Junior
Merci Nicolas pour votre prompte réponse et votre disponibilité Bien crdlt