এই কৌশলটি স্টোকাস্টিক দোলক ব্যবহার করে ওভারকোপড এবং ওভারসোল্ড মার্কেট শর্তাদি সনাক্ত করতে, একটি অস্থির ট্রেডিং ব্যাপ্তির মধ্যে দামের ওঠানামা থেকে মূলধন অর্জনের জন্য পূর্বনির্ধারিত ঝুঁকি এবং পুরষ্কার পরামিতি সহ ট্রেডগুলি ট্রিগার করে। এই কৌশলটির মূল ধারণাটি হ'ল ট্রেডিং ব্যাপ্তির নিম্ন প্রান্তে কেনা এবং উচ্চ প্রান্তে বিক্রি করা, ঝুঁকি কঠোরভাবে নিয়ন্ত্রণ করার সময়।
স্টোকাস্টিক দোলকের উপর ভিত্তি করে অস্থিরতা পরিসীমা ট্রেডিং কৌশল একটি পূর্বনির্ধারিত ট্রেডিং পরিসরের মধ্যে দোলকের অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় সংকেতগুলি মূলধন করার চেষ্টা করে। কৌশলটি কঠোর ঝুঁকি ব্যবস্থাপনা এবং বাণিজ্য ব্যবধানের মাধ্যমে ঝুঁকি নিয়ন্ত্রণ করে। যদিও কৌশলটির কিছু সুবিধা রয়েছে, তবে এর সাফল্য মূলত ট্রেডিং পরিসরের সঠিক সনাক্তকরণের উপর নির্ভর করে। ভবিষ্যতের অপ্টিমাইজেশনের দিকনির্দেশগুলিতে অন্যান্য প্রযুক্তিগত সূচকগুলির সংমিশ্রণ, গতিশীল স্টপ-লস এবং লাভের মাত্রা প্রবর্তন, আরও উন্নত পরিসীমা সনাক্তকরণ কৌশল ব্যবহার এবং একটি প্রবণতা ফিল্টার যুক্ত করা অন্তর্ভুক্ত। অনুশীলনে কৌশলটি প্রয়োগ করার সময়, ব্যক্তিগত পছন্দ এবং ঝুঁকি সহনশীলতার ভিত্তিতে পরামিতি এবং ঝুঁকি পরিচালনার নিয়মগুলি সামঞ্জস্য করতে ভুলবেন না।
/*backtest start: 2023-06-11 00:00:00 end: 2024-06-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Range Trading with Stochastic", overlay=true) // Input Parameters overboughtLevel = input.int(80, title="Overbought Level", minval=1, maxval=100) oversoldLevel = input.int(20, title="Oversold Level", minval=1, maxval=100) stochLength = input.int(14, title="Stochastic Length", minval=1) riskPerTrade = input.float(0.01, title="Risk per Trade (%)", minval=0.01, maxval=100, step=0.01) barsBetweenTrades = input.int(20, title="Bars Between Trades", minval=1) // Calculate Stochastic Oscillator k = ta.sma(ta.stoch(close, high, low, stochLength), 3) d = ta.sma(k, 3) // Variables to Track Time Since Last Trade var lastTradeBar = 0 barsSinceLastTrade = bar_index - lastTradeBar // Risk Management atr = ta.atr(14) stopLoss = 2 * atr takeProfit = 2 * atr riskAmount = strategy.equity * riskPerTrade / 100 positionSize = 1 // Entry Conditions longCondition = k < oversoldLevel and strategy.position_size == 0 and barsSinceLastTrade >= barsBetweenTrades shortCondition = k > overboughtLevel and strategy.position_size == 0 and barsSinceLastTrade >= barsBetweenTrades // Entry/Exit Orders if longCondition strategy.entry("Long", strategy.long, qty=positionSize) strategy.exit("Long Exit", "Long", stop=close - stopLoss, limit=close + takeProfit) lastTradeBar := bar_index // Update last trade bar if shortCondition strategy.entry("Short", strategy.short, qty=positionSize) strategy.exit("Short Exit", "Short", stop=close + stopLoss, limit=close - takeProfit) lastTradeBar := bar_index // Update last trade bar // Plot Stochastic plot(k, color=color.blue, title="%K") plot(d, color=color.orange, title="%D") hline(overboughtLevel, color=color.red, title="Overbought") hline(oversoldLevel, color=color.green, title="Oversold")