এই কৌশলটি একটি উন্নত প্রবণতা অনুসরণকারী ট্রেডিং সিস্টেম যা জি-চ্যানেল, আরএসআই, এবং এমএসিডি সূচকগুলিকে একীভূত করে। এটি গতির সূচকগুলিকে একত্রিত করার সময় গতিশীলভাবে সমর্থন এবং প্রতিরোধ অঞ্চলগুলি গণনা করে উচ্চ সম্ভাব্যতার ট্রেডিং সুযোগগুলি সনাক্ত করে। আরও সঠিক সংকেত উত্পাদনের জন্য গতির পরিবর্তনগুলি নিশ্চিত করতে আরএসআই এবং এমএসিডি ব্যবহার করে বাজারের প্রবণতা নির্ধারণের জন্য একটি কাস্টম জি-চ্যানেল সূচক ব্যবহার করা মূল বিষয়।
কৌশলটি সিগন্যাল নির্ভরযোগ্যতা নিশ্চিত করার জন্য একটি ট্রিপল ফিল্টারিং প্রক্রিয়া ব্যবহার করে। প্রথমত, জি-চ্যানেল একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন দাম গণনা করে গতিশীলভাবে সমর্থন এবং প্রতিরোধ অঞ্চল তৈরি করে। যখন দাম চ্যানেলটি অতিক্রম করে, তখন সিস্টেম সম্ভাব্য প্রবণতা বিপরীত পয়েন্টগুলি সনাক্ত করে। দ্বিতীয়ত, আরএসআই সূচকটি নিশ্চিত করে যে বাজারটি অতিরিক্ত ক্রয় বা অতিরিক্ত বিক্রয় অবস্থার মধ্যে রয়েছে কিনা, আরও মূল্যবান ট্রেডিং সুযোগগুলি ফিল্টার করতে সহায়তা করে। অবশেষে, এমএসিডি সূচক হিস্টোগ্রাম মানগুলির মাধ্যমে গতির দিক এবং শক্তি নিশ্চিত করে। ট্রেডিং সংকেতগুলি কেবলমাত্র তিনটি শর্ত পূরণ হলে উত্পন্ন হয়।
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির ব্যাপক ব্যবহারের মাধ্যমে একটি সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। এর মূল সুবিধাগুলি বহুমাত্রিক সংকেত নিশ্চিতকরণ প্রক্রিয়া এবং বিস্তৃত ঝুঁকি ব্যবস্থাপনা ব্যবস্থায় রয়েছে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, কৌশলটি বিভিন্ন বাজারের পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখার প্রতিশ্রুতি দেখায়। ব্যবসায়ীদের লাইভ ট্রেডিংয়ের আগে বিভিন্ন পরামিতি সংমিশ্রণগুলি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করার এবং নির্দিষ্ট বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে যথাযথ সমন্বয় করার পরামর্শ দেওয়া হয়।
/*backtest start: 2024-11-19 00:00:00 end: 2024-12-18 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("VinSpace Optimized Strategy", shorttitle="VinSpace Magic", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Input Parameters length = input.int(100, title="Length") src = input(close, title="Source") stop_loss_pct = input.float(1, title="Stop Loss (%)") / 100 take_profit_pct = input.float(3, title="Take Profit (%)") / 100 rsi_length = input.int(14, title="RSI Length") rsi_overbought = input.int(70, title="RSI Overbought") rsi_oversold = input.int(30, title="RSI Oversold") macd_short = input.int(12, title="MACD Short Length") macd_long = input.int(26, title="MACD Long Length") macd_signal = input.int(9, title="MACD Signal Length") // ---- G-Channel Calculations ---- var float a = na var float b = na a := math.max(src, na(a[1]) ? src : a[1]) - (na(a[1]) ? 0 : (a[1] - b[1]) / length) b := math.min(src, na(b[1]) ? src : b[1]) + (na(a[1]) ? 0 : (a[1] - b[1]) / length) avg = (a + b) / 2 // ---- RSI Calculation ---- rsi = ta.rsi(src, rsi_length) // ---- MACD Calculation ---- [macdLine, signalLine, _] = ta.macd(src, macd_short, macd_long, macd_signal) macd_hist = macdLine - signalLine // ---- Trend Detection Logic ---- crossup = b[1] < close[1] and b > close crossdn = a[1] < close[1] and a > close bullish = ta.barssince(crossdn) <= ta.barssince(crossup) c = bullish ? color.new(color.green, 0) : color.new(color.red, 0) // Plotting the Average p1 = plot(avg, "Average", color=c, linewidth=2) p2 = plot(close, "Close price", color=c, linewidth=1) // Adjusted fill with transparency fill(p1, p2, color=color.new(c, 90)) // ---- Buy and Sell Signals ---- showcross = input(true, title="Show Buy/Sell Labels") plotshape(showcross and bullish and not bullish[1], location=location.belowbar, style=shape.labelup, color=color.green, size=size.small, text="Buy", textcolor=color.white, offset=-1) plotshape(showcross and not bullish and bullish[1], location=location.abovebar, style=shape.labeldown, color=color.red, size=size.small, text="Sell", textcolor=color.white, offset=-1) // ---- Entry and Exit Conditions ---- enterLong = bullish and rsi < rsi_oversold and macd_hist > 0 enterShort = not bullish and rsi > rsi_overbought and macd_hist < 0 // Exit Conditions exitLong = ta.crossunder(close, avg) or rsi > rsi_overbought exitShort = ta.crossover(close, avg) or rsi < rsi_oversold // Position Size (example: 10% of equity) posSize = 1 // Submit Entry Orders if enterLong strategy.entry("EL", strategy.long, qty=posSize) if enterShort strategy.entry("ES", strategy.short, qty=posSize) // Submit Exit Orders if exitLong strategy.close("EL") if exitShort strategy.close("ES") // Set Stop Loss and Take Profit for the trades strategy.exit("Take Profit/Stop Loss Long", from_entry="EL", loss=stop_loss_pct * close, profit=take_profit_pct * close) strategy.exit("Take Profit/Stop Loss Short", from_entry="ES", loss=stop_loss_pct * close, profit=take_profit_pct * close)