ট্রেন্ড এবং মুভিং এভারেজ ক্রসওভারের উপর ভিত্তি করে বহুমুখী পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-08 12:14:50 অবশেষে সংশোধন করুন: 2023-12-08 12:14:50
অনুলিপি: 0 ক্লিকের সংখ্যা: 631
1
ফোকাস
1621
অনুসারী

ট্রেন্ড এবং মুভিং এভারেজ ক্রসওভারের উপর ভিত্তি করে বহুমুখী পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি একাধিক প্রযুক্তিগত সূচক এবং ট্রেডিং ধারণাগুলিকে একত্রিত করে যা স্বয়ংক্রিয়ভাবে ক্রয় এবং বিক্রয় সংকেত তৈরি করতে ব্যবহার করা যেতে পারে। প্রধান বৈশিষ্ট্য হ’ল ট্রেন্ড বিশ্লেষণ সূচকগুলির সাথে মিলিত হয়ে অপ্টিমাইজড স্টপ লস অর্জন করা এবং একই সাথে ট্রেডিং সংকেত উত্পন্ন করার জন্য সমান্তরাল ক্রস ব্যবহার করা।

কৌশল নীতি

প্রযুক্তিগত সূচক

  • কাস্টমাইজড ইউটিএসটিসি সূচকঃ গড় বাস্তব তরঙ্গের উপর ভিত্তি করে একটি স্বনির্ধারিত ট্র্যাকিং স্টপ লস সূচক উপলব্ধ করা হয়, যা বাজারের অস্থিরতার উপর নির্ভর করে স্টপ লস পরিসীমাকে সামঞ্জস্য করতে পারে।

  • এসটিসি সূচকঃ দ্রুত সরল চলমান গড় এবং ধীর সরল চলমান গড়ের পার্থক্য, যা বাজারের প্রবণতার দিকনির্দেশ এবং সম্ভাব্য বিপরীত দিক নির্ধারণের জন্য ব্যবহৃত হয়।

  • সরল চলমান গড় ((SMA) এবং সূচকীয় চলমান গড় ((EMA): বিভিন্ন সময়ের চলমান গড় গণনা করা এবং আঁকা, যা অতিরিক্ত প্রবণতা বিচার তথ্য প্রদান করে।

ট্রেডিং সিগন্যাল

  • ক্রয় সংকেত: যখন বন্ধের মূল্য UTSTC সূচকটি অতিক্রম করে এবং STC সূচকটি মুদ্রাস্ফীতির অবস্থায় থাকে তখন তৈরি হয়।

  • বিক্রয় সংকেত: যখন বন্ধের মূল্য UTSTC সূচকটি অতিক্রম করে এবং STC সূচকটি পতনশীল অবস্থায় থাকে।

কৌশলগত সুবিধা

  • মার্কেটের প্রবণতা নির্ধারণের জন্য বিভিন্ন সূচককে একত্রিত করা হয়, যার ফলে সংকেতের নির্ভুলতা বৃদ্ধি পায়।

  • ইউটিএসটিসি সূচকটি স্বয়ংক্রিয়ভাবে প্রকৃত তরঙ্গের উপর নির্ভর করে স্টপ লস রেঞ্জকে সামঞ্জস্য করে, যা প্রতিটি ক্ষতিকে কার্যকরভাবে নিয়ন্ত্রণ করতে পারে।

  • সমান্তরাল ক্রস ব্যবহার করে সহজ এবং কার্যকর ট্রেডিং সিগন্যাল তৈরি করুন।

  • বিভিন্ন প্যারামিটার সেটিং সমন্বয় আরো বাজার পরিবেশের জন্য উপযুক্ত হতে পারে।

কৌশলগত ঝুঁকি

  • STC ইত্যাদি ট্রেন্ডিং সূচকগুলি পিছিয়ে রয়েছে এবং স্বল্পমেয়াদী বিপর্যয়ের সুযোগ হারাতে পারে।

  • সমান্তরাল ক্রস সংকেত একটি মিথ্যা সংকেত উত্পন্ন করতে পারে।

  • প্যারামিটার সেটিংগুলিকে সতর্কতার সাথে মূল্যায়ন করা প্রয়োজন, কারণ ভুল সমন্বয়গুলি মুনাফা হ্রাস করতে পারে বা ক্ষতি বাড়িয়ে তুলতে পারে।

  • ক্ষতির পরিধি খুব বড় হলে ক্ষতির ঝুঁকি বাড়তে পারে, খুব ছোট হলে ক্ষতির ঝুঁকি বাড়তে পারে।

অপ্টিমাইজেশান দিক

  • বিভিন্ন দৈর্ঘ্যের পিরিয়ডের STC সূচক প্যারামিটারগুলি পরীক্ষা করে, কৌশলগত প্রভাবের জন্য সর্বনিম্ন সেটিংস খুঁজুন।

  • অন্যান্য সূচক যেমন কেডিজে, এমএসিডি ইত্যাদির সাথে মিথ্যে সংকেতগুলি ফিল্টার করার চেষ্টা করুন।

  • রিটার্নিং ফলাফলের উপর ভিত্তি করে স্টপ লস প্যারামিটারগুলি সামঞ্জস্য করুন এবং সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন।

  • পজিশনের সময় নির্ধারণের বিভিন্ন পদ্ধতির মূল্যায়ন করা এবং সর্বোত্তম পজিশনের সময়কাল খুঁজে বের করা।

সারসংক্ষেপ

এই কৌশলটি প্রবণতা বিচার, স্বয়ংক্রিয় স্টপ লস ম্যানেজমেন্ট এবং ট্রেডিং সিগন্যাল বিচার একাধিক মডিউলকে একত্রিত করে একটি আরও বিস্তৃত পরিমাণগত ট্রেডিং প্রোগ্রাম গঠন করে। প্যারামিটার অপ্টিমাইজেশন এবং ফাংশন এক্সটেনশনের মাধ্যমে স্থিতিশীল উপার্জন আশা করা যায়। তবে কোনও কৌশলই পুরোপুরি ক্ষতি এড়াতে পারে না, সতর্কতার সাথে কার্যকারিতা যাচাই করা এবং ঝুঁকি নিয়ন্ত্রণ করা প্রয়োজন।

কৌশল সোর্স কোড
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("OB+LQ+UTSTC+SMA+EMA-NORA-MIP21-Jashore-Bangladesh-OneMinuteTF", shorttitle="OB+LS+UTSTC-MIP21-Jashore-Bangladesh-OneMinuteTF", overlay=true)

// Order Block + Liquidity Swings [NORA] Settings
pivot_length = input(14, title="Pivot Lookback")
bull_ext_last = input(3, title="Bullish OB Extension")
bear_ext_last = input(3, title="Bearish OB Extension")
swing_length = input(5, title="Swing Length")
area = input("Wick Extremity", title="Swing Area", options=["Wick Extremity", "Full Range"])
min_profit = input(0.5, title="Minimum Profit Target")
max_loss = input(0.5, title="Maximum Loss Stop")

// Variables
var float bull_ob_price = na
var float bear_ob_price = na
var float swing_high = na
var float swing_low = na

// Calculate Order Block Prices
var float low_lowest = na
var float high_highest = na
if bar_index >= pivot_length
    low_lowest := lowest(low, pivot_length)
    high_highest := highest(high, pivot_length)
    bull_ob_price := low_lowest
    bear_ob_price := high_highest

// Calculate Swing High/Low Prices
var float low_lowest_swing = na
var float high_highest_swing = na

if area == "Wick Extremity"
    low_lowest_swing := lowest(low, swing_length)
    high_highest_swing := highest(high, swing_length)
else
    low_lowest_swing := lowest(high - low, swing_length)
    high_highest_swing := highest(high - low, swing_length)

swing_low := low_lowest_swing
swing_high := high_highest_swing

// Trading Logic for Order Block + Liquidity Swings
buy_liquidity = crossover(close, bull_ob_price) and close > swing_low
sell_liquidity = crossunder(close, bear_ob_price) and close < swing_high

// Plot Buy/Sell Signals for Order Block + Liquidity Swings
plotshape(series=buy_liquidity, style=shape.labelup, location=location.belowbar, color=color.rgb(39, 166, 175), size=size.small, title="Bullish LQ")
plotshape(series=sell_liquidity, style=shape.labeldown, location=location.abovebar, color=color.rgb(248, 95, 215), size=size.small, title="Bearish LQ")

// UTSTC-SMA-EMA-NORA-New Settings
keyvalue = input(3, title="UT Bot Key Value", step=0.5)
atrperiod = input(10, title="UT Bot ATR Period")
src = close

xATR = atr(atrperiod)
nLoss = keyvalue * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
pos = 0   
pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(xATRTrailingStop, color=xcolor, title="UT Bot Trailing Stop")

// STC Settings
stc_length = input(12, title="STC Length")
fastLength = input(26, title="STC Fast Length")
slowLength = input(50, title="STC Slow Length")
fastMA = ema(close, fastLength)
slowMA = ema(close, slowLength)
STC = fastMA - slowMA
STCColor = STC > STC[1] ? color.green : color.red
plot(STC, color=STCColor, title="STC")

// Add SMAs
sma21 = sma(close, 21)
sma44 = sma(close, 44)
plot(sma21, color=color.blue, title="SMA 21")
plot(sma44, color=color.orange, title="SMA 44")

// Add EMA
ema5 = ema(close, 5)
plot(ema5, color=color.yellow, title="EMA 5")

// Combined Strategy
buySignal = crossover(src, xATRTrailingStop) and STC < 25 and STCColor == color.green
sellSignal = crossunder(src, xATRTrailingStop) and STC > 75 and STCColor == color.red

// Plot Buy and Sell signals as triangles
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)