গতি প্রবণতা অপ্টিমাইজেশান সংমিশ্রণ কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-02-06 15:11:57
ট্যাগঃ

img

সারসংক্ষেপ

মোমেন্টাম ট্রেন্ড অপ্টিমাইজেশান কম্বিনেশন কৌশল একটি মাঝারি থেকে দীর্ঘমেয়াদী পরিমাণগত ট্রেডিং কৌশল যা গতি এবং প্রবণতা কারণগুলিকে একত্রিত করে। এটি এক্সপোনেন্সিয়াল চলমান গড়, চলমান গড়, ভলিউম এবং ঢাল সূচকগুলির সংমিশ্রণ ব্যবহার করে ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করে। কৌশলটি টি + 1 ট্রেডিংয়ের জন্য অনুকূলিত করা হয়েছে এবং কেবল দীর্ঘ অবস্থানের জন্য উপযুক্ত। অপ্টিমাইজেশনগুলি আন্তর্জাতিক স্টক মার্কেটেও প্রযোজ্য।

কৌশলগত যুক্তি

কৌশলটি দুটি চলমান গড় সংজ্ঞায়িত করার জন্য একটি 6 দিনের সহজ চলমান গড় এবং 35 দিনের সহজ চলমান গড় ব্যবহার করে। ক্রয় সংকেত লাইনটি 2 দিনের এক্সপোনেন্সিয়াল চলমান গড় হিসাবে সংজ্ঞায়িত করা হয় এবং বিক্রয় সংকেত লাইনটি গত 8 বন্ধের দামের উপর ভিত্তি করে গণনা করা হয়। এছাড়াও, ভলিউমের 20 দিনের এক্সপোনেন্সিয়াল চলমান গড় ভলিউম সূচক হিসাবে সংজ্ঞায়িত করা হয়। কিছু গোলমাল ফিল্টার করার জন্য, কৌশলটি বাজারের দিকের জন্য সাপ্তাহিক ঢাল বিচারও প্রবর্তন করে।

যখন বন্ধের মূল্য 35 দিনের চলমান গড়ের চেয়ে বেশি হয়, তখন ট্রেডিং ভলিউম 20 দিনের গড় ট্রেডিং ভলিউমের চেয়ে বেশি হয় এবং সাপ্তাহিক চেকটি একটি ষাঁড়ের বাজার দেখায়, নীচে থেকে একটি সোনার ক্রস একটি ক্রয় সংকেত ট্রিগার করে। বিপরীতভাবে, শীর্ষ থেকে একটি মৃত্যু ক্রস একটি বিক্রয় সংকেত ট্রিগার করে।

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

সুবিধা বিশ্লেষণ

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

ব্যাকটেস্টের ফলাফল থেকে, কৌশলটির সামগ্রিক রিটার্ন 128.86% পৌঁছেছে, একটি খুব উল্লেখযোগ্য আলফা সহ। একই সময়ে, কৌশলটির জয়ের হারও 60.66% পৌঁছেছে, যা কৌশল প্রভাবের স্থিতিশীলতা প্রতিফলিত করে।

ঝুঁকি বিশ্লেষণ

যদিও কৌশলটি ঝুঁকি ব্যবস্থাপনা প্রক্রিয়াগুলির জন্য অনুকূলিত করা হয়েছে, তবুও কিছু ঝুঁকি রয়েছে যা মনোযোগের প্রয়োজন। বিশেষত প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. ড্রাউডাউন ঝুঁকি। 222,021.46 ইউয়ান একক বৃহত্তম ক্ষতি থেকে দেখা যায় যে কৌশলটির পুনরুদ্ধারের বিস্তৃতি বড়। এটি অসম্পূর্ণ অবস্থান পরিচালনার প্রক্রিয়াটির সাথে সম্পর্কিত।

  2. সিগন্যাল স্থিতিশীলতার ঝুঁকি। কৌশল সংকেত পৃথক স্টক বিশেষ কারণ দ্বারা প্রভাবিত হতে পারে, যা মিথ্যা সংকেত পরিস্থিতির ফলে। এটি কৌশল রিটার্ন উপর একটি নির্দিষ্ট প্রভাব থাকবে।

  3. বাজার পরিবেশের পরিবর্তন ঝুঁকিঃ যদি ম্যাক্রো বাজার পরিবেশ উল্লেখযোগ্যভাবে পরিবর্তিত হয়, তবে প্রভাব বজায় রাখার জন্য কৌশল পরামিতিগুলি সামঞ্জস্য করতে হবে।

অপ্টিমাইজেশান নির্দেশাবলী

