sh3rmfx

Bollinger Fanboy v4.0

Set spread value from your broker, eg my broker has a spread of 0.0003 for EURUSD. You can set your required profit ratio eg 1.5 means risk 1 to win 1.5. Enter if price crosses orange (or set a buy stop order or sell limit order) and set stoploss at red and take profit at green. Setup lasts for 20 bars. If it doesn't cross the orange in that time, forget it. Long if red is below orange, short if red is above orange. Recommended to be used on 4H, D, W charts only. Use at your own risk. I cannot be held liable for any damages financial or otherwise, directly or indirectly related to using this script and trading strategy.

Copyright 2014 Michael Edwards (info@bollingerfanboy.com)
www.bollingerfanboy.com
Script open-source

Dans le véritable esprit de TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par le règlement. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.

Vous voulez utiliser ce script sur un graphique ?
study(title="Bollinger Fanboy", shorttitle="Bollinger Fanboy", overlay=true)
bf_spread = input(title="Spread", type=float, defval=0.0000)
bf_period = 20
bf_stddev = 2
bf_profit = input(title="Profit Ratio", type=float, defval=1.50)
bf_rsi = 30
bf_rsi_inner = 10

bf_middle = sma(close, bf_period)
bf_top = bf_middle + (stdev(close, bf_period) * bf_stddev)
bf_bottom = bf_middle - (stdev(close, bf_period) * bf_stddev)

bf_height = ((high + bf_spread) - (low - bf_spread)) * bf_profit

bf_short_entry = low - bf_spread
bf_short_stop = high + bf_spread
bf_short_exit = bf_short_entry - bf_height

bf_long_entry = high + bf_spread
bf_long_stop = low - bf_spread
bf_long_exit = bf_long_entry + bf_height

bf_long = close < bf_middle ? (close > bf_bottom ? true : false) : false
bf_short = close > bf_middle ? (close < bf_top ? true : false) : false

bf_lowest = low == lowest(bf_period / 2) ? ( low < bf_bottom ? true : false ) : false
bf_highest = high == highest(bf_period / 2) ? ( high > bf_top ? true : false ) : false

bf_rsi_long = rsi(close, 20) > (50 + bf_rsi_inner) ? (rsi(close, 20) < (50 + bf_rsi) ? true : false) : false
bf_rsi_short = rsi(close, 20) < (50 - bf_rsi_inner) ? (rsi(close, 20) > (50 - bf_rsi) ? true : false) : false

bf_go_long = bf_long ? ( bf_lowest ? ( bf_long_exit < (bf_middle - bf_spread) ? (bf_rsi_short ? true : false) : false ) : false ) : false
bf_go_short = bf_short ? ( bf_highest ? ( bf_short_exit > (bf_middle + bf_spread) ? (bf_rsi_long ? true : false) : false ) : false ) : false

bf_enter = bf_go_long ? bf_long_entry : ( bf_go_short ? bf_short_entry : bf_enter[1] )
bf_exit = bf_go_long ? bf_long_exit : ( bf_go_short ? bf_short_exit : bf_exit[1] )
bf_stop = bf_go_long ? bf_long_stop : ( bf_go_short ? bf_short_stop : bf_stop[1] )

plot(bf_enter == bf_enter[bf_period] ? na : bf_enter, title="Entry", color=orange, style=circles, linewidth=2)
plot(bf_enter == bf_enter[bf_period] ? na : bf_exit, title="Exit", color=green, style=circles, linewidth=2)
plot(bf_enter == bf_enter[bf_period] ? na : bf_stop, title="Stop", color=red, style=circles, linewidth=2)