ডাবল মুভিং এভারেজ মোমেন্টাম ট্রেডিং কৌশল: সময় অপ্টিমাইজেশানের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী সিস্টেম

SMA MA
সৃষ্টির তারিখ: 2024-07-31 14:50:26 অবশেষে সংশোধন করুন: 2024-07-31 14:50:26
অনুলিপি: 17 ক্লিকের সংখ্যা: 792
1
ফোকাস
1617
অনুসারী

ডাবল মুভিং এভারেজ মোমেন্টাম ট্রেডিং কৌশল: সময় অপ্টিমাইজেশানের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী সিস্টেম

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির মূল নীতি হল বাজারের প্রবণতা এবং ট্রেডিং সিগন্যাল তৈরির জন্য দুটি ভিন্ন পিরিয়ডের মুভিং এভারেজ (এমএ) ব্যবহার করা।

  1. স্বল্পমেয়াদী এমএ এবং দীর্ঘমেয়াদী এমএঃ কৌশলটি দুটি ব্যবহারকারীর কাস্টমাইজড মুভিং এভারেজ পিরিয়ড ব্যবহার করে যা স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী বাজার প্রবণতা প্রতিনিধিত্ব করে।

  2. ক্রস সিগন্যালঃ যখন স্বল্পমেয়াদী এমএ ঊর্ধ্বমুখী হয়ে দীর্ঘমেয়াদী এমএ অতিক্রম করে তখন এটি একটি ক্রয় সংকেত দেয়; যখন স্বল্পমেয়াদী এমএ ঊর্ধ্বমুখী হয়ে দীর্ঘমেয়াদী এমএ অতিক্রম করে তখন এটি একটি বিক্রয় সংকেত দেয়।

  3. সময় অপ্টিমাইজেশানঃ কৌশলটি ট্রেডিংয়ের সময় উইন্ডো ধারণাটি প্রবর্তন করে, কেবলমাত্র ব্যবহারকারীর দ্বারা নির্ধারিত ইউটিসি সময়সীমার মধ্যে লেনদেন সম্পাদন করে, যা বাজারের বৃহত্তর ওঠানামা বা কম তরলতা এড়াতে সহায়তা করে।

  4. একাধিক টার্গেট মূল্যঃ কৌশলটি প্রতিটি লেনদেনের জন্য দুটি টার্গেট মূল্য সেট করে (Target_1 এবং Target_2), যা ধাপে ধাপে লাভের অনুমতি দেয়।

  5. ঝুঁকি ব্যবস্থাপনাঃ প্রতিটি লেনদেনের জন্য একটি স্টপ লস সেট করা হয় যাতে সম্ভাব্য ক্ষতির পরিমাণ সীমিত করা যায়।

  6. ভিজ্যুয়ালাইজেশনঃ কৌশলটি চার্টে ক্রয়-বিক্রয় সংকেত এবং মূল্যের লক্ষ্যমাত্রা পৌঁছানোর ট্যাগগুলি দেখায় যাতে ব্যবসায়ীরা বাজারের গতিশীলতা বুঝতে পারে।

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

  1. ট্রেন্ড ট্র্যাকিংঃ মুভিং এভারেজ ক্রস ব্যবহার করে, কৌশলটি কার্যকরভাবে বাজার প্রবণতা ক্যাপচার করতে পারে এবং মুনাফা অর্জনের সুযোগ বাড়িয়ে তুলতে পারে।

  2. সময় অপ্টিমাইজেশানঃ ট্রেডিংয়ের সময়সীমা সীমিত করার মাধ্যমে, কৌশলটি বাজারের সবচেয়ে সক্রিয় এবং লাভজনক সময়ে ট্রেডিংয়ের দক্ষতা বাড়িয়ে তুলতে পারে।

  3. ঝুঁকি ব্যবস্থাপনাঃ একাধিক টার্গেট প্রাইস এবং স্টপ লস সেটআপ ঝুঁকি এবং রিটার্নের ভারসাম্য বজায় রাখতে সাহায্য করে এবং তহবিলের সুরক্ষা দেয়।

  4. নমনীয়তাঃ ব্যবহারকারীরা ব্যক্তিগত পছন্দ এবং বাজারের বৈশিষ্ট্য অনুযায়ী এমএ চক্র, লক্ষ্য মূল্য এবং লেনদেনের সময় উইন্ডো সামঞ্জস্য করতে পারেন।

  5. ভিজ্যুয়ালাইজেশনঃ ক্রয়-বিক্রয় সংকেত এবং টার্গেট প্রাইস অর্জনের চিত্রটি চার্টে চিহ্নিত করে ব্যবসায়ীরা কৌশলটির কার্যকারিতা আরও স্বজ্ঞাতভাবে বুঝতে পারে।

  6. দ্বি-মুখী লেনদেনঃ এই কৌশলটি একই সময়ে লভ্যাংশ এবং লোভনীয়তাকে সমর্থন করে এবং বিভিন্ন বাজারের পরিস্থিতিতে সুযোগগুলি সন্ধান করতে সক্ষম।

কৌশলগত ঝুঁকি

  1. অস্থির বাজার ঝুঁকিঃ অস্থির বাজারগুলিতে, ঘন ঘন এমএ ক্রসগুলি অত্যধিক মিথ্যা সংকেত এবং লেনদেনের ব্যয় হতে পারে।

  2. স্লাইড পয়েন্টের ঝুঁকিঃ দ্রুত বাজারে, প্রকৃত লেনদেনের দামগুলি সংকেত তৈরির সময় মূল্যের সাথে উল্লেখযোগ্য পার্থক্য থাকতে পারে।

  3. ঐতিহাসিক তথ্যের উপর অত্যধিক নির্ভরশীলতাঃ মুভিং এভারেজ একটি পিছিয়ে পড়া সূচক, যা বাজারের তীব্র পরিবর্তনের সময় প্রতিক্রিয়াশীল হতে পারে।

  4. সময়সীমার সীমাবদ্ধতাঃ কঠোর ট্রেডিং সময়সীমা গুরুত্বপূর্ণ বাজার সুযোগগুলি মিস করতে পারে।

  5. স্থির ক্ষতির ঝুঁকিঃ স্থির পয়েন্টের ক্ষতির ঝুঁকি উচ্চ অস্থিরতার সময়কালে যথেষ্ট নমনীয় হতে পারে।

  6. অত্যধিক লেনদেনঃ কিছু বাজারের অবস্থার অধীনে, কৌশলগুলি অত্যধিক লেনদেনের সংকেত তৈরি করতে পারে, লেনদেনের ব্যয় বাড়িয়ে তুলতে পারে।

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

  1. গতিশীল প্যারামিটার সমন্বয়ঃ বাজারের অস্থিরতার গতিশীলতার উপর নির্ভর করে এমএ চক্র এবং লেনদেনের প্যারামিটারগুলিকে সামঞ্জস্য করার জন্য একটি স্ব-অনুকূলিতকরণ ব্যবস্থা প্রবর্তনের বিষয়টি বিবেচনা করুন।

  2. অস্থিরতা ফিল্টার যুক্ত করুনঃ ট্রেডিং সিগন্যাল তৈরির আগে বাজারটির অস্থিরতা মূল্যায়ন করুন, যাতে কম অস্থিরতার সময় অত্যধিক লেনদেন করা যায় না।

  3. ক্ষতির ব্যবস্থাপনা উন্নত করুনঃ বিভিন্ন বাজার অবস্থার সাথে খাপ খাইয়ে নিতে ATR (অর্ধ-সত্যিকারের ব্যাপ্তি) ভিত্তিক গতিশীল ক্ষতির ব্যবস্থা বিবেচনা করা যেতে পারে।

  4. অন্যান্য প্রযুক্তিগত সূচক যেমন RSI বা MACD এর সাথে সংযুক্ত করুন, যা প্রবণতার শক্তি নিশ্চিত করে এবং সংকেতের গুণমান উন্নত করে।

  5. পুনরাবৃত্তি অপ্টিমাইজেশানঃ একটি বৃহত্তর ঐতিহাসিক ডেটা পুনরাবৃত্তি করুন, সর্বোত্তম প্যারামিটার সমন্বয় এবং সময় উইন্ডো সেটিং খুঁজে বের করুন।

  6. তহবিল ব্যবস্থাপনা অপ্টিমাইজেশনঃ অ্যাকাউন্টের আকার এবং বাজারের অস্থিরতার উপর ভিত্তি করে ডায়নামিকভাবে লেনদেনের আকারের মতো আরও জটিল পজিশন পরিচালনার কৌশল বাস্তবায়ন।

  7. মৌলিক বিষয়গুলি বিবেচনা করুনঃ গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের আগে এবং পরে কৌশলগত আচরণগুলি সামঞ্জস্য করুন এবং উচ্চ অনিশ্চয়তার সময় লেনদেন এড়িয়ে চলুন।

  8. মেশিন লার্নিং ইন্টিগ্রেশনঃ মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে প্যারামিটার নির্বাচন এবং সিগন্যাল জেনারেশন প্রক্রিয়াটি অনুকূলিতকরণের অন্বেষণ।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-07-23 00:00:00