উপরের ঝুঁকি বিশ্লেষণ অনুযায়ী, এই কৌশলটি অপ্টিমাইজ করার প্রয়োজনীয়তা এবং সম্ভাবনা এখনও রয়েছে।

  1. সর্বাধিক ক্ষতির উপর ভিত্তি করে, একক ক্ষতির মাত্রা নিয়ন্ত্রণের জন্য একটি স্টপ লস মডিউল চালু করে পজিশন ম্যানেজমেন্ট প্রক্রিয়াটি আরও অনুকূল করা যেতে পারে।

  2. কিছু বিশেষ স্টক ঘটনা চিহ্নিত করতে এবং মিথ্যা সংকেতগুলির সম্ভাবনা হ্রাস করার জন্য আরও ফিল্টারিং সূচক যুক্ত করার কথা বিবেচনা করুন। উদাহরণস্বরূপ, ভলিউম-মূল্য বিচ্যুতি সূচক প্রবর্তন করুন।

  3. কৌশলগত পরামিতিগুলির ব্যাকটেস্টিং এবং যাচাইকরণ চালিয়ে যান এবং বাজারের অবস্থার পরিবর্তনের ভিত্তিতে সময়মত পরামিতিগুলি সামঞ্জস্য করুন। একই সাথে অতিরিক্ত অপ্টিমাইজেশান রোধ করা উচিত।

সংক্ষিপ্তসার

মম্পটাম ট্রেন্ড অপ্টিমাইজেশান কম্বিনেশন কৌশল একটি মাঝারি থেকে দীর্ঘমেয়াদী পরিমাণগত ট্রেডিং কৌশল যা মম্পটাম ফ্যাক্টর এবং ট্রেন্ড ফিল্টারিংকে একত্রিত করে এবং বিশেষত টি + 1 ট্রেডিংয়ের জন্য অনুকূলিত। ব্যাকটেস্ট সূচকগুলি থেকে বিচার করে, কৌশলটির সামগ্রিক প্রভাব উল্লেখযোগ্য, একটি খুব আশ্চর্যজনক আলফা সহ। তবে সম্ভাব্য ঝুঁকিগুলি সম্পর্কেও উদ্বিগ্ন হওয়া উচিত এবং বাজারের অবস্থার পরিবর্তনের সাথে সাথে পরামিতিগুলি সময়মতো সামঞ্জস্য করা উচিত। কৌশলটি পরিমাণগত ব্যবসায়ীদের অতিরিক্ত আলফা আনতে পারে এবং আরও গবেষণা এবং যাচাইয়ের মূল্যবান।


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © fzj20020403

////@version=5
//@version=5
strategy("Optimized Zhaocaijinbao", overlay=true, margin_long=100, margin_short=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Define two moving averages
ma6 = ta.sma(close, 6)
ma35 = ta.sma(close, 35)

// Define buy and sell signal lines
buyLine = ta.ema(close, 2)
sellSlope = (close - close[8]) / 8
sellLine = sellSlope * 1 + ta.sma(close, 8)

// Define volume indicator
volumeEMA = ta.ema(volume, 20)

// Define weekly slope factor
weeklyMa = ta.sma(close, 50)
weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0

// Generate buy and sell signals
buySignal = ta.crossover(buyLine, sellLine) and close > ma35 and volume > volumeEMA and weeklySlope
sellSignal = ta.crossunder(sellLine, buyLine)

// Define dynamic position sizing factor
equity = strategy.equity
maxPositionSize = equity * input.float(title='Max Position Size (%)', defval=0.01, minval=0.001, maxval=0.5, step=0.001)
riskFactor = input.float(title='Risk Factor', defval=2.0, minval=0.1, maxval=10.0, step=0.1)
atr = ta.atr(14)
positionSize = maxPositionSize * riskFactor / atr

// Define position status
var inPosition = false

// Define buy and sell conditions
buyCondition = buySignal and not inPosition
sellCondition = sellSignal and inPosition

// Perform buy and sell operations
if (buyCondition)
    strategy.entry("Long", strategy.long, qty=positionSize)
    inPosition := true
if (sellCondition)
    strategy.close("Long")
    inPosition := false

// Draw vertical line markers for buy and sell signals
plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small)

// Draw two moving averages
plot(ma6, color=color.blue)
plot(ma35, color=color.orange)

// Draw volume indicator line
plot(volumeEMA, color=color.yellow)

// Define stop loss and take profit
stopLoss = strategy.position_avg_price * 0.5
takeProfit = strategy.position_avg_price * 1.25

if inPosition
    strategy.exit("Long Stop Loss", "Long", stop=stopLoss)
    strategy.exit("Long Take Profit", "Long", limit=takeProfit)



আরো