aucun achat ni vente ne s’effectue

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #194916 quote
    Prestige-trade
    Participant
    New

    Bonjour a tous,

    Débutant dans le trading je pense me tourner vers le trading automatique,

    Toutefois je m’essaye a coder mais voila cela ne fonctionne pas ( aucun achat ni vente ne s’effectue…)

    je met en pièce jointe ce que j’ai fais (tout simple pour essayer)

    Si quelqu’un peut m’éclairer je vous remercie

    Bonne journée

    Metohde-MM.itf
    #194928 quote
    STsauveur
    Participant
    New
    Defparam CumulateOrders=False
    
    IF Close > Average[20]  THEN
    BUY 2 SHARE AT MARKET
    ENDIF
    
    If LongOnMarket  THEN
    SET STOP TRAILING 5
    
    ENDIF
    
    If Close < Average[20]  THEN
    SELL 2 SHARE AT MARKET
    ENDIF
    
    IF ShortOnMarket THEN
    SET STOP TRAILING 5
    
    ENDIF

    Je ne suis pas un spécialiste mais l’algo fonctionne comme ca, attention tout de même aux résultats véritables de l’algo car le stop suiveur est particulièrement proche (tester en tick par tick).

    Tu peux suivre gratuitement des cours pour dev un algo : https://www.prorealcode.com/programming-with-prorealtime/

    Bon courage à toi et bonne découverte du trading algo !

    #194931 quote
    Prestige-trade
    Participant
    New

    Super un grand merci pour l’efficacité et la rapidité!

    #194959 quote
    Nicolas
    Keymaster
    Master

    J’ai modifié le titre du sujet (“aide au codage” n’est pas un titre significatif.)

    Merci de respecter les règles du forum énoncées dans chaque encart jaune dans chacune des pages du forum.

    #195290 quote
    Prestige-trade
    Participant
    New

    Bonjour,

    Alors voila j’ai de nouveaux quelques souci de logique (pourtant j’ai suivi les cours du site) :

    je ne comprend pas pourquoi il me retourne 1 comme résultat alors que je lui demande de retourner uniquement si la fermeture de la  bougie d’avant est strictement supérieure a la moyenne mobile et au Supertrend….

    Pouvez vous m’éclairer?

     

    Bonne journée

    capt.jpg capt.jpg capt2.jpg capt2.jpg
    #195321 quote
    Nicolas
    Keymaster
    Master

    Je vois potentiellement 2 problèmes:

    1. tu testes le Close antérieure mais avec les valeurs de MM et ST actuel (je ne sais pas si c’est volontaire)
    2. tu imbriques tes conditions avec un ELSIF, donc la logique ET n’est pas respectée, si tu veux tester 2 conditions dans un même IF, il faut les lier avec un AND

    exemple:

    IF CLOSE[1] > MM AND CLOSE[1]>ST

    #195966 quote
    Prestige-trade
    Participant
    New

    Bonjour, merci de votre aide,

     

    1. oui je teste le CLOSE antérieur car je ne pensai pas qu’on pouvait tester l’actuel car par la suite je voudrai que l’achat se fasse sur l’ouverture de l’actuel (si c’est possible) par contre j’ai vu que je peux mettre la Moyenne Mobile antérieur (1) mais cela ne fonctionne pas sur le Supertrend?
    2. J’ai réécris avec le AND merci, toutefois le résultat que cela me donne est comme si jamais mis un OU a savoir il me met sur 1 qu ce soit au dessus de la moyenne mobile ou le supertrend alors que e voudrais que ce soit uniquement quand c’est au dessus de deux?

    Merci

    #195969 quote
    Nicolas
    Keymaster
    Master

    1/ le close actuel c’est CLOSE[0] ou CLOSE tout simplement, on peut bien entendu l’utiliser. Pour le supertrend, tu as l’as déclaré dans la variable ST, donc tu peux te référer à sa valeur n-1 avec ST[1]

    2/

    result = 0
    IF CLOSE > MM AND CLOSE>ST THEN 
     result=1
    endif
    
    RETURN RESULT
    

    tu obtiendras 1 quand la clôture actuel est bien au dessus à la fois de MM et ST, sinon 0.

    #196139 quote
    Prestige-trade
    Participant
    New

    Bonjour,

     

    Encore merci de votre aide cela me permet d’avancer…

    Maintenant je me heurte a une autre problématique, je voudrais que le résultat=1 ne se fasse qu’une fois en attendant que la condition ( passage au dessus des 2 Moyenne mobile et Supertrend) ne se représente j’ai essayé en mettant ONCE Result=1 mais du coup il ne le fais qu’une fois et ne recommence jamais…

    Merci

    Cap10.jpg Cap10.jpg Capt11.jpg Capt11.jpg
    #196151 quote
    Prestige-trade
    Participant
    New

    Bonjour,

    J’ai également une problématique que je ne comprend pas, voici le code Pro builder que j’ai écris, toutefois le système ne fait que des achats( a la hausse) mais ne passe aucun ordre de vente a découvert je ne comprend pas pourquoi?

    Merci

    Capture-20.jpg Capture-20.jpg
    #196225 quote
    JC_Bywan
    Moderator
    Master

    Bjr,

    Les extraits de code s’affichent de préférence dans le corps du message (avec bouton “insert PRT code” s’il apparait directement dans la barre de menu du message, ou en faisant CTRL+F5 pour le faire réapparaitre).

    Ton code ne passe pas d’ordre de vente à découvert parce que tu ne le lui as pas demandé. Sell ne sert qu’à vendre une position existante, mais ne s’utilise pas pour les ventes à découvert. Il te faut l’instruction sellshort.

    #196236 quote
    Prestige-trade
    Participant
    New

    Bonjour

    Ok pour le code je ferais insi désormais merci,

    Du coup merci pour le SELLSHORT c’ets ce qui manquait effectivement…

    Maintenant je me heurte a une autre problématique, je voudrais que le résultat=1 ne se fasse qu’une fois en attendant que la condition ( passage au dessus des 2 Moyenne mobile et Supertrend) ne se représente j’ai essayé en mettant ONCE Result=1 mais du coup il ne le fais qu’une fois et ne recommence jamais…

    #196337 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir, suis revenu sur le post quelques fois quand j’avais un petit créneau, mais je pense que je ne comprends pas ton “avoir le résultat=1 qu’une fois”. D’une part je ne trouve que la mm20 donc je ne vois pas l’histoire des “2 moyennes mobiles”, je l’ai probablement ratée dnas un des attachements mais je ne la vois pas. D’autre part, si ton résultat est issu d’une condition sur mm20 et ST, tu l’as quand tu l’as, tu ne peux pas choisir que les cours ne te donnent qu’une fois la condition. Eventuellement (mais ce serait formulé autrement) tu veux te souvenir que le résultat a eu lieu au moins une fois et que la variable résultat reste scotchée sur 1 si c’est le cas? Enfin, pour once, sans forcément avoir compris la question sur résultat=1, pour info c’est normal qu’il ne te serve pas dans un tel cas, car once ne sert qu’à donner une valeur une seule fois au tout début de l’histprique, puis ne sert plus.

    #196347 quote
    Prestige-trade
    Participant
    New

    Bonsoir, désolé je n’ai pas été très clair effectivement,

    en Fait il n’y a que deux courbes a savoir une moyenne mobile [20] et le Supertrend [3,20] , En fait je veux déclencher un achat a chaque fois que le prix passe au dessus des deux moyennes mobiles ( la deuxième bougie haussière suite a cette condition) mais une seule fois tant que le prix n’est pas repassé au dessous de la moyenne mobile [20] et le Supertrend [3,20], et bien sur faire la même chose dan l’autre Sens (vente a découvert suite a passge en dessous de la moyenne mobile [20] et le Supertrend [3,20]) je met une photo en pièces jointes pour illustrer merci beaucoup

    Capture1.jpg Capture1.jpg
    #196402 quote
    Prestige-trade
    Participant
    New

    Bonjour,

    Je remet le code utilisé, j’ai également fais des essais en utilisant CROSSES OVER ou CROSSES UNDER mais il semble que celui ne fonctionne que pour 2 courbe …

    Defparam Flatbefore = 080000
    Defparam Flatafter = 173000
    
    
    Defparam CumulateOrders=False
    
    HEURELIMITE = 170000
    
    MM = Average[20]
    ST = Supertrend[3,20]
    
    // Conditions pour ouvrir une position acheteuse
    IF  CLOSE > MM and CLOSE > ST and CLOSE[1]> OPEN [1] and CLOSE > OPEN THEN
    BUY 1 SHARE AT MARKET
    ENDIF
    
    // Conditins pour fermer une position acheteuse
    If LongOnMarket  THEN
    SET STOP TRAILING 0.08
    
    ENDIF
    
    
    // Conditions pour ouvrir une position en vente à découvert
    IF CLOSE < MM and CLOSE < ST and CLOSE[1]< OPEN [1] and CLOSE < OPEN THEN
    SELLSHORT 1 SHARE AT MARKET
    ENDIF
    
    // Conditions pour fermer une position en vente à découvert
    IF LongOnMarket THEN
    SET STOP TRAILING 0.08
    
    
    
    ENDIF
    
    // Stops et objectifs : entrez vos stops et vos objectifs ici
    IF STRATEGYPROFIT < -500 THEN
    QUIT
    ENDIF
    
Viewing 15 posts - 1 through 15 (of 21 total)
  • You must be logged in to reply to this topic.

aucun achat ni vente ne s’effectue


ProOrder : Trading Automatique & Backtests

New Reply
Author
Summary

This topic contains 20 replies,
has 5 voices, and was last updated by fifi743
3 years, 8 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 06/08/2022
Status: Active
Attachments: 7 files
Logo Logo
Loading...