end: 2024-07-30 00:00:00
period: 2m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gold Trend Trader", shorttitle="Gold Trader", overlay=true)

// User-defined input for moving averages
shortMA = input.int(10, minval=1, title="Short MA Period")
longMA = input.int(100, minval=1, title="Long MA Period")
target_1 = input.int(100, minval=1, title="Target_1")
target_2 = input.int(150, minval=1, title="Target_2")

// User-defined input for the start and end times with default values
startTimeInput = input.int(12, title="Start Time for Session (UTC, in hours)", minval=0, maxval=23)
endTimeInput = input.int(17, title="End Time Session (UTC, in hours)", minval=0, maxval=23)
// Convert the input hours to minutes from midnight
startTime = startTimeInput * 60 
endTime = endTimeInput * 60  

// Function to convert the current exchange time to UTC time in minutes
toUTCTime(exchangeTime) =>
    exchangeTimeInMinutes = exchangeTime / 60000
    // Adjust for UTC time
    utcTime = exchangeTimeInMinutes % 1440
    utcTime

// Get the current time in UTC in minutes from midnight
utcTime = toUTCTime(time)

// Check if the current UTC time is within the allowed timeframe
isAllowedTime = (utcTime >= startTime and utcTime < endTime)

// Calculating moving averages
shortMAValue = ta.sma(close, shortMA)
longMAValue = ta.sma(close, longMA)

// Plotting the MAs
plot(shortMAValue, title="Short MA", color=color.blue)
plot(longMAValue, title="Long MA", color=color.red)

// Tracking buy and sell signals
var float buyEntryPrice_1 = na
var float buyEntryPrice_2 = na
var float sellEntryPrice_1 = na
var float sellEntryPrice_2 = na

// Logic for Buy and Sell signals
buySignal = ta.crossover(shortMAValue, longMAValue) and isAllowedTime
sellSignal = ta.crossunder(shortMAValue, longMAValue) and isAllowedTime

// Entry conditions for long and short trades
if (buySignal)
    strategy.entry("Buy_1", strategy.long)
    strategy.exit("TP_1", "Buy_1", limit=close + target_1, stop=close - 100)

    strategy.entry("Buy_2", strategy.long)
    strategy.exit("TP_2", "Buy_2", limit=close + target_2, stop=close - 1500)

if (sellSignal)
    strategy.entry("Sell_1", strategy.short)
    strategy.exit("TP_3", "Sell_1", limit=close - target_1, stop=close + 100)

    strategy.entry("Sell_2", strategy.short)
    strategy.exit("TP_4", "Sell_2", limit=close - target_2, stop=close + 150)

// Apply background color for entry candles
barcolor(buySignal ? color.green : sellSignal ? color.red : na)

// Creating buy and sell labels
if (buySignal)
    label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white, yloc=yloc.belowbar)

if (sellSignal)
    label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white, yloc=yloc.abovebar)

// Creating labels for 100-point movement
if (not na(buyEntryPrice_1) and close >= buyEntryPrice_1 + target_1)
    label.new(bar_index, high, text=str.tostring(target_1), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
    buyEntryPrice_1 := na // Reset after label is created

if (not na(buyEntryPrice_2) and close >= buyEntryPrice_2 + target_2)
    label.new(bar_index, high, text=str.tostring(target_2), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
    buyEntryPrice_2 := na // Reset after label is created

if (not na(sellEntryPrice_1) and close <= sellEntryPrice_1 - target_1)
    label.new(bar_index, low, text=str.tostring(target_1), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
    sellEntryPrice_1 := na // Reset after label is created

if (not na(sellEntryPrice_2) and close <= sellEntryPrice_2 - target_2)
    label.new(bar_index, low, text=str.tostring(target_2), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
    sellEntryPrice_2 := na // Reset after label is created