Alien's Extraterrestrial Visual Systems


New member
Hi Everyone, Aliens strategy is free and I think everyone would benefit from it being on this website to share. So I have been trying to recreate this strategy in think or swim.

So far I have found with the help of @BenTen the RSIOMA indicator however its not exactly right but its a start. If anyone is interest or want to help out so the community has this system available to us all feel free to pitch in.
The 4 parts to this system are the

  • Stochastics,
  • ADXS,
  • RSIOMA and the drake delay stochastics.

part 1 RSIOMAS
needs tweaking to smooth the indicator out more but its almost there.

# TD Ameritrade IP Company, Inc. (c) 2007-2019
# Tweaked by [USER=212]@korygill[/USER]

declare lower;

input length = 14;
input over_Bought = 70;
input over_Sold = 30;
input price = close;
input averageType = AverageType.WILDERS;
input showBreakoutSignals = no;
input rsiMALength = 5; #hint rsiMALength: RSI Moving Average Length
input rsiAverageType = AverageType.SIMPLE;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

plot RSI = 50 * (ChgRatio + 1);
plot OverSold = over_Sold;
plot OverBought = over_Bought;
plot UpSignal = if RSI crosses above OverSold then OverSold else Double.NaN;
plot DownSignal = if RSI crosses below OverBought then OverBought else Double.NaN;

# plot the RSI Moving Average
def rsiMA = MovingAverage(rsiAverageType, RSI, rsiMALength);
plot prsiMA = rsiMA;


RSI.DefineColor("OverBought", GetColor(5));
RSI.DefineColor("Normal", GetColor(7));
RSI.DefineColor("OverSold", GetColor(1));
RSI.AssignValueColor(if RSI > over_Bought then RSI.color("OverBought") else if RSI < over_Sold then RSI.color("OverSold") else RSI.color("Normal"));


New member
The second step is creating your ADX indicator is to simply go into the indicator tab. Next you search for ADX and create 5 ADX indicators. Then you simply click and hold the ADX and drop it ontop of the first one and repeat these steps until all 5 are in the same indicator.

Next you right click and go into properties, then change the length of each one to what I specified the lengths are above

Third read over Alien's Thread above and understand how he uses the ADX so you can apply it to the system

More updates to follow, and ill post a workspace if we can get all the indicators finished to its an easy click for new members.

As always any contributions or questions are appreciated


Also this does not count as financial advice trade at your own risk all credit for this system goes to ALIEN from forex factory


New member
Hi everyone Quick update
The author forex alien claims that " The charts don't need all these indicators to trade, but they sure do give me 98 % accuracy in my trade direction."

Here is a link to the workspace, (WIP)

To do list
  • Fix RSIOMA
  • fix stochastic coloring (Probably a script here that already does that
  • Put ADX on a scale from 1-60 instead of a percentage scale

I have trading view indicators for RSIOMA and DRAKESTOCHASTIC that work correctly, if someone has time to convert them shoot me a message.
more updates to follow

I have noticed a lot of new members have a hard time trying to trade with multiple time frames, Here is a picture from ALIEN that I think will help everyone visualize how multiple time frames interreact with each other, so that you can increase your probability of a profitable trade. Lets all strive to get your probability of a profitable trade up.


Best of luck with trading keep studying hard,
Last edited by a moderator:


New member
Here are the two trading view indicators for this strategy I need help changing to Thinkscript.

//By Darkyalt
study(title="Relative Strength Index of MA", shorttitle="RSIOMA")
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(ema(src, len)), 0), len)
down = rma(-min(change(ema(src, len)), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=blue)
band1 = hline(80)
band0 = hline(20)
fill(band1, band0, color=purple, transp=90)
hline(50, color=gray, linestyle=line)
sig = ema(rsi, 21)
plot(sig, color=purple)


// This source code is subject to the terms of the Mozilla Public License 2.0 at
// © opiumfive

study("Drake Delay Stochastic")

pds = input(title="pds", type=input.integer, defval=13, minval=1)
slw = input(title="ema", type=input.integer, defval=8, minval=1)
slwsignal = input(title="trigger", type=input.integer, defval=9, minval=1)

MAValue = 0.0
MAValue2 = 0.0
MAValue3 = 0.0

smconst = 2.0 / (1 + slw)
smconst1 = 2.0 / (1 + slwsignal)

prev = na(MAValue2[1]) ? 0.0 : MAValue2[1]

AA = 0.0
tmpDevAA = highest(pds) - lowest(pds)

if tmpDevAA != 0
    AA := 100* ((close - lowest(pds)) / tmpDevAA)
MAValue2 := smconst * (AA-prev) + prev

MyHigh = -999999.0
MyLow = 999999.0
for i = 0 to pds
    Price = na(MAValue2) ? 0.0 : MAValue2
    if Price != 0.0
        if Price > MyHigh
            MyHigh := Price
        if pds <= 0
            MyHigh := Price
        if Price < MyLow
            MyLow := Price
        if pds <= 0
            MyLow := Price

prev1 = na(MAValue[1]) ? 0.0 : MAValue[1]

bb= 0.0
if MyHigh-MyLow != 0

MAValue := smconst * (bb-prev1) + prev1

MAValue3:= ema(MAValue, slwsignal)

plot(MAValue, color = MAValue >= MAValue3 ? color.lime :, linewidth = 2)
plot(MAValue3, color =
hline(20, title="Sell", color=color.gray, linestyle=hline.style_dashed)
hline(80, title="Buy", color=color.gray, linestyle=hline.style_dashed)

bgcolor(MAValue >= MAValue3 ? #38a32a : #da680f, transp=80)

Also Does anyone know if its possible to put multiple adx studys together but instead of using % the scale change it to 1-100?
Check the chart link for the ADXs already put together.

Last edited by a moderator:

Similar threads