Solar Wind_v1
Download scriptThis script, titled "Solar Wind," is a technical analysis tool designed to visualize market momentum and price trends in a separate window below the main trading chart. Instead of simply following price, it uses a mathematical approach to interpret the relationship between recent price highs and lows to identify underlying shifts in market sentiment.
Core Logic and Calculation
The indicator operates by analyzing a specific look-back period (defaulted to 10 bars). For every point on the chart, the script identifies the highest peak and the lowest valley within that timeframe. It then calculates the current price's position relative to these extremes.
By measuring where the price sits between the high and low, the tool generates a value that represents market "pressure." This value is smoothed out over time using a weighted formula, ensuring that the indicator reacts to sustained movements rather than erratic, momentary spikes. The result is a normalized figure that oscillates between positive and negative values, representing the strength of the current trend.
Visual Representation
The script translates these mathematical calculations into two distinct visual components:
- Trend Momentum: The primary data is transformed using a logarithmic scale to highlight transitions in momentum. This helps traders see how aggressively the price is moving toward a specific direction.
- Dynamic Color Coding: The logic distinguishes between bullish and bearish phases. When the calculated momentum is positive, the indicator highlights that movement (typically in green). When the momentum turns negative, it switches to a different color (typically red).
How it Functions for the Trader
Essentially, the "Solar Wind" tool acts as a filter to separate market noise from actual trend direction. By looking at the histogram:
- Directional Shifts: It provides a clear visual cue when the momentum flips from positive to negative or vice versa.
- Strength Assessment: The height of the bars indicates the intensity of the current trend.
- Trend Confirmation: It allows users to see if the current price action is supported by significant "pressure" from the recent high-low range, providing a secondary layer of confirmation for entry or exit points.
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
#property copyright "Copyright © 2005, Yura Prokofiev"
#property link "Yura.prokofiev@gmail.com"
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 Lime
#property indicator_color3 Red
extern int period=10;
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
int init()
{
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(Digits+1);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2);
IndicatorShortName("SOLAR WIND");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
return(0);
}
int start()
{
//int period=10;
int limit;
int counted_bars=IndicatorCounted();
double prev,current,old;
double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
double price;
double MinL=0;
double MaxH=0;
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{ MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];
price = (High[i]+Low[i])/2;
Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;
Value=MathMin(MathMax(Value,-0.999),0.999);
ExtBuffer0[i]=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;
Value1=Value;
Fish1=ExtBuffer0[i];
}
bool up=true;
for(i=limit-2; i>=0; i--)
{
current=ExtBuffer0[i];
prev=ExtBuffer0[i+1];
if (((current<0)&&(prev>0))||(current<0)) up= false;
if (((current>0)&&(prev<0))||(current>0)) up= true;
if(!up)
{
ExtBuffer2[i]=current;
ExtBuffer1[i]=0.0;
}
else
{
ExtBuffer1[i]=current;
ExtBuffer2[i]=0.0;
}
}
return(0);
}
Comments