এই কৌশলটি মন্দ / মন্দ ছায়ার দৈর্ঘ্যের অনুপাত গণনা করে বর্তমান প্রবণতা দিক বিচার করে এবং এটিআর সূচক দিয়ে প্রবণতা সনাক্ত করে। এটি ব্রেকআউট পয়েন্টে বিপরীত অবস্থান খোলে এবং স্বল্পমেয়াদী প্রবণতা ক্যাপচার করতে স্টপ লস এবং লাভ গ্রহণ করে।
এই কৌশলটি মূলত বর্তমান প্রবণতাকে বাউলিশ/বেয়ারিশ শ্যাডো রেসিও গণনা করে মূল্যায়ন করে। লং বেয়ারিশ নিম্নমুখী প্রবণতা নির্দেশ করে এবং লং বাউলিশ আপগ্রেড প্রবণতা নির্দেশ করে।
এর সুনির্দিষ্ট যুক্তি হচ্ছে:
উপরে বর্ণিত হল ট্রেডিং এর মৌলিক যুক্তি, ট্রেন্ড ডিটেকশন দিয়ে বিপরীত ব্রেকআউট পয়েন্ট চিহ্নিত করা এবং স্টপ লস/টেক প্রফিট দিয়ে লাভের অনুকূলতা।
যুক্তিসঙ্গত স্টপ লস, প্যারামিটার অপ্টিমাইজেশান এবং সময়মত পজিশন প্রস্থান করে ঝুঁকিগুলি পরিচালনা করা যেতে পারে।
কৌশলটি নিম্নলিখিত উপায়ে অপ্টিমাইজ করা যেতে পারেঃ
বহুমুখী পরীক্ষা এবং অপ্টিমাইজেশনের মাধ্যমে, কৌশল কর্মক্ষমতা সর্বাধিক করা যেতে পারে।
সামগ্রিকভাবে, এই কৌশলটি প্রবণতা সনাক্তকরণ এবং ঝুঁকি পরিচালনার মাধ্যমে স্বল্পমেয়াদী মূল্যের ওঠানামা থেকে লাভ করে। যখন এটি অনুকূলিত হয়, এটি পরিমাণ ব্যবসায়ের জন্য একটি শক্তিশালী স্বল্পমেয়াদী ব্রেকআউট কৌশল হয়ে উঠতে পারে।
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h 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/ // © ondrej17 //@version=4 strategy("longWickstrategy", overlay=true ) // Inputs st_yr_inp = input(defval=2020, title='Backtest Start Year') st_mn_inp = input(defval=01, title='Backtest Start Month') st_dy_inp = input(defval=01, title='Backtest Start Day') en_yr_inp = input(defval=2025, title='Backtest End Year') en_mn_inp = input(defval=01, title='Backtest End Month') en_dy_inp = input(defval=01, title='Backtest End Day') sltp_inp = input(defval=0.8, title='N - % offset for N*SL and (2N)*TP')/100 // Dates start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp,00,00) end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp,00,00) canTrade = time >= start and time <= end // Indicators Setup // Strategy Calcuations lowerWick = (open > close) ? close-low : open - low upperWick = (open > close) ? high-open : high-close wickLength = max(lowerWick,upperWick) candleLength = high-low wickToCandleRatio = wickLength / candleLength entryFilterCandleLength = candleLength > 0.75*atr(48) // Entries and Exits longCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick > upperWick and canTrade and strategy.position_size == 0 shortCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick < upperWick and canTrade and strategy.position_size == 0 strategy.entry("pendingLong", strategy.long, limit=low+wickLength/2, when = longCondition) strategy.entry("pendingShort", strategy.short, limit=high-wickLength/2, when = shortCondition) longStop = strategy.position_size > 0 ? strategy.position_avg_price*(1-sltp_inp) : na longTP = strategy.position_size > 0 ? strategy.position_avg_price*(1+2*sltp_inp) : na shortStop = strategy.position_size < 0 ? strategy.position_avg_price*(1+sltp_inp) : na shortTP = strategy.position_size < 0 ? strategy.position_avg_price*(1-2*sltp_inp) : na strategy.exit("longSLTP","pendingLong", stop=longStop, limit = longTP) strategy.exit("shortSLTP","pendingShort", stop=shortStop, limit = shortTP) plot(longStop, color=color.red, style=plot.style_linebr, linewidth=2) plot(shortStop, color=color.red, style=plot.style_linebr, linewidth=2) plot(longTP, color=color.green, style=plot.style_linebr, linewidth=2) plot(shortTP, color=color.green, style=plot.style_linebr, linewidth=2) plotLongCondition = longCondition ? high+abs(open-close) : na plot(plotLongCondition, style=plot.style_circles, linewidth=4, color=color.green) plotShortCondition = shortCondition ? high+abs(open-close) : na plot(plotShortCondition, style=plot.style_circles, linewidth=4, color=color.red)