| snappyfrog 749 posts
 msg #157891
 - Ignore snappyfrog
 | 10/17/2021 12:03:47 PM 
 Wondering if any of you can convert these 2 oscillators into SF code.
 
 First Oscillator:
 
 declare lower;
 input periods = 21;
 Input LengthA = 5;
 input over_Bought = .20;
 input over_Sold = -.20;
 
 
 def C = close;
 
 def H = high;
 
 def L = low;
 
 def V = volume;
 
 def TRH = Max(H,C[1]);
 
 def TRL = Min(L, C[1]);
 
 def TR = TRH - TRL;
 
 def ADV =((C-TRL)-(TRH-C))/ (If TR == 0 then 999999 else TR) * V;
 
 plot NewCMF = if WildersAverage(V,periods) == 0
 
 then 0
 
 else WildersAverage(ADV, periods) / WildersAverage(V, periods);
 Plot NewCMFA = ExpAverage(NewCMF,LengthA);
 NewCMFA.SetDefaultColor(Color.Yellow);
 plot ZeroLine = 0;
 AddCloud(NewCMF,Zeroline,Color.Green,Color.Red);
 ZeroLine.SetDefaultColor(color.gray);
 
 plot OverSold = over_Sold;
 OverSold.SetDefaultColor(Color.Orange);
 OverSold.SetPaintingStrategy(PaintingStrategy.Dashes);
 plot OverBought = over_Bought;
 OverBought.SetDefaultColor(Color.Orange);
 OverBought.SetPaintingStrategy(PaintingStrategy.Dashes);
 
 NewCMF.DefineColor("OverBought", GetColor(5));
 NewCMF.DefineColor("Normal", GetColor(7));
 NewCMF.DefineColor("OverSold", GetColor(1));
 NewCMF.AssignValueColor(if  NewCMF > over_Bought then  NewCMF.color("OverBought") else if  NewCMF < over_Sold then  NewCMF.color("OverSold") else  NewCMF.color("Normal"));
 NewCMF.SetLineweight(3);
 
 
 Second Oscillator:
 
 declare lower;
 input Channel_Length = 10;
 input Average_Length = 21;
 input wt_Length = 4;
 def esa = MovingAverage(AverageType.EXPONENTIAL, hlc3, Channel_Length);
 def d = MovingAverage(AverageType.EXPONENTIAL, AbsValue(hlc3 - esa), Channel_Length);
 def ci = (hlc3 - esa) / (0.01 * d);
 def tci = MovingAverage(AverageType.EXPONENTIAL, ci, Average_Length);
 plot wt1 = tci;
 wt1.SetDefaultColor(Color.GREEN);
 plot wt2 = MovingAverage(AverageType.Simple, Wt1, wt_Length);
 wt2.SetDefaultColor(Color.RED);
 
 input overBought = 60;
 input overSold = -60;
 plot zero = 0;
 zero.setDefaultColor(color.white);
 plot ob = overBought;
 plot os = oversold;
 ob.setDefaultColor(color.red);
 os.setDefaultColor(color.Green);
 plot top = 100;
 plot bottom = -100;
 top.setDefaultColor(color.Gray);
 bottom.setDefaultColor(color.Gray);
 plot line=0;
 
 Obviously, the colors are not important, but I included everything so as not to miss something.
 
 Thanks for all of your help.  I really like the Weekly and Daily MACD help you all gave me before!
 
 
 
 |