# Multiple moving averages of the Fish For ThinkOrSwim

#### asianboy

##### New member

from http://share-tos.blogspot.com/2010/01/multiple-moving-averages-of-fish.html

Code:
``````# Multiple moving averages of the Fish

#by Wavetrader » Mon Oct 26, 2009 8:53 pm

#

#

declare lower;

input length = 10;

def maxHigh = Highest(high, length);

def minLow = Lowest(low, length);

rec value = if maxHigh - minLow == 0 then 0 else 0.66 * ((close - minLow) / (maxHigh - minLow) - 0.5) + 0.67 * value[1];

def truncValue = if value > 0.99 then 0.999 else if value < -0.99 then -0.999 else value; rec fish = 0.5 * (log((1 + truncValue) / (1 - truncValue)) + fish[1]); plot FTOneBarBack = fish[1]; FTOneBarBack.SetDefaultColor(GetColor(1)); plot FT = fish; FT.SetDefaultColor(GetColor(8)); plot ZeroLine = 0; ZeroLine.SetDefaultColor(GetColor(3)); plot SMA = simpleMovingAvg(ft, 1); plot SMA1 = simpleMovingAvg(ft, 5); plot SMA2 = simpleMovingAvg(ft, 10); plot SMA3 = simpleMovingAvg(ft, 15); plot SMA4 = simpleMovingAvg(ft, 20); plot SMA5 = simpleMovingAvg(ft, 30); plot SMA6 = simpleMovingAvg(ft, 40); plot SMA7 = simpleMovingAvg(ft, 7); plot SMA8 = simpleMovingAvg(ft, 3); plot SMA9 = simpleMovingAvg(ft, 25); plot SMA10 = simpleMovingAvg(ft, 50); plot SMA11 = simpleMovingAvg(ft, 35); plot SMA12 = simpleMovingAvg(ft, 7); plot SMA13 = simpleMovingAvg(ft, 45); plot SMA14 = simpleMovingAvg(ft, 17); AddCloud(sma, sma10); AddCloud(sma, sma6); AddCloud(sma, sma3); AddCloud(sma, sma1); AddCloud(sma, sma2); AddCloud(sma, sma4); AddCloud(sma, sma5); AddCloud(sma, sma7); AddCloud(sma, sma9); AddCloud(sma, sma11); AddCloud(sma, sma12); AddCloud(sma, sma13); AddCloud(sma, sma14); SMA.AssignValueColor(if ft > SMA[1] then color.green else color.red);

SMA1.AssignValueColor(if ft > SMA1[1] then color.green else color.red);

SMA2.AssignValueColor(if ft > SMA2[1] then color.green else color.red);

SMA3.AssignValueColor(if ft > SMA3[1] then color.green else color.red);

SMA4.AssignValueColor(if ft > SMA4[1] then color.green else color.red);

SMA5.AssignValueColor(if ft > SMA5[1] then color.green else color.red);

SMA6.AssignValueColor(if ft > SMA6[1] then color.green else color.red);

SMA7.AssignValueColor(if ft > SMA7[1] then color.green else color.red);

SMA8.AssignValueColor(if ft > SMA8[1] then color.green else color.red);

SMA9.AssignValueColor(if ft > SMA9[1] then color.green else color.red);

SMA10.AssignValueColor(if ft > SMA10[1] then color.green else color.red);

SMA11.AssignValueColor(if ft > SMA11[1] then color.green else color.red);

SMA12.AssignValueColor(if ft > SMA12[1] then color.green else color.red);

SMA13.AssignValueColor(if ft > SMA13[1] then color.green else color.red);

SMA14.AssignValueColor(if ft > SMA14[1] then color.green else color.red);``````

thanks for sharing I think some of the logic from the ribbon can be turned into an exit/stop indicator - I need to isolate the logic and think can turn this into stop indicator to get out of an existing trade to lock profit. look at the line when it hits the bottom, seems like a good time to exit a trade.

Stop signal is generated when line cross zeroline (red line).

#### Attachments

