Prism Candle Forge

Prism Candle Forge — Motore di Riconoscimento Pattern Candlestick per MT4

Prism Candle Forge e una libreria nativa MQL4 per rilevare e validare oltre 20 pattern candlestick giapponesi tramite analisi geometrica ponderata con ATR. Offre identificazione dei pattern, punteggio di affidabilita direzionale, classificazione morfologica e validazione di trend tramite 8 funzioni esportate per EA, Indicatori o Script. Zero DLL, nessuna dipendenza, puro calcolo in MQL4.

Distribuito come binario compilato (Prism_Candle_Forge.ex4). Questa descrizione e il riferimento completo per l'API.

Installazione

  1. Scarica Prism_Candle_Forge.ex4 dal Market MQL5.
  2. Posiziona il file in: MQL4/Libraries/
  3. Aggiungi il blocco #import sottostante nel file .mq4.
  4. Compila il tuo EA o Indicatore. Tutte le 8 funzioni saranno disponibili.

Dichiarazione di Importazione (Pronta per il Copia-Incolla)

#import "Prism_Candle_Forge.ex4"
   int    PCF_DetectPattern(const double &open[], const double &high[], const double &low[], const double &close[],
                             int bar_index, double atr_value, string &pattern_name, double &confidence, int &direction);
   int    PCF_ScanMultiPattern(const double &open[], const double &high[], const double &low[], const double &close[],
                                int bar_index, double atr_value, string &pattern_names[], double &confidences[],
                                int &directions[], int max_patterns);
   double PCF_PatternStrength(const double &open[], const double &high[], const double &low[], const double &close[],
                               int bar_index, double atr_value);
   int    PCF_CandleType(double open_price, double high_price, double low_price, double close_price, double atr_value);
   double PCF_BodyRatio(double open_price, double high_price, double low_price, double close_price);
   double PCF_WickBalance(double open_price, double high_price, double low_price, double close_price);
   int    PCF_IsTrendConfirmed(const double &close[], int bar_index, int lookback_period, double min_slope_pips);
   int    PCF_GetVersion();
#import

Riferimento API

PCF_DetectPattern

Rileva il pattern candlestick piu forte su una barra. Riconosce 20+ pattern: Hammer, Engulfing, Morning/Evening Star, varianti Doji, Piercing Line, Dark Cloud Cover, Three White Soldiers, Three Black Crows, Harami, Tweezer, Marubozu, Hanging Man, Shooting Star.

Parametri:

  • open[], high[], low[], close[]: Array di prezzi OHLC dal grafico.
  • bar_index: Indice della barra da analizzare entro i limiti dell'array.
  • atr_value: Valore ATR corrente per il calcolo adattivo delle soglie (> 0).
  • pattern_name (by ref): Nome del pattern piu forte rilevato (es. "Bullish Engulfing").
  • confidence (by ref): Affidabilita del pattern da 0.0 (debole) a 1.0 (perfetto).
  • direction (by ref): +1 per segnale rialzista, -1 per segnale ribassista.

Restituisce: Numero di pattern rilevati (0 se nessuno). Assegna a output il pattern migliore.

PCF_ScanMultiPattern

Scansiona TUTTI i pattern su una barra e restituisce risultati ordinati per confidenza decrescente.

Parametri:

  • open[], high[], low[], close[]: Array di prezzi OHLC.
  • bar_index: Barra da analizzare.
  • atr_value: ATR per soglie adattive.
  • pattern_names[] (by ref): Array per i nomi dei pattern (fino a max_patterns).
  • confidences[] (by ref): Array per i punteggi di confidenza.
  • directions[] (by ref): Array per le direzioni (+1/-1).
  • max_patterns: Numero massimo di risultati da restituire (es. 5).

Restituisce: Numero effettivo di pattern trovati (da 0 a max_patterns).

PCF_PatternStrength

Restituisce un punteggio aggregato di pressione direzionale di tutti i pattern di una barra.

Parametri:

  • open[], high[], low[], close[]: Array OHLC.
  • bar_index: Indice della barra target.
  • atr_value: ATR per la scalatura.

Restituisce: Punteggio da -100.0 (forte ribasso) a +100.0 (forte rialzo). Zero indica neutralita.

PCF_CandleType

Classifica una candela in uno degli 8 tipi morfologici in base alle proporzioni relative all'ATR.

Parametri:

  • open_price, high_price, low_price, close_price: Valori OHLC della singola candela.
  • atr_value: ATR per il dimensionamento (se <= 0, usa soglie assolute).

Restituisce: 1=Bull Marubozu, 2=Bear Marubozu, 3=Hammer, 4=Inverted Hammer, 5=Doji, 6=Spinning Top, 7=Standard Bull, 8=Standard Bear.

