• Get $30 off VIP with code SUMMER30. Ends July 27. Happy trading!

FTR (Failed to Return) Candles Indicator for ThinkorSwim


So this candle pattern was recently introduced to me via a weblog called A Teen Trader.


@Korinek_Trades, the trader behind ateentrader.com describe it perfectly.

An FTR or Failed To Return, is a candle pattern in trading. What this pattern shows is that as price is in an up/down trend, price will push back and collect orders (causing a candle close of the opposite direction) before continuing the current trend.

I followed that concept and some of the illustrations on his blog and made a similar indicator for ThinkorSwim.




Before you start trading with the FTR indicator, be sure to read through this blog post so you understand clearly and know where to put your stop loss and profit target.

thinkScript Code

# Failed to Return Candles
# Inspired by Forex Trading Pattern as Described at https://ateentrader.com/ftr/
# Candles built from the ThinkorSwim's Candlestick Pattern Editor
# Assembled by BenTen at useThinkScript.com

# You are free to use this code for personal use, and make derivative works from it.
# You are NOT GRANTED permission to use this code (or derivative works) for commercial
# purposes which includes and is not limited to selling, reselling, or packaging with
# other commercial indicators. Headers and attribution in this code should remain as provided,
# and any derivative works should extend the existing headers.

# Define Bullish FTR Candle
def IsUp = close > open;
def IsDown = close < open;
plot Bullish_FTR =
    IsUp[4] and
    IsUp[3] and
    IsUp[2] and
    IsDown[1] and
    IsUp[0] and
    high[2] > high[1] and
    close[3] < close[2] and
    open[1] < close[0] and
    low[2] < low[1] and
    open[4] < open[3] and
    close[4] < high[3] and
    open[3] < open[2];


# Define Bearish FTR Candle
plot Bearish_FTR =
    IsDown[4] and
    IsDown[3] and
    IsDown[2] and
    IsUp[1] and
    IsDown[0] and
    close[4] > close[3] and
    open[1] > close[0] and
    close[1] > open[0] and
    open[2] > close[1] and
    open[4] > open[3] and
    open[3] > open[2] and
    close[3] > close[2] and
    close[2] < open[1];


# Alerts
Alert(Bullish_FTR, " ", Alert.Bar, Sound.Chimes);
Alert(Bearish_FTR, " ", Alert.Bar, Sound.Bell);

Shareable Link

Last edited:


2019 Donor
I just want to emphasize how important it is to use this on 30min/1hr timeframes rather than short timeframes. This should totally NOT be used for day trading, lol. 5m chart is riddled with false signals.


@Shinthus I agreed. Good thing you pointed it out. But hey, to each their own. Someone could be making money with this on the 5min, you never know.


New member
2019 Donor
hey @BenTen for some reason i'm not able to get any signal on any timeframe can you double check the script?? thank you


New member
well today I saw this pattern

use the top blue arrow as the starting point, for the Red one, it looks very similar to it, the patterns,
can be switch with Moving averages and it's cross overpoints instead.. it would give something way more accurate.


Well-known member
@pegasis You are pushing a rock uphill. You want to run scans before you figure out how scans run. Did you google TOS scan setup?
We are glad to answer your questions. I am just thinking it would be less frustrating for you if you educated yourself on the basics.

In the study that you posted both bear and bull conditions are plotted. You can only scan for one condition at a time so either you have to comment out all the bear lines or all the bull lines because scans only take one plot.

The other way to do it is the way you did the reversal candle study. Save the study and then in then scanner, scan for YourStudyName()."Bullish_FTR"


New member
I have lots of scans and they run. Most were created by adding conditions in tos scan manually, not using thinkscript.


Well-known member
@pegasis thinkscript are just custom studies versus the built-in ones that you have used for your conditions.
If you save your thinkscript study as a custom study; you can then go to the scanner, find the study that you named and add conditions just as you have for your other scans. That way you won't get exactly one plot expected or other errors.
Watching some videos on the subject will explain this more in a step by step process.


@pegasis See the video below. You can apply the same process to scan for any indicators which plot up and down arrows on your chart.



Once again - I say "huh. I wonder if there's THIS on UTS. and sure enough." I'm sure you know buy now this candle pattern is a rally base rally or a drop base drop. And I'm learning these patterns tend to do with institutional buying, and this is how zones are made. These zones are different than support and resistance. Ultimately looking to find a way to make my research easier with code, and I haven't found something that'll make the zones off wick patterns. Is there something here I'm missing to make this easier? :) Thanks!



New member
Hey everyone, Namely Ben and horserider.

Tried the script but it is not exactly what I need.

I am looking for a custom script like this to only look at the open and closing price of each candle for a rally base rally candle combination short or long. The wicks are all ignored on all candles.

Use this on 1/3/5/10/15/30/60/90/120/180/240 timeframes.

Would love a label that goes green when the latest RBR long is found or red when the latest RBR short is found with a alert ping after the 3rd candle closes.


Similar threads