ফলো দ্য বিয়ার (এফটিবি) কৌশলটি একটি ফরেক্স ট্রেডিং কৌশল যা ইউরোপীয় বাজারের খোলা সময় ইউরো / ইউএসডি এর মূল্য ক্রিয়াকলাপের একটি পুনরাবৃত্তিমূলক প্যাটার্ন ক্যাপচার করার জন্য ডিজাইন করা হয়েছে। কৌশলটি ফাঁদে পড়ে থাকা ইউরো ষাঁড়দের সুবিধা নেওয়ার লক্ষ্য রাখে যারা দামের প্রত্যাহার শুরু হওয়ার সাথে সাথে তাদের দীর্ঘ অবস্থানগুলি মুক্ত করতে বাধ্য হয়। বিশেষত, এটি ইউরো / ইউএসডি এর 1 ঘন্টা চার্টে শ্যুটিং স্টার বা হ্যামার বিপরীতমুখী মোমবাতিগুলির জন্য নজর রাখে। একবার এটি সনাক্ত করা এবং অতিরিক্ত ফিল্টারগুলির সাথে নিশ্চিত হয়ে গেলে যেমন একটি ওভারবয়ড আরএসআই, এটি বিপরীতমুখী মোমবাতিটির উপরে একটি শক্ত স্টপ এবং যুক্তিসঙ্গত ঝুঁকি / পুরষ্কার অনুপাতের উপর ভিত্তি করে মুনাফা লক্ষ্যমাত্রার সাথে আক্রমনাত্মকভাবে শর্ট পজিশনে প্রবেশ করবে।
এফটিবি কৌশলটির মূল ভিত্তি হল এই অনুমানের উপর ভিত্তি করে যে ইউরো ষাঁড় এবং অ্যালগরিদমগুলি ইউরো / ইউএসডি দামকে উপরে ঠেলে দেয় যখন ইউরোপীয় / লন্ডন বাজার খোলার পরেই আপট্রেন্ড স্টপ বা বিপরীত হয় তখন আটকে যাবে। যখন দামটি ফিরে আসতে শুরু করে, তখন এই আটকে থাকা লংগুলি তাদের অবস্থানগুলি মুক্ত করতে বাধ্য হয়, আরও নেমে যাওয়া গতি বাড়িয়ে তোলে।
কৌশলটি ইউরোপীয় সময় অঞ্চলে (উদাহরণস্বরূপ, সকাল ২টা থেকে সকাল ৭টা) বিপরীতমুখী মোমবাতি প্যাটার্নগুলির জন্য নজর রেখে এই হ্রাস তত্ত্বের উপর মূলধন অর্জনের লক্ষ্য রাখে। বিপরীতমুখী মোমবাতিগুলির জন্য মানদণ্ডটি হ'ল বন্ধটি খোলার নীচে এবং মোমবাতিগুলির ব্যাপ্তির নিম্ন 50% এর মধ্যে (খোলার চেয়ে কম কাছাকাছি) থাকতে হবে।
যখন এমন একটি মোমবাতি গঠন হয়, তখন এটি চিহ্নিত করে যে আটকে থাকা লংগুলি তরলীকরণের মুখোমুখি হয়। সংকেতটি আরও যোগ্য করার জন্য, অতিরিক্ত ফিল্টারগুলি পরীক্ষা করা হয়ঃ
সমস্ত ফিল্টার পাস করার পরে, কৌশলটি ক্যান্ডেল বন্ধের শর্ট পজিশনে প্রবেশ করে, স্টপ লস উচ্চতার ঠিক উপরে স্থাপন করা হয় এবং 1: 1 ঝুঁকি / পুরষ্কার অনুপাতের ভিত্তিতে গণনা করা মুনাফা লক্ষ্যমাত্রা (কনফিগারযোগ্য) ।
একটি মূল বিবরণ হল যে কৌশলটি শুধুমাত্র ইউরোপীয় সেশনের সময় ট্রেড করে। এর বাইরে, এটি পুনরায় সেট করে এবং পরবর্তী ট্রেডিং সময়ের জন্য অপেক্ষা করে।
একটি সহজ স্বল্পমেয়াদী গড় বিপরীত কৌশল হিসাবে, FTB পদ্ধতির বেশ কয়েকটি মূল শক্তি রয়েছেঃ
সামগ্রিকভাবে, নিম্ন-ফ্রিকোয়েন্সি নাইট স্কাল্পিং কৌশল হিসাবে, FTB এর স্থিতিশীলতা এবং নির্ভরযোগ্যতা বেশ আকর্ষণীয়।
যদিও এই কৌশলটির সুবিধাগুলি রয়েছে, তবে যে কোনও ট্রেডিং সিস্টেমের মতোই ঝুঁকি রয়েছে, যার মধ্যে রয়েছেঃ
ঝুঁকি মোকাবেলার কিছু উপায়:
কৌশলটির মৌলিক প্রকৃতি এবং এর সাথে জড়িত ঝুঁকিগুলি বিবেচনা করে, উন্নত করার জন্য কয়েকটি ক্ষেত্র বিবেচনা করা উচিতঃ
ফলো দ্য বিয়ার কৌশলটি ফাঁদে পড়ে থাকা ইউরো ষাঁড়ের দ্বারা চালিত পুনরায় বিক্রয়ের উপর মূলধন উপার্জন করে স্বল্পমেয়াদী শর্ট বিক্রয়ের একটি সরল পদ্ধতি সরবরাহ করে। সহজেই উপলব্ধি এবং উন্নত করা যায়, এফটিবি নিয়মিত ওভারনাইট স্কালপিংয়ের জন্য উপযুক্ত। স্বাভাবিকভাবেই সমস্ত ট্রেডিংয়ে ঝুঁকি রয়েছে, সুতরাং প্যারামিটার টিউনিং এবং অপ্টিমাইজেশন পরিবর্তনশীল বাজারের ল্যান্ডস্কেপ জুড়ে প্রাসঙ্গিকতা নিশ্চিত করতে সহায়তা করে।
/*backtest start: 2024-02-18 00:00:00 end: 2024-02-25 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ZenAndTheArtOfTrading / PineScriptMastery // FTB Strategy (PineConnector Version) // Last Updated: 21st July, 2021 // @version=4 strategy("[2021] FTB Strategy", shorttitle="FTB", overlay=true) // Risk Settings var g_risk = "Risk Settings" pips = input(title="Stop Pips", type=input.float, defval=2.0, group=g_risk, tooltip="How many pips above high to put stop loss") rr = input(title="Risk:Reward", type=input.float, defval=1.0, group=g_risk, tooltip="This determines the risk:reward profile of the setup") // Filters var g_filter = "Filter Settings" timezone = input(title="Timezone", type=input.session, defval="0200-0700", group=g_filter, tooltip="Which timezone to search for FTB signals in") days = input(title="Days To Trade", defval="13457", group=g_filter, tooltip="Which days to trade this strategy on (Monday & Friday disabled by default)") useRsiFilter = input(title="RSI OB/OS?", type=input.bool, defval=true, group=g_filter, tooltip="If true then the RSI must be considered overbought before a signal is valid") useCloseFilter = input(title="Previous Bar Must Be Bullish?", type=input.bool, defval=false, group=g_filter, tooltip="If true then the previous bar must have closed bullish") useHighFilter = input(title="High Filter", type=input.bool, defval=false, group=g_filter, tooltip="If true then the signal bar must be the highest bar over X bars") highLookback = input(title="High Lookback", type=input.integer, defval=10, group=g_filter, tooltip="This is for setting the High Filter lookback distance") fib = input(title="Candle Close %", defval=0.5, group=g_filter, tooltip="For identifying shooting star candles (0.5 = must close <= 50% mark of candle size)") rsiLen = input(title="RSI Length", type=input.integer, defval=3, group=g_filter, tooltip="RSI length") rsiOB = input(title="RSI OB", type=input.float, defval=70.0, group=g_filter, tooltip="RSI overbought threshold") // PineConnector Settings var g_pc = "PineConnector Settings" pc_id = input(title="License ID", defval="YOUR_ID", type=input.string, group=g_pc, tooltip="This is your PineConnector license ID") pc_risk = input(title="Risk Per Trade", defval=1, step=0.5, type=input.float, group=g_pc, tooltip="This is how much to risk per trade (% of balance or lots)") pc_prefix = input(title="MetaTrader Prefix", defval="", type=input.string, group=g_pc, tooltip="This is your broker's MetaTrader symbol prefix") pc_suffix = input(title="MetaTrader Suffix", defval="", type=input.string, group=g_pc, tooltip="This is your broker's MetaTrader symbol suffix") pc_spread = input(title="Spread", defval=0.5, type=input.float, group=g_pc, tooltip="Enter your average spread for this pair (used for offsetting limit order)") pc_limit = input(title="Use Limit Order?", defval=true, type=input.bool, group=g_pc, tooltip="If true a limit order will be used, if false a market order will be used") // Generate PineConnector alert string var symbol = pc_prefix + syminfo.ticker + pc_suffix var limit = pc_limit ? "limit" : "" pc_entry_alert(direction, sl, tp) => price = pc_limit ? "price=" + tostring(pc_spread) + "," : "" pc_id + "," + direction + limit + "," + symbol + "," + price + "sl=" + tostring(sl) + ",tp=" + tostring(tp) + ",risk=" + tostring(pc_risk) // Get RSI filter rsiValue = rsi(close, rsiLen) rsiFilter = not useRsiFilter or rsiValue >= rsiOB // Check high & close filter highFilter = not useHighFilter or high == highest(high, highLookback) closeFilter = not useCloseFilter or close[1] > open[1] // InSession() determines if a price bar falls inside the specified session inSession(sess) => na(time(timeframe.period, sess + ":" + days)) == false // Calculate 50% mark of candle size bearFib = (high - low) * fib + low // Check filters filters = inSession(timezone) and closeFilter and high > high[1] and rsiFilter and highFilter and open != close // Detect valid shooting star pinbar pattern var takenTradeAlready = false star = true // Calculate stops & targets shortStopPrice = high + (syminfo.mintick * pips * 10) shortStopDistance = shortStopPrice - close shortTargetPrice = close - (shortStopDistance * rr) // Save stops & targets for the current trade var tradeStopPrice = 0.0 var tradeTargetPrice = 0.0 // If we detect a valid shooting star, save our stops & targets, enter short and generate alert if star and barstate.isconfirmed tradeStopPrice := shortStopPrice tradeTargetPrice := shortTargetPrice takenTradeAlready := true alertString = pc_entry_alert("sell", tradeStopPrice, tradeTargetPrice) alert(alertString, alert.freq_once_per_bar_close) strategy.entry(id="Short", long=strategy.short, when=strategy.position_size == 0, comment=alertString) // If we have exited the FTB session then reset our takenTradeAlready flag for the next session if not inSession(timezone) and inSession(timezone)[1] takenTradeAlready := false // If price has exceeded target then cancel limit order if it's still active if pc_limit and low <= tradeTargetPrice and strategy.position_size == 0 alert(pc_id + ",cancelshort," + symbol) tradeTargetPrice := na // Draw stops & targets plot(star ? tradeStopPrice : na, color=color.red, style=plot.style_linebr, title="SL") plot(star ? shortTargetPrice : na, color=color.green, style=plot.style_linebr, title="TP") // Draw short signals plotshape(star ? 1 : na, style=shape.triangledown, color=color.red) // Change background color to highlight detection zone bgcolor(color=inSession(timezone) ? color.new(color.red,80) : na, title="Session") // Exit trade whenever our stop or target is hit strategy.exit(id="Short Exit", from_entry="Short", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size != 0)