PCF_BodyRatio

Calcola rapporto corpo/ampiezza totale della candela per valutarne significativita.

Parametri:

  • open_price, high_price, low_price, close_price: OHLC della singola candela.

Restituisce: Rapporto da 0.0 (senza corpo / doji) a 1.0 (marubozu). 0.0 se il range e zero.

PCF_WickBalance

Misura l'asimmetria direzionale delle ombre (stoppini) della candela.

Parametri:

  • open_price, high_price, low_price, close_price: OHLC della singola candela.

Restituisce: Da -1.0 (solo ombra inferiore, rigetto ribassista) a +1.0 (solo ombra superiore, rigetto rialzista). 0.0 per ombre simmetriche.

PCF_IsTrendConfirmed

Valida la direzione del trend tramite la pendenza della regressione lineare su finestra di lookback.

Parametri:

  • close[]: Array dei prezzi di chiusura close[].
  • bar_index: Barra iniziale della finestra di analisi.
  • lookback_period: Numero di barre da valutare (minimo 5).
  • min_slope_pips: Pendenza assoluta minima (in pips) per qualificare il trend.

Restituisce: +1 (trend rialzista), -1 (trend ribassista), 0 (fase laterale o dati insufficienti).

PCF_GetVersion

Restituisce la versione della libreria come valore intero per controlli.

Restituisce: 100 (rappresenta la versione 1.00).

Esempio di Integrazione Funzionante

#property strict
#import "Prism_Candle_Forge.ex4"
   int    PCF_DetectPattern(const double &open[], const double &high[], const double &low[], const double &close[],
                             int bar_index, double atr_value, string &pattern_name, double &confidence, int &direction);
   double PCF_PatternStrength(const double &open[], const double &high[], const double &low[], const double &close[],
                               int bar_index, double atr_value);
   int    PCF_CandleType(double open_price, double high_price, double low_price, double close_price, double atr_value);
   int    PCF_GetVersion();
#import

void OnTick()
{
   double o[], h[], l[], c[];
   ArrayCopyRates(o, Symbol(), 0);
   int copied = CopyOpen(Symbol(), 0, 0, 100, o);
   CopyHigh(Symbol(), 0, 0, 100, h);
   CopyLow(Symbol(), 0, 0, 100, l);
   CopyClose(Symbol(), 0, 0, 100, c);

   double atr = iATR(Symbol(), 0, 14, 1);

   string pat_name;
   double conf;
   int dir;
   int count = PCF_DetectPattern(o, h, l, c, 1, atr, pat_name, conf, dir);

   if(count > 0)
      Print("Pattern: ", pat_name, " Confidence: ", conf, " Direction: ", dir);

   double strength = PCF_PatternStrength(o, h, l, c, 1, atr);
   Print("Aggregate Strength: ", strength);

   int candle = PCF_CandleType(o[1], h[1], l[1], c[1], atr);
   Print("Candle Type: ", candle);
}

Architettura

Tutte le 8 funzioni sono stateless e indipendenti. Ciascuna chiamata esegue pura analisi geometrica e statistica su array OHLC, senza stato persistente, oggetti grafici, timer o rete. Le soglie relative ad ATR assicurano precisione su tutti gli strumenti e timeframe senza calibrazione manuale.

Compatibilita

  • Piattaforma: Esclusivamente MetaTrader 4
  • Tester Strategia: Pienamente compatibile (backtesting e ottimizzazione)
  • Dipendenze: Nessuna (zero DLL)
  • Nessun oggetto grafico, timer o carico visuale — puro motore di calcolo
  • Thread Safety: Tutte le funzioni sono stateless; sicure per l'uso contemporaneo su piu grafici

