I've been using Cloud Overlay v3 for a while. Works real good! Here's a 5 minute chart. Basically it's just a 2 moving averages drawn as a single cloud. What makes it so versatile is how you can use different moving averages for different situations. In this example I have

Originally I wrote this as a multi-time-frame indication, but turns out, I find this simplified version more useful. Especially since it works on tick and range charts. Where the multi-time frame version does not.

**30 and 90 Weighted**moving average for the long term signal. And a**20 and 60 Hull**moving average for the short term signal. It's pretty simple, but effective, especially if you like moving averages. Easily switch between moving average types:**Simply, Exponential, Weighted, Wilders, & Hull**.Originally I wrote this as a multi-time-frame indication, but turns out, I find this simplified version more useful. Especially since it works on tick and range charts. Where the multi-time frame version does not.

**I'll also include the code for the multi-time frame version below.**
Code:

```
## Cloud Overlay v3, 3-2020, Paul Townsend
## works on tick and range charts.
input fastLength = 30;
input slowLength = 90;
input smooth = 4;
input averageType = AverageType.hull;
def price = hl2;
plot fastAvg = MovingAverage(averageType, price, fastLength);
plot slowAvg = MovingAverage(averageType, price, slowLength);
fastAvg.hide();
slowAvg.hide();
fastAvg.setlineWeight(3);
slowAvg.setlineWeight(3);
fastAvg.assignValueColor(color.white);
slowAvg.assignValueColor(color.orange);
addcloud(fastAvg,slowAvg,color.cyan,color.magenta);
addlabel(yes,fastLength + "/" + slowLength,color.white);
```

**Below is the code for multi-time frame version which does NOT work on tick and range charts.**
Code:

```
## Cloud Overlay v2, 2-2020, Paul Townsend
## multi-time frame version does NOT works on tick and range charts.
input usePeriod = aggregationperiod.five_MIN;
input fastLength = 30;
input slowLength = 90;
input smooth = 4;
input averageType = AverageType.hull;
def price = open(period = usePeriod);
plot fastAvg = MovingAverage(averageType, price, fastLength);
plot slowAvg = MovingAverage(averageType, price, slowLength);
fastAvg.hide();
slowAvg.hide();
fastAvg.setlineWeight(3);
slowAvg.setlineWeight(3);
fastAvg.assignValueColor(color.white);
slowAvg.assignValueColor(color.orange);
addcloud(fastAvg,slowAvg,color.cyan,color.magenta);
addlabel(yes,"OL=" + useperiod/60000,color.white);
```

Last edited: