ProRealTime
On y parle Livres et Outils de Trading, Station de Trading, des livres lus sur le trading, de notre vision du trader et de son métier

Re: Probacktest

par Les3BB » 22 avr. 2013 14:13

Amarantine a écrit :Les3BB, coince-moi sur tout ce que tu veux
Le retour de la cougar :lol:

Re: Probacktest

par falex » 22 avr. 2013 14:33

Khepesh a écrit :( j’avoue ne pas trop comprendre leur logique pour le coup mais bon c'est comme ça ;-)
IG devait en avoir marre de perdre de l'argent sur les mini-contrats indice anglais et CAC ...

En 18 mois il nous ont fait :
sur indice anglais 1€ : augmentation du spread de 1 à 1,2, puis qté minimal de 1 à 2 contrat
Sur CAC mini : Contat à 2€ spreade de 2 à contrat 1€ spreade de 1,2, puis qté minimale de 1 à 2.

Toujours retenir que tout change tous les 6à 18 mois ...

C'ets comme l'autre vendredi : la volatilité était tellement forte, que le minimum du stop sur le mini USD/JPY est passé de 5 habituellement à 10 ...

Donc oui IG plafonnne ses spreads mais ils ont d'autre levier.

Re: Probacktest

par Khepesh » 29 avr. 2013 23:24

Bon bah a faisait "longtemps" que j'avais pas posé de question... (moins de temps a consacrer a mes recherches actuellement)

et ... bah j'ai une question toute bête, en faite, pour moi tout est censé marcher, mais visiblement c'est pas le cas... :|

petit historique :

je me suis fait un indicateur sous prorealtime basé sur les stochastiques, qui génère un signal (+10/-10) pour signal d'achat/vente. Le signal est bien généré est visible dans l'indicateur, jusque là tout est OK.

Le problème c'est que je veux utiliser le "signal" de cet indicateur pour lancer un backtest (c'est juste quelques test mais bon ... ) mais ... c'est là que ça cloche, le backtest ne me prend que quelques positions aléatoires et uniquement dans un sens, je me dit que j'ai dût rater un épisode, mais je vois pas lequel ...

le code du backtest est on ne peut plus basique :

Code : #

mySignalStocha = CALL "Stochastique_Perso"[75 ,25 ,14 ,3 ,5](close)


IF mySignalStocha = 10 THEN
    BUY 1 SHARES AT MARKET THISBARONCLOSE
ENDIF

IF mySignalStocha = -10 THEN
    SELLSHORT 1 SHARES AT MARKET THISBARONCLOSE
ENDIF
sachant que le "RETURN" de l'indicateur stipule :
monSignalStocha as "SignalStocha"

si l'un de vous pouvais me dire où je merdouille ca m'aiderais beaucoup ^^ j'ai l'impression que c'est juste une "bêtise" mais j'arrive pas a mettre le doigt dessus -_-'

PS : j'ai un backtest qui fonctionne parfaitement sur le même principe (récupération du signal à partir d'un indicateur) d'où mon incompréhension ^^

PPS : j'vient de voir qu'il y a un "exemple intégré" d'indicateur stocha ... j'avais pas vu xD mais ca résoud pas mon problème. :lol:

Re: Probacktest

par Greg31600 » 29 avr. 2013 23:33

A mon avis ,Falex va te résoudre ça des qu'il aura vu ta question :!:

:arrow: En attendant, je maîtrise pas :hein: mais tu close la position quand dans ton backtest ?

Re: Probacktest

par Khepesh » 29 avr. 2013 23:48

avec des TP et SL, oui :-)

sans compter que probacktest ne gère pas le hedge donc une position short clôture systématiquement la longue et vice-versa.

et là... c'est pas le cas :|

Re: Probacktest

par falex » 29 avr. 2013 23:58

Yo les backtesteurs,

Dans le principe ton backtest est ok.
Maintenant faudrait que tu poste le codes de l'indicateur pour le vérifier.

J'ai déjà fait aussi des backtests avec en entrée des indicateurs maison et si tout est bien codé ça devrait marcher. Dernier exemple en tête où PRT fume la moquette : le RSBoll de teg54, j'y ai rajouté mon indicateur HorsBoll et là je ne comprend plus rien ???? Sur environ 5 à 10M des trades du backtests, soit il y n'y a pas de signal, soit le signal est là mais pas de trade.

J'avais déjà émis l’hypothèse des problèmes du nombre de décima et/ou d'arrondi qui ne sont pas traité de la même manière sur le graphique et en backtest.
Par exemple ton RSI vaut 79,95 sur ton graphe et j'ai comme l'impression que dans la backtet il sera arrondi à 80 ou 79 ...
Donc peut-être as-tu le même genre de phénomène avec le stok.

Donc soit tu postes ton code histoire d'y jeter un coup d'oeil semaine prochaine soit tu envoi un email à PRT ...

Re: Probacktest

par Khepesh » 30 avr. 2013 00:08

le coup des RSI - 79.xxx qui déclenche un signal malgré une limite a 80 oui je l'ai déjà noté avec le "RSBoll" jamais réussi a comprendre le pourquoi du comment :|
J'avais envoyé un mail a IG qui me conseillait d'envoyer un mail a prorealtime ... chose que je n'avais pas faite c'est vrai ... (oublié)

sinon pour le "code" y'a rien de sorcier, et le voici ;-) :

Code : #

monHeure = (time > 80000) and (time < 173000)
StochaK = Stochastic[u,v](close)
StochaD = Average[w](Stochastic[u,v](close))
monSignalStocha = 0
mediane = 50
surachat = x
survente = y

REM Vente

IF monHeure AND StochaK > x AND StochaK[1] > StochaD[1] AND StochaK < StochaD THEN
	monSignalStocha = -10
ENDIF

REM Achat

IF monHeure AND StochaK < y AND StochaK[1] < StochaD[1] AND StochaK > StochaD THEN
	monSignalStocha = 10
ENDIF

RETURN StochaK as "StochaK", StochaD as "StochaD", monSignalStocha as "SignalStocha", mediane as "Médiane", surachat as "Limite Haute", survente as "Limite Basse"
u/v/w/x/y sont les variables classiques des stocha et le palier de déclenchement du "signal"

par défaut :

Code : #

Stochastic[14,3]
Average[5]
surachat = 80
survente = 20
edit : je reste volontairement avec des codes "simples" pour bien assimiler le tout et valider certains fonctionnements...
tout en préparant une éventuelle imbrication ultérieure ;-)

pour les fans de la couleur ça donne ça une fois un peu égayé, tout bête quoi :
stocha+signal.PNG
stocha+signal.PNG (7.04 Kio) Vu 964 fois
edit2 : d'ailleur je suis en train de voir qu'il semble manquer un signal apparement(rouge), trois bougies avant la première rouge.
edit3 : et et y pensant brièvement (j'vasi dodo !!) je me demande comment il fait pour générer deux signaux d'affilé avec les conditions qu'il y a au dessus ... ça devrait pas être possible :mur:

vas falloir que j'approfondisse ça demain :lol2:

edit4 : (ca commence a faire ^^) : j'ai trouvé au moins un des problème : j'avais oublié un "[1]" (ajouté dans le code ci-dessus)
-->ça gomme les signaux consécutifs qui ne devaient pas exister, et rajoute le signal manquant dont je parlais plus haut, mais ne corrige pas le backtest :|

Re: Probacktest

par Khepesh » 07 mai 2013 09:30

juste un p'ti up, toujours personne avec une solution a mon problème ? :|

Re: Probacktest

par Khepesh » 19 juil. 2013 03:19

Bonjour à vous,

Plutôt que de commencer un autre topic je continu celui-ci, puisque les question seront toujours du même ordre ...

Rapport a mon problème précédent, je n'ai jamais eu de réponse/solution mais disons que je l'ai contourné ... mais là n'est plus le problème.

j'ai une question actuellement sur le passage d'ordre :

est-il possible et si oui comment, d’empêcher le passage d'un ordre quand un autre ordre a été passé "recemment" ?

je m'explique : (version simplifié)

il y a un passage d'ordre (achat ou vente) lors du passage d'une "MoyenneA" au dessus d'une autre, "MoyenneB".
si un ordre a été passé (achat ou vente) au cours de ce ce passage (c'est à dire tant que MoyenneA > MoyenneB) je ne veux pas qu'un autre ordre, (contradictoire ou non) ne passe.

une idée ? ;-)

Re: Probacktest

par falex » 19 juil. 2013 17:55

Si tu as ce genre de question c'est qu'à chaque bougie ton code est executé et que ta condition pour passer un ordre est rempli.

Une des solutions sous PRT :
Utiliser Cross under ou Cross Over pour valider le croisement des tes MM.
ou rajouter dans tes conditions d'entrées de trade not onmarket par exemple.

Re: Probacktest

par Khepesh » 19 juil. 2013 20:12

Bonjour falex,
pas a chaque Bougie mais il peut être exécuté plusieurs fois dans le même sens en cas de "grosse lancée" ou en contradictoire ... également en cas de "grosse lancée" (le temps que d'autres conditions s'annulent)

j'y avais pensé pour le "not onmarket" où du moins un équivalent, mais le problème et que si je souhaite faire un backtest avec juste de l'achat/vente, ça ne pourra pas fonctionner.

le cross under / over j'y avait pensé aussi mais rapidement abandonné puisque je ne voyait pas trop comment le mettre en place pour obtenir ce que je veux.
J'y pense juste en écrivant ce message, mais il est vrai que je pourrai déclencher l'ordre d'achat/vente uniquement sur le cross over/under, ce qui devrait rendre le tout viable ... j'vais aller voir ça après manger :)

si il y a une autre idée je suis preneur "au cas ou" ;-)

Merci en tout cas :)

edit : bon bah après verif, ça fonctionne avec le déclenchement sur le "crosses overs".

Re: Probacktest

par Khepesh » 21 juil. 2013 08:20

Encore bonjour, (décidément ... :musique: )

Bon bah cette fois c'est un problème différent, j'essaye d'incorporer un Money Mgt. à certains Backtest ... sans succès.
J'ai pourtant repris le code du bouquin "probacktest" mais je me retrouve avec des taille de positions pour le moins ... erratiques !

Voyant que ça ne marchait pas j'ai essayé d'épurer au maximummum afin de voir d’où vient le problème ... mais ça ne m'a pas vraiment aidé :|

donc une fois le truc simplifié au maximummum (je crois ... le "code" est à poil lol)

Code : #

ONCE OrderSize = 1

monHeure = (time > 73000) and (time < 163000)

monRSI = RSI[7](close)

surVente = 25

// Ordres : 

IF monHeure AND monRSI CROSSES OVER surVente THEN
    BUY OrderSize SHARES AT MARKET THISBARONCLOSE
ENDIF
IF PreviousTrade(1) > 0 THEN 
        OrderSize = 1
ELSIF PreviousTrade(1) <= 0 THEN
        OrderSize = OrderSize * 2
ENDIF
comme je l'ai dit j'ai voulu simplifié à fond j'ai donc utilisé une "martingal" en * 2 tout ce qu'il y a de plus standard, j'ai essayé de rentrer des sorties en "manuel" sans résultat, en configurant les TP / SL via le joli bouton qui va bien, toujours sans résultat.

en mettant SL/TP - 5chacun on se retrouve par exemple avec une première prise de position à 10 lots au lieux des "1" demandés suivi de 9 lots au lieux de "2" logiquement, et ça continu durant tout le reste du Backtest (je passe de taille de lot de 1 à 2 à 10 et plus sans raison apparente)

bref, je sèche :prier:

je suppose qu'il y a une coquille mais je ne vois pas où ...

Merci a toute âme charitable qui pourra m’éclairer :D

PS : voilà ce que donne le bouquin :

Code : #

//***********Code à insérer au début de la stratégie**********//
ONCE OrderSize = 1 // On commence avec une position de 1
//*********************//
//***********Code à insérer juste après les instructions liquidant une position**********//
IF PreviousTrade(1) < 0 THEN
// Si le dernier trade était perdant, alors on double la taille de la position et on ajoute une unité
OrderSize = OrderSize * 2 + 1
ELSIF PreviousTrade(1) >= 0 THEN
// Si le dernier trade était gagnant, alors on revient à une position de taille 1
OrderSize = 1
ENDIF
//*********************//
REM Dans le backtest, la taille de la position doit être déterminée par la variable OrderSize

Re: Probacktest

par falex » 21 juil. 2013 16:26

Kepesh, j'ai pas tout lu mais quand j'ai essayé de faire du MM avec PreviousTrade, je me suis aperçu que :

PreviousTrade(0) ne te renvoi pas le PV/MV du gain en cours mais celui du trade - 1 (en fait le dernier clos).
Idem si un trade est clos par un trade contraire (du flip/flap) c'est le même comportement, PreviousTrdae(0) sera l'inversion de ses précedent et pas celui en cours.

J'avais essayé de faire un pyramidage avec cette fonction et je ne comprenais pas pourquoi mes pyramide démarrait toujours avec un trade de retard.

Donc ceci devant expliquer cela j'ai laissé tomber cette possibilité.

Une autre façon de faire du pyramidage mais sans tenir compte des résultats des trades précédents et de cocher la case "Engagement maximummum" ou alors de jouer sur la taille de ton K plus la prix du contrat et de décocher "réinvestir les gains".

Par exemple : j'ai 10 en K, 1 en valeur de contrat et "Réinvestir les gains de décocher" sur des cfd à risque limité DAX ou CAC ou indice anglais.

Si j'ai un code qui peut rentrer plusieurs fois dans le même sens alors je pourrais pyramider/moyenner jusqu'à 10 positions (10 x 1).

Si "Réinvestir les gains" est coché alors dès que ton gain tombe à 0 le backtest s'arret.

Re: Probacktest

par falex » 21 juil. 2013 16:34

Je t'ai mis sur la piste du Cross over/under mais de mémoire cette fonction est légérement bugué ou rentre (ou ne rentre pas ) alors que la condition est déclenché visuellement ... (ou alors c'est encore à cause des arrondi ... éternelle débat).

En tout cas tu peux le coder toi-même c'est hyper simple :

Cross-over : indicA croisse à la hausse indicB ça donne :

si (indicA(0) > indicB(0)) ET (indicA(1) < indicB(1)) alors ...

Je te laisse trouver le cross under 8-)

PS : Andlil : forum de cours de programmation, Benoist envois nous tes handicapés de la boucle conditionnelle !

Re: Probacktest

par Khepesh » 21 juil. 2013 22:36

dans le désordre :

pour le crosses over/under, je me sert déjà de "si (indicA(0) > indicB(0)) ET (indicA(1) < indicB(1)) alors ..." sur certains BT où les "crosses" ne peuvent pas remplir le rôle demandé (conditions particulières ... ) en faite je me servait exclusivement de la méthode que tu indique jusqu'a ... hier ? ;-)

j'ai migré depuis hier pour être plus propre mais bon...

Par contre pour le déclenchement visuel mais pas réel ça je n'en savait rien, je vais repasser mon ancienne méthode ça gommera au moins ce problème ;-)

Pour previoustrade(1) si je ne me trompe pas, c'est le résultat du dernier trade clôturé qui ressortira, et c'est ce que je veux.
En y repensant, si le premier lot bug c'est peut être parce qu'il n'a pas d'historique de trade d'enregistré ... je vérifierait ça, même si théoriquement ça aurait dût rentrer dans l'ordre après si c’était le seul bug....

mais pas ce soir :D

Sujets similaires
PROBACKTEST PRT :
par Guillaume » 28 janv. 2013 09:02 (6 Réponses)
probacktest prorealtime
par Amarantine » 15 sept. 2014 13:15 (2 Réponses)
ProBacktest
par clodreb » 17 nov. 2014 11:09 (9 Réponses)
ProOrder - Probacktest : même code - comportement différent
Fichier(s) joint(s) par clodreb » 03 mars 2015 22:20 (45 Réponses)
probacktest / proorder
par vschmitt » 14 juin 2015 23:20 (9 Réponses)
ProBacktest PRT étonnant donnez votre avis
Fichier(s) joint(s) par GOLDENBOY » 23 nov. 2016 22:10 (18 Réponses)
Target profit journalier sur ProBacktest
par trappiste73 » 18 juin 2018 14:06 (1 Réponses)
ProBacktest : clôture bougie + 1h00
par Deal » 04 janv. 2019 09:52 (1 Réponses)
Aide Conditions PROBacktest
par Cissou » 22 févr. 2023 14:35 (5 Réponses)