Accueil Indicateur technique Publication

Détecter le Schéma de Spike sur Boom Index avec MetaTrader 5

Pièce jointe
61749.zip (1.79 KB, Télécharger 0 fois)

Détection du Schéma de Spike Haussier

  • Schéma en 3 bougies :

    • 1ère bougie : Verte avec un grand corps (spike haussier).

    • 2ème bougie : Rouge (retrace).

    • 3ème bougie : Verte avec un grand corps (spike haussier).

  • Lorsque ce schéma apparaît, une zone est créée.

Création de la Zone

  • Un rectangle bleu est dessiné à partir de l'intervalle haut/bas des 3 bougies.

  • Une ligne d'entrée horizontale verte lime est tracée au prix d'ouverture de la bougie du milieu (2ème bougie).

  • La ligne s'étend loin dans le futur jusqu'à ce que le prix revienne.


EXPLICATION DES ENTRÉES

mq5
input color BoxColor = clrBlue; // Couleur du rectangle du schéma de 3 bougies
input color EntryLineColor = clrLime; // Couleur de la ligne d'entrée
input ENUM_LINE_STYLE EntryLineStyle = STYLE_SOLID; // Style de la ligne d'entrée
input int BoxWidth = 2; // Largeur de la bordure du rectangle
input int EntryLineWidth = 2; // Largeur de la ligne d'entrée
input int EntryLineLength = 200; // Combien de temps la ligne d'atténuation s'étend

Ces entrées vous permettent de contrôler entièrement le style du rectangle et de la ligne d'entrée.

IDÉE PRINCIPALE

Nous recherchons un schéma haussier en 3 bougies :

1. Première bougie – forte hausse (spike)

2. Deuxième bougie – retracement baissier

3. Troisième bougie – forte hausse à nouveau

Lorsque cela apparaît, nous traçons :

- Un rectangle autour du schéma

- Une ligne horizontale à l'ouverture de la 2ème bougie (point d'entrée)

Dès que le prix revient à cette ligne ("atténuation"), nous raccourcissons la ligne et évitons de la redessiner.

DÉTECTION DE SCHÉMA (À CHAQUE TICK)

for (int i = limit - 3; i >= 0; i--) {
if (isBullish(i + 2) && isBearish(i + 1) && isBullish(i)) {
double high = MathMax(MathMax(High[i], High[i + 1]), High[i + 2]);
double low = MathMin(MathMin(Low[i], Low[i + 1]), Low[i + 2]);
double entry = Open[i + 1];
PatternInfo *pattern = new PatternInfo;
pattern.time = Time[i];
pattern.entry = entry;
pattern.high = high;
pattern.low = low;
pattern.mitigated = false;
}
}
DESSINER LA ZONE ET LA LIGNE
string boxName = "Box_" + IntegerToString(Time[i]);
ObjectCreate(0, boxName, OBJ_RECTANGLE, 0, Time[i + 2], high, Time[i], low);
string lineName = "EntryLine_" + IntegerToString(Time[i]);
ObjectCreate(0, lineName, OBJ_TREND, 0, Time[i], entry, Time[i] + PeriodSeconds() * EntryLineLength, entry);

VÉRIFICATION D'ATTÉNUATION (À CHAQUE TICK)

for (int p = 0; p < activePatterns.Total(); p++) {
PatternInfo *pt = (PatternInfo*)activePatterns.At(p);
if (!pt.mitigated && Low[0] <= pt.entry) {
pt.mitigated = true;
ObjectDelete("EntryLine_" + IntegerToString(pt.time));
ObjectCreate(0, "MitigatedLine_" + IntegerToString(pt.time), OBJ_TREND, 0, pt.time, pt.entry, Time[0], pt.entry);
}
}

FONCTIONS AIDE

bool isBullish(int i) {
return Close[i] > Open[i];
}
bool isBearish(int i) {
return Close[i] < Open[i];
}

Cet indicateur est simple mais puissant :

  • Détecte le comportement réel des spikes sur Boom
  • Visualise les entrées des investisseurs avisés
  • Détecte automatiquement l'atténuation

Vous pouvez désormais le tester en direct sur Boom 500 ou Boom 1000.


Merci de laisser un commentaire si vous souhaitez poser des questions ou partager vos expériences.


Articles connexes

Commentaire (0)