• KMxZWXX.png
273.6 KB · Views: 199
Last edited:
@diazlaz wow very nice chart you did upgrade. can you shared the chart ?

will do as soon as i'm done will share the revised version. in the meantime look at this one.

thanks for sharing I think some of the logic from the ribbon can be turned into an exit/stop indicator - I need to isolate the logic and think can turn this into stop indicator to get out of an existing trade to lock profit. look at the line when it hits the bottom, seems like a good time to exit a trade.

Stop signal is generated when line cross zeroline (red line).
that observation trend is something i'm really interested in is there anywhere i can find something like this? thanks

#### Attachments

• KMxZWXX.png
273.6 KB · Views: 180
that observation trend is something i'm really interested in is there anywhere i can find something like this? thanks
welcome to the community! - let me provide you a few links to help you get started. there are many trend following indicators here, from ma's to a number of published indicators.

welcome to the community! - let me provide you a few links to help you get started. there are many trend following indicators here, from ma's to a number of published indicators.

not sure that's what i'm looking for i think you thought i was talking about the top part but i meant the bottom posted picture you see the trend indicator you have on the bottom observation trend, that's what i'm trying to work on, just something simple like this but I can't get it right.

thanks for sharing I think some of the logic from the ribbon can be turned into an exit/stop indicator - I need to isolate the logic and think can turn this into stop indicator to get out of an existing trade to lock profit. look at the line when it hits the bottom, seems like a good time to exit a trade.

Stop signal is generated when line cross zeroline (red line).
@diazlaz what is the bottom study called? Do you have the script for it?

#### Attachments

• KMxZWXX.png
273.6 KB · Views: 172
@diazlaz what is the bottom study called? Do you have the script for it?
I'm really intrigued too, if it's prop I understand but even as so if I could get some parameters to try and build one myself that'd be awesome.

@diazlaz what is the bottom study called? Do you have the script for it?
I am also looking for the script. I want to know how to draw in this dot format. Anyone can help?

Here is an updated version, Added arrows, paintbars, and Labels
Code:
``````# Multiple moving averages of the Fish
#by Wavetrader » Mon Oct 26, 2009 8:53 pm
#Ammended by Henry Kaczmarczyk Sun Aug 22, 2021 4:25 pm
#Cleaned up the MA's
#Added Arrows based on FT crossing FTOneBarBack
#Added PaintBars Based on FT crossing FTOneBarBack
#Added Labels based on FT crossing SMA's
declare lower;
input length = 10;
input Arrows = yes;
Input Dotsize = 3;
input paintbars = yes;
Input Show_Labels = Yes;
def maxHigh = Highest(high, length);
def minLow = Lowest(low, length);

rec value = if maxHigh - minLow == 0 then 0 else 0.66 * ((close - minLow) / (maxHigh - minLow) - 0.5) + 0.67 * value[1];

def truncValue = if value > 0.99 then 0.999 else if value < -0.99 then -0.999 else value;
rec fish = 0.5 * (log((1 + truncValue) / (1 - truncValue)) + fish[1]);
plot FTOneBarBack = fish[1];
FTOneBarBack.SetDefaultColor(GetColor(1));
FTOneBarBack.SetLineWeight(2);
plot FT = fish;
FT.SetDefaultColor(GetColor(8));
FT.setLineWeight(2);
plot ZeroLine = 0;
ZeroLine.SetDefaultColor(GetColor(3));
plot SMA = simpleMovingAvg(ft, 1);
plot SMA1 = simpleMovingAvg(ft, 3);
plot SMA2 = simpleMovingAvg(ft, 5);
plot SMA3 = simpleMovingAvg(ft, 7);
plot SMA4 = simpleMovingAvg(ft, 10);
plot SMA5 = simpleMovingAvg(ft, 15);
plot SMA6 = simpleMovingAvg(ft, 17);
plot SMA7 = simpleMovingAvg(ft, 20);
plot SMA8 = simpleMovingAvg(ft, 25);
plot SMA9 = simpleMovingAvg(ft, 30);
plot SMA10 = simpleMovingAvg(ft, 35);
plot SMA11 = simpleMovingAvg(ft, 40);
plot SMA12 = simpleMovingAvg(ft, 45);
plot SMA13 = simpleMovingAvg(ft, 50);
SMA.AssignValueColor(if ft > SMA[1] then color.green else color.red);
SMA1.AssignValueColor(if ft > SMA1[1] then color.green else color.red);
SMA2.AssignValueColor(if ft > SMA2[1] then color.green else color.red);
SMA3.AssignValueColor(if ft > SMA3[1] then color.green else color.red);
SMA4.AssignValueColor(if ft > SMA4[1] then color.green else color.red);
SMA5.AssignValueColor(if ft > SMA5[1] then color.green else color.red);
SMA6.AssignValueColor(if ft > SMA6[1] then color.green else color.red);
SMA7.AssignValueColor(if ft > SMA7[1] then color.green else color.red);
SMA8.AssignValueColor(if ft > SMA8[1] then color.green else color.red);
SMA9.AssignValueColor(if ft > SMA9[1] then color.green else color.red);
SMA10.AssignValueColor(if ft > SMA10[1] then color.green else color.red);
SMA11.AssignValueColor(if ft > SMA11[1] then color.green else color.red);
SMA12.AssignValueColor(if ft > SMA12[1] then color.green else color.red);
SMA13.AssignValueColor(if ft > SMA13[1] then color.green else color.red);

#ARROWS
plot ArrowDown = if arrows and (Ft Crosses below FTOneBarBack) then FT else double.nan;
ArrowDown.setpaintingStrategy(paintingStrategy.Arrow_Down);
ArrowDown.setDefaultColor(color.Magenta);
ArrowDown.setLineWeight(dotsize);

plot ArrowUp = if arrows and (FT crosses above FTOneBarBack ) then FT else double.nan;
ArrowUp.setpaintingStrategy(paintingStrategy.Arrow_Up);
ArrowUp.setDefaultColor(color.Cyan);
ArrowUp.setLineWeight(dotsize);

AssignPriceColor( if paintbars and FT > FTOneBarBack then Color.Green else if paintbars and FT < FTOneBarBack then Color.Red else  color.current);

AddLabel(Show_labels,"SMA:" + SMA,if ft > SMA[1] then color.green else color.red);
AddLabel(Show_labels,"1MA:" + SMA1,if ft > SMA1[1] then color.green else color.red);
AddLabel(Show_labels,"2MA:" + SMA2,if ft > SMA2[1] then color.green else color.red);
AddLabel(Show_labels,"3MA:" + SMA3,if ft > SMA3[1] then color.green else color.red);
AddLabel(Show_labels,"4MA:" + SMA4,if ft > SMA4[1] then color.green else color.red);
AddLabel(Show_labels,"5MA:" + SMA5,if ft > SMA5[1] then color.green else color.red);
AddLabel(Show_labels,"6MA:" + SMA6,if ft > SMA6[1] then color.green else color.red);
AddLabel(Show_labels,"7MA:" + SMA7,if ft > SMA7[1] then color.green else color.red);
AddLabel(Show_labels,"8MA:" + SMA8,if ft > SMA8[1] then color.green else color.red);
AddLabel(Show_labels,"9MA:" + SMA9,if ft > SMA9[1] then color.green else color.red);
AddLabel(Show_labels,"10MA:" + SMA10,if ft > SMA10[1] then color.green else color.red);
AddLabel(Show_labels,"11MA:" + SMA11,if ft > SMA11[1] then color.green else color.red);
AddLabel(Show_labels,"12MA:" + SMA12,if ft > SMA12[1] then color.green else color.red);
AddLabel(Show_labels,"13MA:" + SMA13,if ft > SMA13[1] then color.green else color.red);``````

Here is an updated version, Added arrows, paintbars, and Labels
Code:
``````# Multiple moving averages of the Fish
#by Wavetrader » Mon Oct 26, 2009 8:53 pm
#Ammended by Henry Kaczmarczyk Sun Aug 22, 2021 4:25 pm
#Cleaned up the MA's
#Added Arrows based on FT crossing FTOneBarBack
#Added PaintBars Based on FT crossing FTOneBarBack
#Added Labels based on FT crossing SMA's
declare lower;
input length = 10;
input Arrows = yes;
Input Dotsize = 3;
input paintbars = yes;
Input Show_Labels = Yes;
def maxHigh = Highest(high, length);
def minLow = Lowest(low, length);

rec value = if maxHigh - minLow == 0 then 0 else 0.66 * ((close - minLow) / (maxHigh - minLow) - 0.5) + 0.67 * value[1];

def truncValue = if value > 0.99 then 0.999 else if value < -0.99 then -0.999 else value;
rec fish = 0.5 * (log((1 + truncValue) / (1 - truncValue)) + fish[1]);
plot FTOneBarBack = fish[1];
FTOneBarBack.SetDefaultColor(GetColor(1));
FTOneBarBack.SetLineWeight(2);
plot FT = fish;
FT.SetDefaultColor(GetColor(8));
FT.setLineWeight(2);
plot ZeroLine = 0;
ZeroLine.SetDefaultColor(GetColor(3));
plot SMA = simpleMovingAvg(ft, 1);
plot SMA1 = simpleMovingAvg(ft, 3);
plot SMA2 = simpleMovingAvg(ft, 5);
plot SMA3 = simpleMovingAvg(ft, 7);
plot SMA4 = simpleMovingAvg(ft, 10);
plot SMA5 = simpleMovingAvg(ft, 15);
plot SMA6 = simpleMovingAvg(ft, 17);
plot SMA7 = simpleMovingAvg(ft, 20);
plot SMA8 = simpleMovingAvg(ft, 25);
plot SMA9 = simpleMovingAvg(ft, 30);
plot SMA10 = simpleMovingAvg(ft, 35);
plot SMA11 = simpleMovingAvg(ft, 40);
plot SMA12 = simpleMovingAvg(ft, 45);
plot SMA13 = simpleMovingAvg(ft, 50);
SMA.AssignValueColor(if ft > SMA[1] then color.green else color.red);
SMA1.AssignValueColor(if ft > SMA1[1] then color.green else color.red);
SMA2.AssignValueColor(if ft > SMA2[1] then color.green else color.red);
SMA3.AssignValueColor(if ft > SMA3[1] then color.green else color.red);
SMA4.AssignValueColor(if ft > SMA4[1] then color.green else color.red);
SMA5.AssignValueColor(if ft > SMA5[1] then color.green else color.red);
SMA6.AssignValueColor(if ft > SMA6[1] then color.green else color.red);
SMA7.AssignValueColor(if ft > SMA7[1] then color.green else color.red);
SMA8.AssignValueColor(if ft > SMA8[1] then color.green else color.red);
SMA9.AssignValueColor(if ft > SMA9[1] then color.green else color.red);
SMA10.AssignValueColor(if ft > SMA10[1] then color.green else color.red);
SMA11.AssignValueColor(if ft > SMA11[1] then color.green else color.red);
SMA12.AssignValueColor(if ft > SMA12[1] then color.green else color.red);
SMA13.AssignValueColor(if ft > SMA13[1] then color.green else color.red);

#ARROWS
plot ArrowDown = if arrows and (Ft Crosses below FTOneBarBack) then FT else double.nan;
ArrowDown.setpaintingStrategy(paintingStrategy.Arrow_Down);
ArrowDown.setDefaultColor(color.Magenta);
ArrowDown.setLineWeight(dotsize);

plot ArrowUp = if arrows and (FT crosses above FTOneBarBack ) then FT else double.nan;
ArrowUp.setpaintingStrategy(paintingStrategy.Arrow_Up);
ArrowUp.setDefaultColor(color.Cyan);
ArrowUp.setLineWeight(dotsize);

AssignPriceColor( if paintbars and FT > FTOneBarBack then Color.Green else if paintbars and FT < FTOneBarBack then Color.Red else  color.current);

AddLabel(Show_labels,"SMA:" + SMA,if ft > SMA[1] then color.green else color.red);
AddLabel(Show_labels,"1MA:" + SMA1,if ft > SMA1[1] then color.green else color.red);
AddLabel(Show_labels,"2MA:" + SMA2,if ft > SMA2[1] then color.green else color.red);
AddLabel(Show_labels,"3MA:" + SMA3,if ft > SMA3[1] then color.green else color.red);
AddLabel(Show_labels,"4MA:" + SMA4,if ft > SMA4[1] then color.green else color.red);
AddLabel(Show_labels,"5MA:" + SMA5,if ft > SMA5[1] then color.green else color.red);
AddLabel(Show_labels,"6MA:" + SMA6,if ft > SMA6[1] then color.green else color.red);
AddLabel(Show_labels,"7MA:" + SMA7,if ft > SMA7[1] then color.green else color.red);
AddLabel(Show_labels,"8MA:" + SMA8,if ft > SMA8[1] then color.green else color.red);
AddLabel(Show_labels,"9MA:" + SMA9,if ft > SMA9[1] then color.green else color.red);
AddLabel(Show_labels,"10MA:" + SMA10,if ft > SMA10[1] then color.green else color.red);
AddLabel(Show_labels,"11MA:" + SMA11,if ft > SMA11[1] then color.green else color.red);
AddLabel(Show_labels,"12MA:" + SMA12,if ft > SMA12[1] then color.green else color.red);
AddLabel(Show_labels,"13MA:" + SMA13,if ft > SMA13[1] then color.green else color.red);``````
Here is the newest version which allows for the arrows to be plotted for the various crossings of the SMA's and also allows for the paintbars to paint the various SMA crossings

Code is below
Code:
``````# Multiple moving averages of the Fish
#by Wavetrader » Mon Oct 26, 2009 8:53 pm
#Ammended by Henry Kaczmarczyk Sun Aug 22, 2021 4:25 pm
#Ammended by Henry Kaczmarczyk Tuesday Aug 24,2021 8:51 pm
#Cleaned up the MA's
#Added Arrows based on FT crossing FTOneBarBack
#Newly Added the ability to show arrows from FT crossing different SMA's
#Added PaintBars Based on FT crossing Different SMA's
#Added Labels based on FT crossing SMA's
declare lower;
input length = 10;
input Arrows = 0;
# if you use 15 as the setting, no arrows will plot
Input Dotsize = 3;
input paintbars = 0;
# A setting of 15 will not paint the bars
Input Show_Labels = Yes;
def maxHigh = Highest(high, length);
def minLow = Lowest(low, length);

rec value = if maxHigh - minLow == 0 then 0 else 0.66 * ((close - minLow) / (maxHigh - minLow) - 0.5) + 0.67 * value[1];

def truncValue = if value > 0.99 then 0.999 else if value < -0.99 then -0.999 else value;
rec fish = 0.5 * (log((1 + truncValue) / (1 - truncValue)) + fish[1]);
plot FTOneBarBack = fish[1];
FTOneBarBack.SetDefaultColor(GetColor(1));
FTOneBarBack.SetLineWeight(2);
plot FT = fish;
FT.SetDefaultColor(GetColor(8));
FT.setLineWeight(2);
plot ZeroLine = 0;
ZeroLine.SetDefaultColor(GetColor(3));
plot SMA = simpleMovingAvg(ft, 1);
plot SMA1 = simpleMovingAvg(ft, 3);
plot SMA2 = simpleMovingAvg(ft, 5);
plot SMA3 = simpleMovingAvg(ft, 7);
plot SMA4 = simpleMovingAvg(ft, 10);
plot SMA5 = simpleMovingAvg(ft, 15);
plot SMA6 = simpleMovingAvg(ft, 17);
plot SMA7 = simpleMovingAvg(ft, 20);
plot SMA8 = simpleMovingAvg(ft, 25);
plot SMA9 = simpleMovingAvg(ft, 30);
plot SMA10 = simpleMovingAvg(ft, 35);
plot SMA11 = simpleMovingAvg(ft, 40);
plot SMA12 = simpleMovingAvg(ft, 45);
plot SMA13 = simpleMovingAvg(ft, 50);
SMA.AssignValueColor(if ft > SMA[1] then color.green else color.red);
SMA1.AssignValueColor(if ft > SMA1[1] then color.green else color.red);
SMA2.AssignValueColor(if ft > SMA2[1] then color.green else color.red);
SMA3.AssignValueColor(if ft > SMA3[1] then color.green else color.red);
SMA4.AssignValueColor(if ft > SMA4[1] then color.green else color.red);
SMA5.AssignValueColor(if ft > SMA5[1] then color.green else color.red);
SMA6.AssignValueColor(if ft > SMA6[1] then color.green else color.red);
SMA7.AssignValueColor(if ft > SMA7[1] then color.green else color.red);
SMA8.AssignValueColor(if ft > SMA8[1] then color.green else color.red);
SMA9.AssignValueColor(if ft > SMA9[1] then color.green else color.red);
SMA10.AssignValueColor(if ft > SMA10[1] then color.green else color.red);
SMA11.AssignValueColor(if ft > SMA11[1] then color.green else color.red);
SMA12.AssignValueColor(if ft > SMA12[1] then color.green else color.red);
SMA13.AssignValueColor(if ft > SMA13[1] then color.green else color.red);

#ARROWS
plot ArrowDown = if arrows == 0 and (Ft Crosses below FTOneBarBack) then FT else
if arrows == 1 and (Ft Crosses below SMA[1]) then FT else
if arrows == 2 and (Ft Crosses below SMA1[1]) then FT else
if arrows == 3 and (Ft Crosses below SMA2[1]) then FT else
if arrows == 4 and (Ft Crosses below SMA3[1]) then FT else
if arrows == 5 and (Ft Crosses below SMA4[1]) then FT else
if arrows == 6 and (Ft Crosses below SMA5[1]) then FT else
if arrows == 7 and (Ft Crosses below SMA6[1]) then FT else
if arrows == 8 and (Ft Crosses below SMA7[1]) then FT else
if arrows == 9 and (Ft Crosses below SMA8[1]) then FT else
if arrows == 10 and (Ft Crosses below SMA9[1]) then FT else
if arrows == 11 and (Ft Crosses below SMA10[1]) then FT else
if arrows == 12 and (Ft Crosses below SMA11[1]) then FT else
if arrows == 13 and (Ft Crosses below SMA12[1]) then FT else
if arrows == 14 and (Ft Crosses below SMA13[1]) then FT else double.nan;
ArrowDown.setpaintingStrategy(paintingStrategy.Arrow_Down);
ArrowDown.setDefaultColor(color.Magenta);
ArrowDown.setLineWeight(dotsize);

plot ArrowUp = if arrows == 0 and (FT crosses above FTOneBarBack ) then FT else
if arrows == 1 and (FT crosses above SMA[1]) then FT else
if arrows == 2 and (FT crosses above SMA1[1]) then FT else
if arrows == 3 and (FT crosses above SMA2[1]) then FT else
if arrows == 4 and (FT crosses above SMA3[1]) then FT else
if arrows == 5 and (FT crosses above SMA4[1]) then FT else
if arrows == 6 and (FT crosses above SMA5[1]) then FT else
if arrows == 7 and (FT crosses above SMA6[1]) then FT else
if arrows == 8 and (FT crosses above SMA7[1]) then FT else
if arrows == 9 and (FT crosses above SMA8[1]) then FT else
if arrows == 10 and (FT crosses above SMA9[1]) then FT else
if arrows == 11 and (FT crosses above SMA10[1]) then FT else
if arrows == 12 and (FT crosses above SMA11[1]) then FT else
if arrows == 13 and (FT crosses above SMA12[1]) then FT else
if arrows == 14 and (FT crosses above SMA13[1]) then FT else double.nan;
ArrowUp.setpaintingStrategy(paintingStrategy.Arrow_Up);
ArrowUp.setDefaultColor(color.Cyan);
ArrowUp.setLineWeight(dotsize);

