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
オープンソーススクリプト

TradingViewの精神に則り、このスクリプトの作者は、トレーダーが理解し検証できるようにオープンソースで公開しています。作者に敬意を表します!無料で使用することができますが、このコードを投稿で再利用するには、ハウスルールに準拠する必要があります。 お気に入りに登録してチャート上でご利用頂けます。

免責事項

これらの情報および投稿は、TradingViewが提供または保証する金融、投資、取引、またはその他の種類のアドバイスや推奨を意図したものではなく、またそのようなものでもありません。詳しくは利用規約をご覧ください。

チャートでこのスクリプトを利用したいですか?
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)