Bonjour à tous,
Cette question s’adresse plus particulièrement à Nicolas, mais si quelqu’un a la réponse:
Existe il un moyen “simple”, une instruction par exemple, pour limiter un backtest (qui passerait en trading automatique), à UN ordre journalier à l’achat et Un ordre jorunalier à la vente?
Je n’ai rien trouvé de simple pour le faire
Autre question : Sur le ProBacktest, on ne peux prendre un ordre qu’à l’ouverture de la bougie qui suit le signal, idem pour le Trading automatique
Est il prévu, dans l’avenir, de pouvoir ouvrir un ordre SUR la bougie du signal, autrement dit quand celui ci se produit
Par ex une condition de dépassement de high d’une résistance, qui entrainerait l’activation de l’ordre ?
En effet, prendre le trade sur l’ouverture de la bougie suivante est handicapant car on part souvent avec une perte d’entrée de jeu
Merci d’avance et bonne journée
Zilliq
Bonjour zilliq, pour ta première question :
Tu peux flagger une variable quand tu prends une position vente et une autre variable quand tu prends une position achat. Ensuite, si ton intradaybarindex passe par 0, tu “reset” ces 2 variables.
Pour ta deuxième question, logiquement oui avec ce que j’ai déjà expliqué la “levée de doutes”, en théorie ça doit fonctionner sur le temps présent et pas que sur un lookback du passé en backtest? mais je vais essayer de m’en assurer! Donc à prendre avec des pincettes pour le moment 🙂
Merci Nicolas,
Tu peux détailler la notion de flagger avec un bout de code?
J’imagine que cela signifie si condition réalisée flag1=1 ou flag2=-1 (vente) et si intradaybarindex=0 alors on remet les flag à zéro ?
C’est ca ? Il n’y a pas plus simple parce qu’effectivement c’est ce à quoi j’avais pensé
Merci d’avance
C’est tout à fait cela. Plus simple que ça? euh …..
J’entendais pas plus simple, une instruction ou éventuellement une ligne de code là çà va être plus complexe à coder et donc plus lent en execution
Bon bah tant pis merci et bonne journée
Zilliq
Bonjour,
personnellement, je ferais comme suit :
achatjournee = 0
If achatjournee = 0 and c1 and c2 and... THEN
buy 1 shares at market
achatjournee = 1
endif
If time = 220000 then
sell at market
achatjournee = 0
endif
C’est du bidouille qui vaut ce que ça vaut, mais ça fonctionne en principe.
Le problème de tester un horaire est qu’il est possible que l’instrument ne passe jamais par celui-ci (exemple d’un contrat Futures), car je ne suis pas certain que ProOrder fonctionne en permanence si le flux est arrêté (bonne question!). Si on test la première barre de la journée = 0, on est certain que l’on est bien dans une nouvelle journée.
La première fois que tu déclares ta variable “achatjournee”, il faut faire un ONCE. Sinon elle sera réinitialisé à 0 à chaque nouvelle barre.
Hi Zilliq
en se qui concerne ta deuxieme question jutilise une technique simple pour passer en action des q un niveau de prix et depasser, et sela sans patienter la fin de la bougie ou louverture de la suivant ( une technique q j apris en easy language de TS et fonctione super bien a probuilder et toute autre platforme q j connai car elle et baser sur un calcule simple ):
imaginont q ma resistane se trouve au plus haut dune certaine bougie< je peut placer un ordre dentree stop Long plus un tick ou un points. Et sela indepedament de tes conditions dentree au marchee. Au lieu de prendre une entree clasic AT MARKET.
exemple de code pour positions long :
If........
Buy 1 share at (high+1* ticksize) stop
Exemple pour positions short ou on veut placer une entree de vente a decouverte des q le plus bas de certaines conditions sont arivee :
If....
Sel 1 share at(low-1* ticksize) stop
Tu peut biensur fixer nimporte quel distance en tick et jouer avec les parametres et les diferents ordre ou simplement lesser la meme chose avec une ordre au marchee…
important a noter: lordrecsera biensur valable par default pour la prochaine bougie seulement> pour q ceci tien la route comme conditions sur plusieurs bougies suivant il existe pour sela une commande separee
good luck
david
@Doctrading
Merci, c’est ce que j’entendais par “pas simple”. Merci quand même
Je vais faire le code à l’occaz et je vous le posterai si cela peut vous être utile
@Davex770
Thanks for your nice and quick message with this trick 😉 I will try this evening or tomorrow
Have a nice day 🙂
Bonsoir Davex770,
Que dois je ajouter pour adapter mon code sur dax cfd ci joint pour générer une entrée au plus tot ? (j’ai essayé en modifiant SELLSHORT 1 CONTRACT AT MARKET par SELLSHORT 1 CONTRACTat(low-1* ticksize) stop, cela ne donne rien
merci d’avance
// Conditions pour ouvrir une position en vente à découvert
ignored, ignored, indicator4, ignored = CALL "Mon indicateur(1MIN)"
c4 = (indicator4 CROSSES UNDER 0)
ignored, ignored, indicator5, ignored = CALL "Mon indicateur(5MIN)"
c5 = (indicator5 < 0)
ignored, ignored, indicator6, ignored = CALL "Mon indicateur(15MIN)"
c6 = (indicator6 < 0)
IF c4 AND c5 AND c6 AND TIME >090000 AND TIME <173000 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
sallam aleikoum yassel
au moment ou tu decide de fixer une entree en position sous le plus bas ou dessus le plus haut- le déclenchement se fera bienusr a condition q se niveau la et atteint . sinon la position ne se déclenchera jamais. et vue q le default de PRT et de garder cette condition pour une unité de tamp -il sera possible q elle sera ignorer/
explique mieux se q tu cherche ? la technique précis et ici pour déclencher une entree au marché des le dépassement dune resistance ou dun support sans patienter q une prochain bougie cloture avant denier en position.
@Davex770
ce que je recherche c’est la façon de déclencher le trade quand les conditions 5 et 6 sont rempli et que la condition 4 de l’indicateur passe sous 0.
Je sais pas si j’ai été clair 🙂
hi yassel
a mon avis cette technique peut être utilisée au sain de system baser sur un breakout ou toute autre action similaire de dépassement dun plus haut ou plus bas- a se moment la lordre et actionne immédiatement des q se niveau et depasser
en se qui concerne les fonction indicateur come se q tu mentionne il faudra a mon avis combiner ceci avec autre ordre come OPENOF NEXT BAR ou similaire pour q ceci fonctionne. comme pour un croisement de moyenne mobile par exemple: ceci implique pas un niveau plus haut ou plus bas spécifique mais plutôt une situation en tamp reel qui ne prend pas en compte donc un ordre pareil au plus simple terme.
je less a les pro comme nicolas de nous donner son avis précis a se sujet
take care
@yassel
Je ne vois rien de particulier dans ta définition, il suffirait de s’assurer que tes variables indicator4,5 et 6 retournent bien les valeurs que tu souhaites ? Tu peux pour cela faire
GRAPH mavariable as "variable 1"
Bonjour Nicolas,
je ne comprends pas trop comment je dois intégrer la modification de code que tu suggères ?
@Merci Davex770