Altri dall’autore
EA Budak Ubat MT5
Syarief Azman Bin Rosli
EA Budak Ubat MT5 è un Expert Advisor automatizzato per il trading a griglia (Grid Martingale) sviluppato per MetaTrader 5. Combina analisi tecnica dei trend, calcolo dinamico della volatilità e gestione avanzata del rischio per operare efficacemente sia in fasi di congestione che di trend. Ottimizzato per il timeframe M5 sulle principali valute e sui metalli (XAUUSD / Oro). ### Caratteristiche Principali • 4 Metodi di Analisi Selezionabili:   1. Classic Candle: Momentum direzionale basato su
EA Budak Ubat
Syarief Azman Bin Rosli
4 (3)
Come funziona Quando l'EA è attivo, analizzerà il grafico in base al parametro Modalità di esecuzione. Se non ci sono posizioni esistenti sul grafico, l'EA aprirà un trade in base al parametro. Se il trend è rialzista, aprirà un trade di acquisto, mentre se è ribassista, aprirà un trade di vendita. Imposterà anche un ordine di stop loss a una certa distanza dal prezzo di apertura del trade se la variabile stop loss è maggiore di 0. 0 significa nessun stop loss. Se ci sono posizioni esistenti s
Indi RBO
Syarief Azman Bin Rosli
Input: Range Start Time : The starting time of the range creation Range End Time : The ending time of range creation Trade End Time : The time where the line of range zone high/low will be extended to Minimum Size : The minimum size of the range in point Maximum Size : The maximum size of the range in point If the range size is between the minimum and maximum, indicator will print the 1st color (blue).
Apex Flow Reversion
Syarief Azman Bin Rosli
# Apex Flow Reversion MT4 Apex Flow Reversion e un sistema di trading automatizzato sviluppato per MetaTrader 4 che applica una strategia intraday di reversione statistica verso la media. Il sistema monitora costantemente la deviazione del prezzo rispetto a un livello dinamico ponderato per i volumi (VWAP) e individua i punti di esaurimento del movimento attraverso bande di deviazione standard, il filtro di momentum Relative Strength Index (RSI) e le soglie di volatilita Average True Range (AT
Vortex Confluence Radar
Syarief Azman Bin Rosli
Vortex Confluence Radar MT4 Vortex Confluence Radar è un motore di valutazione della confluenza multi-oscillatore sviluppato nativamente per MetaTrader 4. L'indicatore fonde tre oscillatori tecnici di riferimento — Relative Vigor Index (RVI), Commodity Channel Index (CCI) e Williams Percent Range (WPR) — in un istogramma di momentum unificato, dotato di una linea di segnale smussata e avvisi automatici di incrocio. Architettura e segnali visivi dell'indicatore L'indicatore opera in una sottofine
Kinetix Speed Commander
Syarief Azman Bin Rosli
Kinetix Speed Commander MT4 Kinetix Speed Commander   è un cockpit istituzionale di esecuzione ordini in un clic, un calcolatore dinamico delle dimensioni della posizione e un terminale di gestione del rapporto rischio/rendimento sviluppato nativamente per MetaTrader 4. Concepito specificamente per i trader di società di prop trading (Prop Firms), scalper rapidi e day trader quantitativi, Kinetix Speed Commander elimina i ritardi dovuti ai calcoli manuali, gli errori di digitazione dei volumi e
Spectra Trend Ribbon
Syarief Azman Bin Rosli
# Spectra Trend Ribbon MT5 Spectra Trend Ribbon e un indicatore nativo per MetaTrader 5 progettato per determinare la direzione del trend e individuare con precisione le fasi di espansione della volatilita. Integra una linea di base centrale adattativa a triplo livellamento, bande dinamiche di oscillazione basate sull'Average True Range (ATR) e frecce automatiche di segnale al verificarsi di breakout di momentum. ## Spiegazione dei Segnali Visivi L'indicatore proietta cinque elementi visivi
Aegis Risk Sentinel
Syarief Azman Bin Rosli
Aegis Risk Sentinel MT5 Aegis Risk Sentinel   è un'utilità professionale di protezione dell'equity e gestione del rischio in tempo reale sviluppata in modo nativo per MetaTrader 5. Progettata per i trader di prop firm, gestori di fondi e day trader, Aegis impone una rigorosa disciplina matematica sul conto di trading, prevenendo drawdown rovinosi, trading emotivo di rivalsa e stop out dovuti a margin call. L'utilità dispone di un cruscotto grafico interattivo (HUD) sul grafico, sviluppato senza
Stratos Momentum Engine
Syarief Azman Bin Rosli
Stratos Momentum Engine MT5 Stratos Momentum Engine è un Expert Advisor algoritmico sviluppato per MetaTrader 5, progettato per operare su strategie di breakout del momentum su base multi-timeframe (MTF). Il sistema abbina l'analisi della regressione lineare sull'orizzonte H1 per determinare la direzione del trend primario, la sincronizzazione precisa dei punti di ingresso su timeframe M15 mediante l'oscillatore stocastico, e la conferma strutturale di breakout attraverso i canali di Donchian. L
Nexus Quant Matrix
Syarief Azman Bin Rosli
Nexus Quant Matrix MT5 Nexus Quant Matrix   è una libreria di calcolo quantitativo e analisi statistica in streaming di livello istituzionale, sviluppata nativamente per MetaTrader 5. Progettata per sviluppatori quantitativi, hedge fund sistematici e architetti di algoritmi, Nexus Quant Matrix garantisce un'elaborazione numerica ad alte prestazioni direttamente nell'ambiente MQL5 senza necessità di DLL esterne, Python o moduli C++. Operando con complessità computazionale O(1), la libreria gestis
Filtro:
Nessuna recensione
Rispondi alla recensione