
এই কৌশলটি একটি স্টোক্যাস্টিক ওসিলিয়েটরের উপর ভিত্তি করে একটি মাল্টি-টাইম ফ্রেম ব্যান্ড ট্রেডিং সিস্টেম। এটি বর্তমান সময় ফ্রেম এবং উচ্চতর সময় ফ্রেমগুলির সাথে র্যান্ডম সূচক সংকেতগুলির সংমিশ্রণ দ্বারা ট্রেডিং সুযোগগুলি নির্ধারণ করে এবং গতিশীল স্টপ লস ব্যবহার করে ঝুঁকি পরিচালনা করে। এই কৌশলটি উচ্চতর অস্থিরতার সাথে বাজারে প্রয়োগ করা হয়, দামের স্বল্পমেয়াদী ওঠানামা ক্যাপচার করে লাভের জন্য।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:
এটি একটি সম্পূর্ণ ট্রেডিং সিস্টেম যা প্রযুক্তিগত বিশ্লেষণ এবং ঝুঁকি ব্যবস্থাপনাকে একত্রিত করে। একাধিক সময় ফ্রেমের সংকেত নিশ্চিতকরণ এবং গতিশীল স্টপ লস দিয়ে, কৌশলটি স্থিতিশীলতা নিশ্চিত করার সাথে সাথে ভাল লাভের সম্ভাবনাও রয়েছে। তবে, ব্যবহারকারীদের তাদের নিজস্ব ট্রেডিং শৈলী এবং বাজারের পরিবেশের উপর ভিত্তি করে প্যারামিটারগুলিকে অপ্টিমাইজ করতে হবে এবং সর্বদা কঠোর ঝুঁকি নিয়ন্ত্রণ বজায় রাখতে হবে।
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Swing Fairas Oil", overlay=true)
// Input parameters
kLength = input(14, title="Stochastic K Length")
dLength = input(3, title="Stochastic D Length")
smoothK = input(3, title="Smooth K")
tfHigher = input.timeframe("30", title="Higher Timeframe")
takeProfit = input(1.7, title="Take Profit Multiplier")
stopLoss = input(1.7, title="Stop Loss Multiplier")
// Calculate Stochastic Oscillator for current timeframe
k = ta.sma(ta.stoch(close, high, low, kLength), smoothK)
d = ta.sma(k, dLength)
// Calculate Stochastic Oscillator for higher timeframe
kHTF = request.security(syminfo.tickerid, tfHigher, ta.sma(ta.stoch(close, high, low, kLength), smoothK))
dHTF = request.security(syminfo.tickerid, tfHigher, ta.sma(kHTF, dLength))
// Buy and sell conditions (confirmation from two timeframes)
buyCondition = ta.crossover(k, d) and k < 20 and kHTF < 20 and kHTF > dHTF
sellCondition = ta.crossunder(k, d) and k > 80 and kHTF > 80 and kHTF < dHTF
// Define Take Profit and Stop Loss levels
longStopLoss = close * (1 - stopLoss / 100)
longTakeProfit = close * (1 + takeProfit / 100)
shortStopLoss = close * (1 + stopLoss / 100)
shortTakeProfit = close * (1 - takeProfit / 100)
// Execute Trades
if buyCondition
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
if sellCondition
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)
// Plot buy/sell signals on candlestick chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")
// Highlight candles for buy and sell conditions
barcolor(buyCondition ? color.green : sellCondition ? color.red : na)
// Draw Take Profit and Stop Loss levels dynamically with labels
var float tpLevel = na
var float slLevel = na
if buyCondition
tpLevel := longTakeProfit
slLevel := longStopLoss
if sellCondition
tpLevel := shortTakeProfit
slLevel := shortStopLoss