Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Tracer l'indicateur MACD

Cet exemple montre comment construire une timetable et tracer l'indicateur de convergence/divergence moyenne mobile (MACD). Le MACD est un indicateur de trading utilisé dans l'analyse technique des cours boursiers. Le MACD indique s'il faut acheter ou vendre une action, quand une condition de surachat ou de survente se produit et quand la fin d'une tendance pourrait se produire.

Lire les données

Le canal ThingSpeak 471839 contient des données financières différées pour Google (NASDAQ : GOOGL). Les données sont mises à jour une fois par jour. Les quatre premiers champs contiennent respectivement les cours d'ouverture, haut, bas et de clôture. Le champ cinq contient le volume quotidien du trading. Lisez les données du canal 471939 à l'aide de la fonction thingSpeakRead.

stockTimeTable=thingSpeakRead(471839,'numDays',150,'outputFormat','TimeTable');

Générer les données MCAD et les croisements d'étiquettes

Lorsque le MACD et la ligne de signal viennent de se croiser et que la ligne MACD tombe en dessous de la ligne de la moyenne mobile, il est temps de vendre. Utilisez la fonction macd pour construire la ligne MACD et les données de moyenne mobile ou de ligne de signal. Scannez ensuite les points de données pour rechercher les points où les lignes se croisent et enregistrez ces points dans un tableau pour le traçage.

[MACDLine, signalLine]= macd(stockTimeTable);

index=26;
crossUp=[];
crossDown=[];

while (index<height(stockTimeTable))
    if and(MACDLine.Close(index)>signalLine.Close(index),MACDLine.Close(index-1) < signalLine.Close(index-1))
       crossUp=[crossUp index];
    end

    if and(MACDLine.Close(index)<signalLine.Close(index),MACDLine.Close(index-1) > signalLine.Close(index-1))
       crossDown=[crossDown index];
    end
    index=index+1;
end

Tracer le MACD et les indicateurs de signal

Utilisez la fonction plot pour tracer le MACD pour Google. Ajoutez des étiquettes de croisement de lignes à l'aide de la fonction text.

plot(MACDLine.Time,MACDLine.Close,'r+-',signalLine.Time,signalLine.Close, 'b--');
legend('MACD Line','Nine Per MA')
title('MACD for GOOG')
ylabel("Price Averages");
hold;
text(MACDLine.Time(crossUp),MACDLine.Close(crossUp),'B');
text(MACDLine.Time(crossDown),MACDLine.Close(crossDown),'S');
Current plot held

Le graphique montre le MACD pour Google. La ligne MACD a traversé la ligne de signal à plusieurs endroits, indiquant qu'il existait des opportunités commerciales potentiellement rentables. Étant donné que le tracé est généré à partir de données temps réel, votre tracé est différent de l'exemple présenté ici.

Voir aussi

Fonctions

Sujets associés