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


সৃষ্টির তারিখ: 2023-09-23 15:52:06 অবশেষে সংশোধন করুন: 2023-09-23 15:52:06
অনুলিপি: 2 ক্লিকের সংখ্যা: 646
1
ফোকাস
1617
অনুসারী

ওভারভিউ

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

কৌশল নীতি

এই নীতির প্রধান উপাদান এবং নিয়মাবলী নিম্নরূপঃ

  1. মাল্টিপ্লেট ক্রমাগত গড় লাইন: এসএমএ, ডাব্লুএমএ, ভিডাব্লুএমএ এবং আরও অনেক গড় লাইন সূচক ব্যবহার করে।

  2. এই সংকেতটি ব্যবহার করে, সমস্ত দ্রুতগতির লাইনগুলিতে ধীরগতির লাইন অতিক্রম করার সময় অতিরিক্ত সংকেত ব্যবহার করুন।

  3. সমতল অবস্থান সংকেত: যে কোন দ্রুত লাইনের নিচে ধীর লাইন অতিক্রম করার সময় সমতল অবস্থান।

  4. স্টপ লসঃ এটিআর মানের সাথে স্টপ লস সেট করুন।

  5. কনফিগারেশনঃ একাধিক গড় লাইন প্যারামিটারগুলির নমনীয় কনফিগারেশন।

মাল্টি-ওভারিও লাইন সমন্বিত অবস্থান ভোট পদ্ধতির মাধ্যমে প্রবেশ, কার্যকরভাবে সংকেতের নির্ভরযোগ্যতা বাড়াতে পারে। একাধিক ওভারিও লাইন পরামিতি কাস্টমাইজযোগ্য কনফিগারেশন, নমনীয়তা রয়েছে।

সামর্থ্য বিশ্লেষণ

একক সমান্তরাল কৌশলের তুলনায় এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. মাল্টি-অভারেজ লাইন সমন্বয় একটি বিস্তৃত প্রবণতা বিচার প্রদান করে।

  2. ভোটদানের পদ্ধতিতে, নয়েজ ট্রেডিংকে বিভ্রান্ত করা থেকে বিরত থাকুন।

  3. আপনি যে কোন গড় রেখা পরামিতি কনফিগার করতে পারেন, অপ্টিমাইজ করার জন্য অনেক জায়গা আছে।

  4. বিভিন্ন গড়রেখা সূচক সমর্থন করে, ব্যবহারের নমনীয়তা।

  5. স্টপ লস পয়েন্ট সেট করুন, একক লস নিয়ন্ত্রণ করুন।

  6. লম্বা চক্র ব্যবহারের ফলে ভাল প্রভাব পাওয়া যায়, যা কার্ভের কম্পন হ্রাস করে।

  7. গণনা সহজ, স্বজ্ঞাত, বাস্তবায়ন এবং পরিচালনা করা সহজ।

  8. সামগ্রিকভাবে, একক গড় লাইন স্থিতিশীলতা এবং স্থায়িত্বের চেয়ে ভাল।

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

কিন্তু এই কৌশলটি কিছু ঝুঁকি নিয়ে আসেঃ

  1. কিন্তু, এর ফলে কৌশলগত জটিলতা বেড়ে যায়।

  2. প্যারামিটার অপ্টিমাইজেশনের ঝুঁকি রয়েছে।

  3. গড়রেখা মূলত ট্রেন্ড পরিবর্তনের জন্য একটি বিলম্বিত সনাক্তকরণ।

  4. কিন্তু, এর মধ্যেও একটি বিষয় আছে যে, আমরা আমাদের লক্ষ্যে পৌঁছাতে পারিনি।

  5. স্টপ-অফ-লস সেটিংটি অবাধে করা হয়েছে, যার ফলে অপ্রয়োজনীয়ভাবে পজিশনিং বন্ধ হয়ে যেতে পারে।

  6. মার্কেটের পরিবর্তনের সাথে সাথে এর প্রভাবও পরিবর্তিত হয়।

  7. উপার্জন ও প্রত্যাহারের অনুপাতের দিকে মনোযোগ দিতে হবে যাতে কার্ভটি খুব বেশি নমনীয় না হয়

  8. একাধিক জাতের মধ্যে স্থিতিশীলতা পরীক্ষা করতে হবে।

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

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

  1. গড় রেখা পরামিতি বিভিন্ন জাতের মধ্যে শারীরিক শক্তি পরীক্ষা করে।

  2. ট্রেডিং ভলিউম বা অস্থিরতা যাচাইকরণ বাড়ানো।

  3. স্টপ লস প্যারামিটার অপ্টিমাইজ করুন।

  4. সেট করুন সর্বোচ্চ প্রত্যাহারের সহনশীলতা

  5. ডায়নামিক পজিশন ম্যানেজমেন্ট ব্যবস্থা গড়ে তোলা।

  6. মেশিন লার্নিং প্রবর্তনের কার্যকারিতা মূল্যায়ন করা।

  7. সর্বাধিক প্রত্যাহার এবং উপার্জন বক্ররেখার ঘনত্বের দিকে মনোযোগ দিন।

  8. “এটি এমন একটি কৌশল যা আমরা ব্যবহার করতে পারি।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
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/
// © levieux

//@version=5
strategy(title='Configurable Multi MA Crossover Voting System', shorttitle='Configurable Multi MA Crossover Voting System', initial_capital=1000, overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)
crossoverConfig= input.string(defval="2x4,3x5,4x6", title="Crossover Config")
source= input.source(high)
maType= input.string("WMA", title="Moving Average Type", options=["WMA","SMA","VWMA"])
atrPeriod= input(14, title="ATR Period")
profitAtr = input(10, title="Profit ATR x")
lossAtr = input(5, title="Loss ATR x")


ma(src,length,type) => 
    float ma = switch type
	    "SMA" => ta.sma(src, length)
	    "WMA" => ta.wma(src, length)
	    "VWMA" => ta.vwma(src, length)

crossoverGroups= str.split(crossoverConfig, ",")
crossoverCount= array.size(crossoverGroups)
crossovers= array.new_string(crossoverCount)
positions= array.new_int(crossoverCount, 0)
longVotes= 0
for i= 0 to crossoverCount-1
    crossover= str.tostring(array.get(crossoverGroups, i))
    crossoverBoundaries= str.split(crossover, "x")
    int fastLength= math.round(str.tonumber(array.get(crossoverBoundaries, 0)))
    int slowLength= math.round(str.tonumber(array.get(crossoverBoundaries, 1)))
    wmaFast= ma(source,fastLength,maType)
    wmaSlow= ma(source,slowLength,maType)
    if wmaFast>wmaSlow
        longVotes:= longVotes + 1
        array.set(positions, i, 1)

longCondition= longVotes==crossoverCount and strategy.position_size==0


//profitTicks = profitAtr*ta.atr(atrPeriod)/syminfo.mintick
//lossTicks = lossAtr*ta.atr(atrPeriod)/syminfo.mintick
profitPrice= close+profitAtr*ta.atr(atrPeriod)
lossPrice= close-lossAtr*ta.atr(atrPeriod)

if strategy.position_size>0
    profitPrice:= profitPrice[1]
    lossPrice:= lossPrice[1]

plot(profitPrice, color=color.green)
plot(lossPrice, color=color.red)

if longCondition and profitPrice>0
    strategy.entry("Long", strategy.long)

if longVotes<crossoverCount and strategy.position_size>0 and (high>profitPrice or low<lossPrice)
    strategy.close("Long")
    
longVotes:= 0