মুভিং এভারেজ এবং বলিঞ্জার ব্যান্ডের পরিমাণগত ট্রেডিং কৌশল

SMA WMA EMA
সৃষ্টির তারিখ: 2024-04-26 11:45:05 অবশেষে সংশোধন করুন: 2024-04-26 11:45:05
অনুলিপি: 4 ক্লিকের সংখ্যা: 596
1
ফোকাস
1617
অনুসারী

মুভিং এভারেজ এবং বলিঞ্জার ব্যান্ডের পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি মূলত বাজারের প্রবণতা এবং ওঠানামা ক্যাপচার করার জন্য স্লাইডিং এভারেজ এবং বুলিন ব্যবহার করে। এই কৌশলটি তিনটি পৃথক মুভিং এভারেজ ব্যবহার করেঃ সরল মুভিং এভারেজ (এসএমএ), ভারযুক্ত মুভিং এভারেজ (ডাব্লুএমএ) এবং সূচকীয় মুভিং এভারেজ (ইএমএ) । একই সাথে, বুলিন ব্যবহার করে দামের চ্যানেল সেট করা হয়, যথাক্রমে ওপেন পজিশনের শান্তির সংকেত হিসাবে।

কৌশল নীতি

  1. বাজারের দীর্ঘমেয়াদী, স্বল্পমেয়াদী এবং মধ্যমেয়াদী প্রবণতা প্রতিফলিত করে তিনটি ভিন্ন সময়ের জন্য চলমান গড় গণনা করা হয়ঃ ধীর এসএমএ, দ্রুত ইএমএ এবং মাঝারি ডাব্লুএমএ।
  2. দামের মানদণ্ডের পার্থক্য অনুসারে দুটি গ্রুপের ব্রিন ব্যান্ড গণনা করা হয়ঃ খোলার ব্রিন ব্যান্ড ((উপরে-নিচের রেলের দূরত্ব আরও কাছাকাছি) এবং বন্ধের ব্রিন ব্যান্ড ((উপরে-নিচের রেলের দূরত্ব আরও প্রশস্ত) । খোলার ব্রিন ব্যান্ডটি পজিশন খোলার জন্য ব্যবহৃত হয় এবং বন্ধের ব্রিন ব্যান্ডটি পজিশন বন্ধের জন্য ব্যবহৃত হয়।
  3. যখন দ্রুত ইএমএ-তে খোলার জন্য ব্রিনের রেলের উপরে থাকে, তখন খালি পজিশন খোলা হয়; যখন দ্রুত ইএমএ-তে খোলার জন্য ব্রিনের রেলের নিচে থাকে, তখন একাধিক পজিশন খোলা হয়। এর অর্থ হল দামগুলি গড় মান থেকে অনেক বেশি বিচ্যুত হয় এবং প্রবণতা তৈরি হতে পারে।
  4. একবার পজিশন খোলার পরে, যদি দামটি আরও বেশি ক্ষতিগ্রস্থ হয় তবে সমস্ত মাল্টি-হেড পজিশনগুলি বন্ধ করে দেওয়া হয়। যদি দামটি আরও বেশি ক্ষতিগ্রস্থ হয় তবে সমস্ত খালি-হেড পজিশনগুলি বন্ধ করে দেওয়া হয়। এটি ক্ষতি নিয়ন্ত্রণের জন্য, যদি প্রবণতা বিপরীত হয় তবে এটি চূড়ান্ত ক্ষতি।
  5. উপরোক্ত প্রক্রিয়াটি ধারাবাহিকভাবে চলতে থাকে, যার ফলে কৌশলটি বাজারের প্রবণতাগুলির সাথে সামঞ্জস্যপূর্ণ অবস্থানের সাথে সামঞ্জস্যপূর্ণ হতে পারে এবং স্থিতিশীল লাভের জন্য সময়মতো ক্ষতি বন্ধ করতে পারে।

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

  1. তিনটি ভিন্ন গতির মুভিং এভারেজ বিবেচনা করা হয়েছে, যা বিভিন্ন স্তরের বাজারের প্রবণতাকে পুরোপুরি ক্যাপচার করে।
  2. বুলিন বন্ডের প্রবর্তন হল পজিশন খোলার একটি শর্ত, যা বাজারের অস্থিরতার গতিশীলতা অনুসারে সামঞ্জস্য করা যেতে পারে এবং পরিস্থিতির সাথে নমনীয়ভাবে মোকাবিলা করতে পারে।
  3. স্টপ লস ব্রিন ব্যান্ড সেট করুন, কন্ট্রোল রিট্র্যাক করুন এবং বাজারের তীব্র অস্থিরতার সময় প্লেইন পজিশন বন্ধ করুন, যাতে ক্ষতির বিস্তার না হয়।
  4. লজিক পরিষ্কার, নিয়ম সহজ, বাস্তবায়ন এবং অপ্টিমাইজ করা সহজ।
  5. এটির বিস্তৃত প্রয়োগ রয়েছে এবং এটি বিভিন্ন বাজারের জন্য এবং বিভিন্ন সময়কালের জন্য কার্যকর হতে পারে।

কৌশলগত ঝুঁকি

  1. বাজারের অস্থিরতার মধ্যে, ঘন ঘন পজিশন খোলার ফলে প্রচুর লেনদেনের খরচ হতে পারে, যার ফলে মুনাফা কমে যায়।
  2. প্রবণতা পাল্টানোর প্রথম দিকে, কৌশলটি এখনও মূল প্রবণতার দিকনির্দেশে ট্রেড করতে পারে, যার ফলে কিছু ক্ষতি হয়।
  3. এর অর্থ হল যে আপনি যদি আপনার ট্রেডিং অ্যাকাউন্টের উপর নির্ভরশীল হন তবে আপনি আপনার ট্রেডিং অ্যাকাউন্টের উপর নির্ভরশীল হতে পারেন।
  4. ভুল প্যারামিটার নির্বাচন (যেমন চলন্ত গড়ের সময়কাল, ব্রিন ব্যান্ডউইথ ইত্যাদি) কৌশলকে অকার্যকর করতে পারে।
  5. যদি বাজার চলমান থাকে, তাহলে কৌশলগুলি দীর্ঘমেয়াদে সুস্পষ্ট প্রবণতা সুযোগগুলি ধরতে ব্যর্থ হতে পারে।

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

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

সারসংক্ষেপ

Marina Parfenova School Project Robot হল একটি ক্যাটাগরি ট্রেডিং কৌশল যা চলমান গড় এবং বুলিন বন্ডের উপর ভিত্তি করে। এটি বাজারের প্রবণতা ধরে লাভ অর্জনের চেষ্টা করে এবং বুলিন বন্ডের স্টপ লস লাইন নিয়ন্ত্রণ করে প্রত্যাহার করে। কৌশলগত লজিকটি সহজ এবং পরিষ্কার, প্রয়োগের ক্ষেত্রটি বিস্তৃত, প্যারামিটারগুলি বাজারের বৈশিষ্ট্য অনুসারে নমনীয়ভাবে সামঞ্জস্য করা যেতে পারে। তবে বাস্তব প্রয়োগের ক্ষেত্রে এখনও উদ্বেগজনক বাজার, চরম পরিস্থিতি, প্যারামিটার অপ্টিমাইজেশন ইত্যাদির বিষয়ে মনোযোগ দেওয়া প্রয়োজন এবং তহবিল পরিচালনা এবং পজিশন পরিচালনার নিয়মগুলি আরও বিশদ করা দরকার। সামগ্রিকভাবে, কৌশলটি একটি মৌলিক ক্যাটাগরি ট্রেডিং ফ্রেমওয়ার্কের মতো কাজ করতে পারে, যার ভিত্তিতে ক্রমাগত অপ্টিমাইজেশন এবং পরিবর্তন করা যেতে পারে, যাতে আরও স্থিতিশীল এবং উন্নত ট্রেডিং কার্যকারিতা অর্জন করা যায়।

কৌশল সোর্স কোড
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy ("Marina Parfenova School Project Bot", overlay = true)

sma(price, n) =>
    result = 0.0
    for i = 0 to n - 1
        result := result + price [i] / n    
    result

wma(price, n) =>
    result = 0.0
    sum_weight = 0.0
    weight = 0.0
    for i = 0 to n - 1
        weight := n - 1
        result := result + price [i]*weight
        sum_weight := sum_weight + weight
    result/sum_weight

ema(price, n) =>
    result = 0.0
    alpha = 2/(n + 1)
    prevResult = price 
    if (na(result[1]) == false)
        prevResult := result[1]
    result := alpha * price + (1 - alpha) * prevResult

/// Настройки
n_slow = input.int(50, "Период медленной скользящей средней", step=5)
n_fast = input.int(4, "Период быстрой скользящей средней")
n_deviation = input.int(30, "Период среднеквадратического отклонения", step=5)
k_deviation_open = input.float(1.2, "Коэффициент ширины коридора покупки", step=0.1)
k_deviation_close = input.float(1.6, "Коэффициент ширины коридора продажи", step=0.1)

// ----- Линии индикаторов -----

// Медленная скользящая 
sma = sma(close, n_slow)
plot(sma, color=#d3d3d3)

// Линии Боллинджера, обозначающие коридор цены
bollinger_open = k_deviation_open * ta.stdev(close, n_deviation)
open_short_line = sma + bollinger_open
plot(open_short_line, color=#ec8383)
open_long_line = sma - bollinger_open
plot(open_long_line, color=#6dd86d)

bollinger_close = k_deviation_close * ta.stdev(close, n_deviation)
close_short_line = sma + bollinger_close
plot(close_short_line, color=#e3e3e3)
close_long_line = sma - bollinger_close
plot(close_long_line, color=#e3e3e3)

// Быстрая скользящая
ema = ema(close, n_fast)
plot(ema, color = color.aqua, linewidth = 2)

// ----- Сигналы для запуска стратегии -----

// если ema пересекает линию open_short сверху вниз - сигнал на создание ордера в short
if(ema[1] >= open_short_line[1] and ema < open_short_line)
    strategy.entry("short", strategy.short)

// если ema пересекает линию open_long снизу вверх - сигнал на создание ордера в long
if(ema[1] <= open_long_line[1] and ema > open_long_line)
    strategy.entry("long", strategy.long)

// если свеча пересекает верхнюю линию коридора продажи - закрываем все long-ордера 
if (high >= close_short_line)
    strategy.close("long")

// если свеча пересекает нижнюю линию коридора продажи - закрываем все short-ордера
if (low <= close_long_line)
    strategy.close("short")