MACD,SIGNAL, MACD moins SIGNAL

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #11752 quote
    larouedegann
    Participant
    Master

    Bonjour,

    Je cherche à reproduire dans un trading automatique le MACD, son SIGNAL et le MACD moins signal(représenté sur le fichier en ligne+point car beaucoup plus lisible.)Bien évidemment comme cela ne marche jamais du premier coup et après avoir cherché dans tous les sens,je viens demander de l’aide au FORUM.

    La base du robot est défini comme suit

    DEFPARAM CUMULATEORDERS = FALSE
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 220000
    
    Positionsize = 2
    // Calcul de la MACD,MACDLINE et leur différence
    
    MovACD = MACD[8,20,8](customclose)
    MovACDL = MACDLine[8,20,8](customclose)
    SignalMov = (MovACD - MovACDL)
    c1 = MovACD[1] < MovACDL[1]
    c2 = MovACD < MovACDL
    c3 = SignalMov[1] < MovACD[1]
    c4 = SignalMov > MovACD
    c5 = MovACD[1] > MovACDL[1]
    c6 = MovACD > MovACDL
    c7 = SignalMov[1] > MovACDL[1]
    c8 = Signalmov < MovACDL
    
    // Conditions pour ouvrir une position acheteuse
    
    IF c1 and c2 AND c3 AND c4 THEN
    Buy Positionsize CONTRACTS AT MARKET
    ENDIF
    
    //Conditions pour fermer une position acheteuse
    
    IF c5 AND c6 AND c7 AND c8 THEN
    Sell Positionsize CONTRACTS AT MARKET
    ENDIF
    
    //STOPS
    
    SET STOP LOSS 31

     

    Je pense que les signes négatifs du MACD ou SIGNAL ou MACD moins SIGNAL doivent y être pour quelque chose

    Si quelqu’un a une idée………..

    Avec plaisir

    #11907 quote
    Nicolas
    Keymaster
    Master

    Je ne vois rien qui cloche dans la définition de tes indicateurs. Si aucun trade ne se lance, c’est sans aucun doute un problème lié aux conditions c1 à c8.

    Pour débugger ces conditions il faut les vérifier avec GRAPH une à une, exemple avec c1 et c2 en même temps:

    GRAPH c1 coloured(200,18,16) as "condition c1"
    GRAPH c2 coloured(163,56,56) as "condition c2"
    #12012 quote
    larouedegann
    Participant
    Master

    OK c’est ce que je vais faire

    #12015 quote
    larouedegann
    Participant
    Master

    J’ai testé avec les graph ,mais cela n’apporte rien de plus.

    J’ai fais un petit programme d’achat juste pour voir si ce que je souhaitais pouvais fonctionner, avec le résultat en pièce jointe.

    Négatif.Pourtant il s’agit uniquement de 2 paramètres simples

    MACD-SIGNAL[1] < MACD-SIGNAL[2]

    MACD-SIGNAL > MACD-SIGNAL[1]

     

    DEFPARAM CUMULATEORDERS = FALSE
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 220000

    Positionsize = 2
    // Calcul de la MACD, SIGNAL et du MACD-SIGNAL

    MovACD = MACD[8,20,8](customclose)     //MACD
    MovACDL = MACDLINE[8,20,8](customclose)       //SIGNAL
    SignalMov = (MovACD – MovACDL)             // MACD-SIGNAL
    c2 = SignalMov[1] < signalMov[2]
    c3 = SignalMov > SignalMov[1]
    // Conditions pour ouvrir une position vendeuse

    IF c2 AND c3 THEN
    Sellshort Positionsize CONTRACTS AT MARKET

    ENDIF

    //STOP

    SET STOP LOSS 150

    Sur le graphique, j’ai mis des fléches de vente qui correspond au résultat de proorder et ce que je souhaite.On dirait qu’il vend au changement de couleur (du vert au rouge)

    alors que je souhaite une vente au changement de hauteur de barrette.Je pense que les formules sont correctes

    Si tu peux m’aider c’est avec plaisir

    #12018 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir, j’aurais tendance à penser au contraire qu’il y a “enmêlage de pinceaux” dans les formules justement, via probable confusion sur quel mot-clé de PRT correspond à quoi pour la macd. Donc ça vaut le coup de re-décrire les termes PRT:

    MACDLINE[8,20,8](customclose) est la différence entre les 2 ema, qui donne la macd de base, d’habitude représentée par une ligne (alors qu’en commentaire // tu sembles le considérer comme ligne de signal)

    MACD[8,20,8](customclose) est “déjà” la différence entre la macdline et sa ligne de signal, différence représentée d’habitude en histogramme, ou si je fais référence à ton premier graphe et ton choix de représentation, en ligne+points.

    Donc dans ton code, tu as fais en termes PRT “MACD[…](…) moins macdline[…](…)”, ça équivaut à faire “macdline – signal – macdline”, et tu ne te retrouves plus qu’avec juste “moins signal”, et non pas la macd moins sa ligne de signal…

    Or si j’ai bien compris ce que tu cherches à faire ( = vendre ou acheter les pics ou creux de macd en version histogramme), alors en gardant ton appellation MovACD = MACD[8,20,8](customclose), il te suffit de regarder (pour un creux de l’histo, donc un achat):

    c2 = MovACD[1] < MovACD[2]

    c3 = MovACD > MovACD[1]

    et intervertir les < et > pour un pic de l’histo (donc une vente).

    #12061 quote
    larouedegann
    Participant
    Master

    Bonjour Noobywan

    Effectivement pour moi

    Macd[8,20,8] était la macd

    Macdline[8,20,8] était le signal donc il suffisait de faire la différence pour avoir MACD-SIGNAL

    Merci pour ton aide

    ps : pour info je ne cherche pas les creux ou les pics,je cherche uniquement les divergences, couplé avec un autre indicateur de J.ehler

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

MACD,SIGNAL, MACD moins SIGNAL


Support ProOrder

New Reply
Author
Summary

This topic contains 5 replies,
has 3 voices, and was last updated by larouedegann
9 years, 5 months ago.

Topic Details
Forum: Support ProOrder
Language: French
Started: 08/16/2016
Status: Active
Attachments: No files
Logo Logo
Loading...