BUG CODE COMPTE DEMO ???

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #100377 quote
    juju971
    Participant
    New

    Bonjour a tous,

    Je teste depuis quelques semaines un code tout simple avec certaine configurations de bougie dont une en marteau sur compte Demo.

    Après analyse des résultats, je ne comprends pas pourquoi certaine bougie sont ignorés alors qu’elle correspondent bien à la configuration, que çà soit en Demo ou même en backtest.

    S’agit il d’un bug liée au compte Demo ?

    En cas de problème de ce type sur un compte réel, qu’elles sont les possibilités vis à vis de PRT ou du courtier ?

    Merci beaucoup pour votre aide,

     

    Ci après la configuration de la bougie et en pièce jointe le marteau non pris en compte lors de la séance et en backtest.

    // Conditions pour ouvrir une position en achat
    M5 = (high-open)<3
    M6 = close-low > ((open-close)*2)
    M7 = close < open
    M8 = (open – close) > 1
    Marteau2 = M5 AND M6 AND M7 AND M8

    Capture-d’écran-2019-06-10-à-19.36.19.png Capture-d’écran-2019-06-10-à-19.36.19.png
    #100384 quote
    Nicolas
    Keymaster
    Master

    La première chose à faire avant d’incriminer un bug du courtier ou de la plateforme, c’est de débugger ses propres variables 🙂

    GRAPH Marteau2

    à ajouter à la fin de ton code pour vérifier lors du backtest si la condition est bien remplie (= 1). Si elle ne l’est pas, le bug est dans ton code 😉 Bon courage.

    swapping thanked this post
    #100462 quote
    juju971
    Participant
    New

    Bonjour Nicolas,

    Merci beaucoup pour cette astuce, cela permet effectivement de voir si la condition est remplie, et elle l’est. Je ne comprends donc pas pourquoi la position ne s’ouvre pas.

    Comme vous pouvez le voir sur la pièce jointe, la bougie encerclé remplie les conditions pour ouvrir une position mais rien ne se passe, alors que quelques minutes plus tard la même bougie ( dans le rectangle ) ouvre la position….

    Je passe peut être à côté de quelque chose, mais je ne vois pas quoi, le code est assez simple.

    Qu’en pensez vous ?

    Merci

    Julien

    Capture-d’écran-2019-06-11-à-16.01.45.png Capture-d’écran-2019-06-11-à-16.01.45.png
    #100475 quote
    Nicolas
    Keymaster
    Master

    Il y a sans doute d’autres conditions dans le code de la stratégie que je ne connais pas. Si la variable retourne une condition vrai, alors la stratégie devrait envoyer l’ordre en effet. Merci pour le partage du code pour faire une analyse plus complète.

    Pas de ‘if onmarket’ ou ‘if not onmarket’ ?

    #100518 quote
    juju971
    Participant
    New

    Non, pas de if ou if not onmarket, le code est vraiment basic, c’est pour çà que je pense plus à un bug PRT, je test sur compte demo, est ce que çà peut être liée à çà ???… c’est pas dramatique mais bon le but c’est que çà fonctionne pour passer en réel.

    Merci pour votre aide en tou cas.

     

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    // Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
    DEFPARAM FLATBEFORE = 093000
    // Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
    DEFPARAM FLATAFTER = 160000
    
    // Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    // Marteau pour position acheteuse
    M1 = close = high or (high-close) < 3
    M2 = close > open
    M3 = (close - open) > 1
    M4 = open-low > ((close-open)*2)
    Marteau1 = M1 and M2 AND M3 AND M4
    
    M5 = open = high or (high-open)<3
    M6 = close-low > ((open-close)*2)
    M7 = close < open
    M8 = (open - close) > 1
    Marteau2 = M5 AND M6 AND M7 AND M8
    
    IF Marteau1  AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT MARKET
    elsif  Marteau2 AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT MARKET
    
    ENDIF
    
    // Stops et objectifs
    SET STOP pLOSS 15
    SET TARGET pPROFIT 30
    #100522 quote
    Nicolas
    Keymaster
    Master

    Je n’ai pas testé mais as-tu pensai aux conditions horaires et journalières du code ? Pas de trades avant 09h30 et après 16h00 ? Ni Samedi et Dimanche.

    #100596 quote
    juju971
    Participant
    New

    Oui les conditions horaires et journalières sont bien respecter.

    Avez vous déjà rencontrer ce genre de souci auparavant ? condition respecter mais pas d’ordre par la suite.

    J’avais des doutes sur le code également jusqu’à ce que j’utilise votre conseil ( GRAPH ) et comme vous l’avez vue sur le Print Ecran, la condition est bien remplie, donc à partir de là c’est logiquement vers l’étape ouverture qu’il aurait un souci, pour info j’avais également vérifier dans la liste des ordres ( le jour ou j’ai vu le souci ), au cas où il aurait était annulé ou rejeter mais je n’ai eu aucune trace de rejet ou d’annulation.

    Je ferais d’autre test ce weekend, mais si je pouvais avoir le fin mot de l’histoire, çà me permettrai d’avancer.

    #100617 quote
    Nicolas
    Keymaster
    Master

    Après avoir testé le code, je ne décèle aucun problème (voir mon graphique ci-dessous sur le CAC40).

    On a  bien 1 ordre si on est pas au marché à chaque nouvelle détection :

    graph Marteau1 AND not daysForbiddenEntry
    graph Marteau2 AND not daysForbiddenEntry

    Il y a bien entendu des détections hors horaires, mais elles sont inhibées par les restrictions horaires du début du code (soit pas d’ordre avant 09h30 et après 16h00) :

    // Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
    DEFPARAM FLATBEFORE = 093000
    // Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
    DEFPARAM FLATAFTER = 160000

    Pour comparer le graphique et le code, bien vérifier que les données du week-end soient affichées, et parfois aussi supprimer les horaires personnalisés.

    cac40-algorithme-trading.png cac40-algorithme-trading.png
    #100701 quote
    juju971
    Participant
    New

    Ok merci,

    A première vue, j’ai les mêmes résultats sur le CAC, mais j’ai pas tout repointer dans le détail.

    Pouvez vous faire un backtest sur le Dow Jones sur le semaine qui vient de terminer svp, 10 au 14 Juin  9h30-16h NY Time zone,

    #100754 quote
    Nicolas
    Keymaster
    Master

    Non désolé, il faudrait le faire de ton côté et nous indiquer où tu penses qu’un ordre aurait dut avoir lieu, ce sera bien plus simple et rapide.

    Sur le Dow Jones ou le CAC, le code se comportera de la même façon.

    #100807 quote
    juju971
    Participant
    New

    C’est ce que j’ai fait au tout début et l’erreur ce trouve à 14H15 le 10 Juin heure de NY, je voulais voir si le souci pouvais venir de mon côté, c’est pour cela que je vous ai demandé.

    J’ai refait malgré tout un test, et surprise, cette fois si il prend bien la position ( voir le print écran ) alors que nous n’avons rien touché au code….

    La question demeure sur ” le pourquoi ” il n’a pas ouvert de position lors de la séance avec le compte demo ( mon tout premier print ), je pense que c’est un bug mineur ou une petite subtilité….en tout cas pour l’instant çà m’empêche d’avancer.

    Par exemple quand j’ai backtesté ce dimanche sur le semaine écoulé en M5, j’ai eu le message d’erreur ” vérifier vos dates sur backtest ” alors qu’en faites c’était liée à mon graphique qui ne contenez que 200 unité de temps et ne remontez donc pas la ou je voulais particulièrement voir l’erreur ( le lundi 10 ), mais dès lors que je suis passé en graphique avec 1000 unité de temps, plus de souci de dates, le message d’erreur indiqué plus une erreur dans le code ou le backtest alors que c’était dans le graph que le souci était.

    Pour revenir à ma question d’origine, car le but est de passer en réel, si un code est correct mais que l’ouverture ou fermeture de position ne s’effectue pas, comment ca se passe avec PRT et/ou le courtier ???

    Je n’ai aucun souci avec les 2 sur mon trading manuel, concernant le trading automatique c’est vraiment super intéressant à étudier et exploiter, j’aimerais beaucoup m’y lancer en réel mais avec ce genre de souci, çà refroidi un peu.

    Avez vous des expériences à partager sur les soucis de passage d’ordres ?

    Merci pour votre aide

    Capture-d’écran-2019-06-16-à-10.30.12.png Capture-d’écran-2019-06-16-à-10.30.12.png
    #100839 quote
    Nicolas
    Keymaster
    Master

    En cas de position non fermé, il est possible de lancer un ticket support. Cependant, très souvent ce type de problème est lié au code ou aux contraintes de marché (spread, slippage, recotation, distance au stop, ..).

    Les comptes démo IG ont quelques problèmes de fiabilité, cela est très souvent remonté par les membres du forums.

    #100924 quote
    juju971
    Participant
    New

    Ok merci.

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

BUG CODE COMPTE DEMO ???


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
juju971 @juju971 Participant
Summary

This topic contains 12 replies,
has 2 voices, and was last updated by juju971
6 years, 9 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 06/11/2019
Status: Active
Attachments: 4 files
Logo Logo
Loading...