MACD,SIGNAL, MACD moins SIGNAL
Forums › ProRealTime forum Français › Support ProOrder › MACD,SIGNAL, MACD moins SIGNAL
- This topic has 5 replies, 3 voices, and was last updated 8 years ago by larouedegann.
-
-
08/16/2016 at 7:47 AM #11752
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
12345678910111213141516171819202122232425262728293031323334DEFPARAM CUMULATEORDERS = FALSEDEFPARAM FLATBEFORE = 080000DEFPARAM FLATAFTER = 220000Positionsize = 2// Calcul de la MACD,MACDLINE et leur différenceMovACD = MACD[8,20,8](customclose)MovACDL = MACDLine[8,20,8](customclose)SignalMov = (MovACD - MovACDL)c1 = MovACD[1] < MovACDL[1]c2 = MovACD < MovACDLc3 = SignalMov[1] < MovACD[1]c4 = SignalMov > MovACDc5 = MovACD[1] > MovACDL[1]c6 = MovACD > MovACDLc7 = SignalMov[1] > MovACDL[1]c8 = Signalmov < MovACDL// Conditions pour ouvrir une position acheteuseIF c1 and c2 AND c3 AND c4 THENBuy Positionsize CONTRACTS AT MARKETENDIF//Conditions pour fermer une position acheteuseIF c5 AND c6 AND c7 AND c8 THENSell Positionsize CONTRACTS AT MARKETENDIF//STOPSSET STOP LOSS 31Je 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
08/19/2016 at 6:05 PM #11907Je 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:
12GRAPH c1 coloured(200,18,16) as "condition c1"GRAPH c2 coloured(163,56,56) as "condition c2"08/21/2016 at 8:35 PM #12012OK c’est ce que je vais faire
08/21/2016 at 10:50 PM #12015J’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 = 220000Positionsize = 2
// Calcul de la MACD, SIGNAL et du MACD-SIGNALMovACD = 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 vendeuseIF c2 AND c3 THEN
Sellshort Positionsize CONTRACTS AT MARKETENDIF
//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
08/22/2016 at 12:32 AM #12018Bonsoir, 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).
08/22/2016 at 5:02 PM #12061Bonjour 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
-
AuthorPosts
Find exclusive trading pro-tools on