অভিযোজিত মুভিং এভারেজ গ্রিড কোয়ান্টিটেটিভ ট্রেডিং কৌশল

SMA MA GRID ATR volatility MEAN REVERSION
সৃষ্টির তারিখ: 2025-07-02 14:08:13 অবশেষে সংশোধন করুন: 2025-07-02 14:08:13
অনুলিপি: 0 ক্লিকের সংখ্যা: 584
2
ফোকাস
319
অনুসারী

অভিযোজিত মুভিং এভারেজ গ্রিড কোয়ান্টিটেটিভ ট্রেডিং কৌশল অভিযোজিত মুভিং এভারেজ গ্রিড কোয়ান্টিটেটিভ ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

স্বনির্ধারিত সমান্তরাল গ্রিড কোয়ান্টাম ট্রেডিং কৌশলটির মূল নীতিটি বাজারের দামের গড় মানের রিটার্ন বৈশিষ্ট্যগুলির উপর ভিত্তি করে। কৌশলটি নিম্নলিখিত পদক্ষেপগুলি দ্বারা বাস্তবায়িত হয়ঃ

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

এই কৌশলটির মূল বিষয় হল নির্দিষ্ট পরিসরের মধ্যে দামের উচ্চ-ফ্রিকোয়েন্সির ওঠানামা ধরা এবং “নিম্ন-বিক্রয়-উচ্চ-বিক্রয়” বাস্তবায়ন করা। এই কৌশলটি একই সাথে একাধিক পজিশন রাখার অনুমতি দেয় (সর্বোচ্চ 15) এবং প্রতিটি পজিশন বিভিন্ন গ্রিড লাইনের সাথে সম্পর্কিত। এই নকশাটি কৌশলটিকে মূল্যের ওঠানামার আরও বেশি সুবিধা নিতে সক্ষম করে।

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

স্বনির্ধারিত সমান্তরাল গ্রিডের পরিমাণগত লেনদেনের কৌশলগুলির উল্লেখযোগ্য সুবিধাগুলি হলঃ

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

কৌশলগত ঝুঁকি

যদিও এই কৌশলটি যুক্তিসঙ্গতভাবে পরিকল্পিত, তবে এর মধ্যে কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ

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

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

কোড বিশ্লেষণের উপর ভিত্তি করে, এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

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

সারসংক্ষেপ

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

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

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

কৌশল সোর্স কোড
/*backtest
start: 2025-04-01 00:00:00
end: 2025-06-22 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy('Grid Trading Strategy', overlay=true, pyramiding=15)

// 输入参数设置
ma_length = input.int(300, '移动平均线长度', group='移动平均线条件', step=10)
std = input.float(0.03, title='网格上下偏差率', group='网格条件', step=0.01)
grid = input.int(15, maxval=15, title='网格线数量', group='网格条件')

// 计算移动平均线及网格边界
ma = ta.sma(close, ma_length)
upper_bound = ma * (1 + std)
lower_bound = ma * (1 - std)
grid_width = (upper_bound - lower_bound) / (grid - 1)

// 创建网格价格数组
grid_array = array.new_float(0)
for i = 0 to grid - 1 by 1
    array.push(grid_array, lower_bound + grid_width * i)

// 创建订单状态布尔数组(只初始化一次)
var order_array = array.new_bool(grid, false)

// 执行交易逻辑
for i = 0 to grid - 1 by 1
    // 买入逻辑:价格低于网格线且该位置未持仓
    if close < array.get(grid_array, i) and not array.get(order_array, i)
        buy_id = i
        array.set(order_array, buy_id, true)
        strategy.entry(id=str.tostring(buy_id), direction=strategy.long, comment='#Long ' + str.tostring(buy_id))
    
    // 卖出逻辑:价格高于网格线且下一个网格位置持仓
    if close > array.get(grid_array, i) and i != 0
        if array.get(order_array, i - 1)
            sell_id = i - 1
            array.set(order_array, sell_id, false)
            strategy.close(id=str.tostring(sell_id), comment='#Close ' + str.tostring(sell_id))

// 可视化网格线
plot(grid > 0 ? array.get(grid_array, 0) : na, color=color.yellow, transp=10)
plot(grid > 1 ? array.get(grid_array, 1) : na, color=color.yellow, transp=10)
plot(grid > 2 ? array.get(grid_array, 2) : na, color=color.yellow, transp=10)
plot(grid > 3 ? array.get(grid_array, 3) : na, color=color.yellow, transp=10)
plot(grid > 4 ? array.get(grid_array, 4) : na, color=color.yellow, transp=10)
plot(grid > 5 ? array.get(grid_array, 5) : na, color=color.yellow, transp=10)
plot(grid > 6 ? array.get(grid_array, 6) : na, color=color.yellow, transp=10)
plot(grid > 7 ? array.get(grid_array, 7) : na, color=color.yellow, transp=10)
plot(grid > 8 ? array.get(grid_array, 8) : na, color=color.yellow, transp=10)
plot(grid > 9 ? array.get(grid_array, 9) : na, color=color.yellow, transp=10)
plot(grid > 10 ? array.get(grid_array, 10) : na, color=color.yellow, transp=10)
plot(grid > 11 ? array.get(grid_array, 11) : na, color=color.yellow, transp=10)
plot(grid > 12 ? array.get(grid_array, 12) : na, color=color.yellow, transp=10)
plot(grid > 13 ? array.get(grid_array, 13) : na, color=color.yellow, transp=10)
plot(grid > 14 ? array.get(grid_array, 14) : na, color=color.yellow, transp=10)