গোল্ডেন ক্রস ডেথ ক্রস কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-১১ 16:33:18
ট্যাগঃ

সারসংক্ষেপ

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

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

কৌশলটি প্রথমে ব্যাকটেস্টিংয়ের সময়সীমা নির্ধারণ করে, তারপর দুটি চলমান গড়ের জন্য গণনার পরামিতিগুলি নির্ধারণ করে, যার মধ্যে এমএ প্রকার এবং সময়ের দৈর্ঘ্য অন্তর্ভুক্ত রয়েছে।

getMAType (() ফাংশন দুটি এমএ এর মান গণনা করে। দ্রুত এমএ হ'ল স্বল্প সময়ের এমএ, এবং ধীর এমএ হ'ল দীর্ঘ সময়ের এমএ।

মূল যুক্তি:

  • যখন fastMA slowMA এর উপরে অতিক্রম করে, তখন একটি দীর্ঘ সংকেত প্রেরণ করা হয়।

  • যখন fastMA slowMA এর নিচে চলে যায়, তখন একটি সংক্ষিপ্ত সংকেত প্রেরণ করা হয়।

অবশেষে, ব্যাকটেস্টিংয়ের সময়, দীর্ঘ সংকেত দেখলে দীর্ঘ অবস্থান নিন এবং সংক্ষিপ্ত সংকেত দেখলে সংক্ষিপ্ত অবস্থান নিন।

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

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

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

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

ঝুঁকিগুলির বিরুদ্ধে সম্ভাব্য অপ্টিমাইজেশনঃ

  1. প্রবণতা সনাক্তকরণের জন্য অন্যান্য প্রযুক্তিগত সূচক যোগ করুন।

  2. স্টপ লস প্রতি ট্রেড লস পরিমাণে নিয়ন্ত্রণ যোগ করুন।

  3. উইপসা মার্কেট এড়াতে ভলিউম ইন্ডিকেটর যোগ করুন।

  4. স্বয়ংক্রিয়ভাবে সর্বোত্তম প্যারামিটার সেট খুঁজে পেতে প্যারামিটার অপ্টিমাইজেশান প্রক্রিয়া তৈরি করুন।

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

কৌশলটি নিম্নলিখিত দিকগুলিতে আরও অনুকূলিত করা যেতে পারেঃ

  1. স্টপ লস স্ট্র্যাটেজি যুক্ত করুন যেমন স্টপ লস পয়েন্ট বা স্টপ লস পয়েন্ট।

  2. ট্রেডিং ঝুঁকি নিয়ন্ত্রণের জন্য স্থির বা গতিশীল অবস্থানের আকারের মতো অবস্থান আকারের কৌশল যুক্ত করুন।

  3. প্রবণতা চিহ্নিত করতে এবং জয়ের হার উন্নত করতে অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে সংমিশ্রণ করে ফিল্টার যুক্ত করুন।

  4. সর্বোত্তম মান খুঁজে পেতে গ্রিড অনুসন্ধান এবং রৈখিক রিগ্রেশন মত পদ্ধতি দ্বারা পরামিতি অপ্টিমাইজ করুন।

  5. ট্রেডিং কৌশল সমৃদ্ধ করতে ব্রেকআউট পলব্যাক, অর্ডার স্কেল এর মতো এন্ট্রি কৌশল সম্প্রসারণ করুন।

  6. উইপসা মার্কেট এড়াতে ভলিউম ইন্ডিকেটর যোগ করুন।

  7. স্টক সূচক, ফরেক্স, ক্রিপ্টোকারেন্সি ইত্যাদিতে পণ্য সম্প্রসারণ করুন।

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

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


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy("Golden X BF Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Time Frame ///////////////
testStartYear = input(2010, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() =>  true

///////////// MA Params /////////////
source1 = input(title="MA Source 1", defval=close)
maType1 = input(title="MA Type 1", defval="sma", options=["sma", "ema", "swma", "wma"])
length1 = input(title="MA Length 1", defval=50)

source2 = input(title="MA Source 2", defval=close)
maType2 = input(title="MA Type 2", defval="sma", options=["sma", "ema", "swma", "wma"])
length2 = input(title="MA Length 2", defval=200)

///////////// Get MA Function /////////////
getMAType(maType, sourceType, maLen) => 
    res = sma(close, 1)
    
    if maType == "ema"
        res := ema(sourceType, maLen)
    if maType == "sma"
        res := sma(sourceType, maLen)
    if maType == "swma"
        res := swma(sourceType)
    if maType == "wma"
        res := wma(sourceType, maLen)
    res
    
///////////// MA /////////////
fastMA = getMAType(maType1, source1, length1)
slowMA = getMAType(maType2, source2, length2)

long = crossover(fastMA, slowMA)
short = crossunder(fastMA, slowMA)

/////////////// Plotting /////////////// 
checkColor() => fastMA > slowMA
colCheck = checkColor() ? color.lime : color.red
p1 = plot(fastMA, color = colCheck, linewidth=1)
p2 = plot(slowMA, color = colCheck, linewidth=1)
fill(p1, p2, color = checkColor() ? color.lime : color.red)
bgcolor(long ? color.lime : short ? color.red : na, transp=20)

/////////////// Execution /////////////// 
if testPeriod()
    strategy.entry("Long", strategy.long, when=long)
    strategy.entry("Short", strategy.short, when=short)

আরো