Monday, March 7, 2016

Larry Williams Will Spread Script


The spread (A/B *100) takes two underlyings, get the exponential average creating exponential period (5) and subtract from another exponential period (20). The example he gives is that bonds move stocks, so we take the S&P and bonds. Get a will spread of SPY & TLT.

Description  Source: https://www.instaforex.com/forex_indicators/will_spread.php
The technical indicator Will-Spread was developed by Larry Williams and described in his book Long-Term Secrets to Short-Term Trading. Will-Spread is one of the strongest financial indicators, which measures the flow of price between the primary market and a secondary market. The purpose of this comparison is to highlight signals for opening/closing positions of a financial asset through market signals that have influence on this particular asset. Once the Will Spread turns positive, look for the next bar to be above bar when Will spread turned positive to get long. http://tos.mx/Eqjf7S

Indicator Use


Trading use The main method of using Will-Spread is watching the way it crossing the zero line. If the indicator crosses the zero line upward, rising trend is likely to continue. When the indicator falls below the zero line, there is an obvious downtrend. The author offered to use the indicator in trading from the standpoint of a filter: when Will-Spread crosses the zero line, a trader should wait for the formation of the bar that follows after the signal. In case the new bar generates a high/low above/below the previous one, a trader should open position. It is not recommended to open position if the bar does not form a new high/low.


#Spread = (Close (market1, n)/Close (market2, n))*100
# Will-Spread = EMA (5, Spread) – EMA (20, Spread)


declare lower;

input price = FundamentalType.CLOSE;
input relationWithSecurity = "TLT";

#daily time frame use 5 / 20 time period
#intraday 30 minute chart will useuse 3 / 15 time periods
input length1 = 5;
input length2 = 20;
input zero_line = 0;

#input averageType = AverageType.exponential;

def price1 = Fundamental(price);
def price2 = Fundamental(price, relationWithSecurity);

def spread = (price1 / price2)*100;

def num1 = ExpAverage(spread, length1);
def num2 = ExpAverage(spread, length2);


plot spreadplot = num1 - num2;
Plot zeroline = zero_line;

spreadplot.SetDefaultColor(GetColor(8));
zeroline.setdefaultcolor(getcolor(5));

spreadplot.DefineColor("Above", GetColor(6));
spreadplot.DefineColor("Normal", GetColor(7));
spreadplot.DefineColor("Below", GetColor(5));
spreadplot.AssignValueColor(if spreadplot > zero_line then spreadplot.color("Above") else if spreadplot < zero_line 
then spreadplot.color("Below") else spreadplot.color("Normal"));
spreadplot.SetDefaultColor(GetColor(6));
spreadplot.SetDefaultColor(GetColor(7));





0 comments: