One line moving average crossover

Alkkkz

New member
VIP
Hello fellow traders,

is there a moving average line that changes color when MA 9 crosses over 21? I need one line that changes color. Not the traditional two lines.
 

BenTen

Administrative
Staff
VIP
So you have two lines, 9 MA and 21 MA, on your chart. Which one needs to change color when there is a crossover?

Here is a lower study version:

Code:
declare lower;

input price = close;
input length1 = 9;
input length2 = 21;
input displace = 0;

def SMA1 = Average(price[-displace], length1);
def SMA2 = Average(price[-displace], length2);

def bull_crossover = SMA1 crosses above SMA2;
def bear_crossover = SMA1 crosses below SMA2;

plot Data = 1;
Data.AssignValueColor(if bull_crossover then color.green else if bear_crossover then color.red else color.gray);
 
Last edited:

Alkkkz

New member
VIP
I just found this by accident. The idea is the same

https://indicatorvaulthq.com/super-trend/9sale.php

HyOirid.png
 

BenTen

Administrative
Staff
VIP
@Alkkkz It's not the same because the line changes color when the price is above or below the Supertrend line in the example you provided.

In your request, you have two lines by default (9 and 21 MAs). Since you don't want both of them to change color, you need to pick one.
 
Last edited:

Slippage

Active member
I think this is what is being requested.

Ruby:
# plots the second SMA and colors it based on whether the first is above or below
input length1 = 9;
input length2 = 21;

def m1 = SimpleMovingAvg(close, length1);
def m2 = SimpleMovingAvg(close, length2);

plot MA = m2;
MA.AssignValueColor(if m1 > m2 then Color.GREEN else if m1 < m2 then Color.RED else Color.YELLOW);
 

Similar threads

Top