Spyker
Download scriptThe Spyker indicator is a specialized technical analysis tool designed to help traders visualize momentum and price trends by calculating the relationship between opening and closing prices. Rather than looking at raw price action, it simplifies market data into two distinct visual lines that provide insights into the "strength" of a currency or asset's movement.
How the Logic Works
The indicator operates in two primary stages:
1. Calculating the Core Momentum (The Primary Line) The tool first looks at the very latest price activity (the current candle). It calculates the difference between the current closing price and the opening price, using a highly responsive moving average as its foundation. By focusing on this specific gap, the indicator highlights how much "push" or momentum is behind a price move in real-time. Because it uses a very short timeframe for this calculation, it is designed to be highly sensitive to immediate market shifts.
2. Smoothing the Data (The Signal Line) Because raw momentum can be volatile and "noisy," the indicator performs a second step to make the data more readable. It takes the results from the first step and applies a much broader smoothing average to them. This creates a secondary "Signal" line. While the primary line shows you what is happening right now, this signal line acts as a stabilizer, helping to filter out minor market fluctuations so you can see the larger trend more clearly.
How to Interpret the Results
The tool displays two lines in a separate window below your main price chart:
- The Primary Line: Represents the immediate momentum of the market.
- The Signal Line: Acts as a baseline or "guide."
By observing the relationship between these two lines, traders can look for moments where the rapid momentum (the first line) deviates significantly from the established trend (the signal line). When these two lines interact or cross, it can suggest potential shifts in market direction, providing a visual cue to help identify whether a trend is gaining strength, losing steam, or preparing for a reversal.
//+------------------------------------------------------------------+
//| Spyker.mq4 |
//| Copyright © 2006, Jimmy Boucher. |
//| EMail: j_boucher@telkomsa.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Jimmy Boucher."
#property link "EMail: j_boucher@telkomsa.net"
//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Gold
#property indicator_width1 1
//---- indicator parameters
extern int JimmyEMA=1;
extern int SignalSMA=375;
//---- indicator buffers
double MacdBuffer[];
double SignalBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,SignalSMA);
IndicatorDigits(Digits+1);
//---- indicator buffers mapping
SetIndexBuffer(0,MacdBuffer);
SetIndexBuffer(1,SignalBuffer);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("Spyker ("+JimmyEMA+","+SignalSMA+")");
SetIndexLabel(0,"Spyker");
SetIndexLabel(1,"Signal");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i<limit; i++)
MacdBuffer[i]=iMA(NULL,0,JimmyEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,JimmyEMA,0,MODE_EMA,PRICE_OPEN,i);
//---- signal line counted in the 2-nd buffer
for(i=0; i<limit; i++)
SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
return(0);
}
//+------------------------------------------------------------------+
Comments