AssignPriceColor( if paintbars == 0 and FT > FTOneBarBack then Color.Green else if paintbars == 0 and FT < FTOneBarBack then Color.Red else if paintbars == 1 and FT > SMA[1] then Color.Green else if paintbars == 1 and FT < SMA[1] then Color.Red else if paintbars == 2 and FT > SMA1[1] then Color.Green else if paintbars == 2 and FT < SMA1[1] then Color.Red else if paintbars == 3 and FT > SMA2[1] then Color.Green else if paintbars == 3 and FT < SMA2[1] then Color.Red else if paintbars == 4 and FT > SMA3[1] then Color.Green else if paintbars == 4 and FT < SMA3[1] then Color.Red else if paintbars == 5 and FT > SMA4[1] then Color.Green else if paintbars == 5 and FT < SMA4[1] then Color.Red else if paintbars == 6 and FT > SMA5[1] then Color.Green else if paintbars == 6 and FT < SMA5[1] then Color.Red else if paintbars == 7 and FT > SMA6[1] then Color.Green else if paintbars == 7 and FT < SMA6[1] then Color.Red else if paintbars == 8 and FT > SMA7[1] then Color.Green else if paintbars == 8 and FT < SMA7[1] then Color.Red else if paintbars == 9 and FT > SMA8[1] then Color.Green else if paintbars == 9 and FT < SMA8[1] then Color.Red else if paintbars == 10 and FT > SMA9[1] then Color.Green else if paintbars == 10 and FT < SMA9[1] then Color.Red else if paintbars == 11 and FT > SMA10[1] then Color.Green else if paintbars == 11 and FT < SMA10[1] then Color.Red else if paintbars == 12 and FT > SMA11[1] then Color.Green else if paintbars == 12 and FT < SMA11[1] then Color.Red else if paintbars == 13 and FT > SMA12[1] then Color.Green else if paintbars == 13 and FT < SMA12[1] then Color.Red else if paintbars == 14 and FT > SMA13[1] then Color.Green else if paintbars == 14 and FT < SMA13[1] then Color.Red else color.current);

AddLabel(Show_labels,"SMA:" + SMA,if ft > SMA[1] then color.green else color.red);
AddLabel(Show_labels,"1MA:" + SMA1,if ft > SMA1[1] then color.green else color.red);
AddLabel(Show_labels,"2MA:" + SMA2,if ft > SMA2[1] then color.green else color.red);
AddLabel(Show_labels,"3MA:" + SMA3,if ft > SMA3[1] then color.green else color.red);
AddLabel(Show_labels,"4MA:" + SMA4,if ft > SMA4[1] then color.green else color.red);
AddLabel(Show_labels,"5MA:" + SMA5,if ft > SMA5[1] then color.green else color.red);
AddLabel(Show_labels,"6MA:" + SMA6,if ft > SMA6[1] then color.green else color.red);
AddLabel(Show_labels,"7MA:" + SMA7,if ft > SMA7[1] then color.green else color.red);
AddLabel(Show_labels,"8MA:" + SMA8,if ft > SMA8[1] then color.green else color.red);
AddLabel(Show_labels,"9MA:" + SMA9,if ft > SMA9[1] then color.green else color.red);
AddLabel(Show_labels,"10MA:" + SMA10,if ft > SMA10[1] then color.green else color.red);
AddLabel(Show_labels,"11MA:" + SMA11,if ft > SMA11[1] then color.green else color.red);
AddLabel(Show_labels,"12MA:" + SMA12,if ft > SMA12[1] then color.green else color.red);
AddLabel(Show_labels,"13MA:" + SMA13,if ft > SMA13[1] then color.green else color.red);``````

87k+ Posts
286 Online

## The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
• Exclusive indicators
• Proven strategies & setups
• Private Discord community
• Exclusive members-only content
• 1 full year of unlimited support

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?