মূল্য ব্রেকআউটের উচ্চ এবং নিম্ন কৌশল ট্র্যাক করা


সৃষ্টির তারিখ: 2023-12-22 12:59:43 অবশেষে সংশোধন করুন: 2023-12-22 12:59:43
অনুলিপি: 1 ক্লিকের সংখ্যা: 606
1
ফোকাস
1623
অনুসারী

মূল্য ব্রেকআউটের উচ্চ এবং নিম্ন কৌশল ট্র্যাক করা

ওভারভিউ

একটি ব্রেক-আউট কৌশল হল একটি ট্রেন্ড ট্র্যাকিং কৌশল যা দামের পূর্ববর্তী K লাইনটি অতিক্রম করার আগে একটি উচ্চ বা নিম্ন পয়েন্ট অনুসরণ করে। এটি প্রবণতার দিক নির্ধারণের জন্য একটি চলমান গড়ের সাথে মিলিত হয়, একটি ব্রেক-আউট পয়েন্টে প্রবেশ করে, এবং তারপরে একটি স্টপ লস বা ট্র্যাকিং স্টপ লকিং লাভের জন্য সেট করে।

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত শর্তগুলির উপর ভিত্তি করে সিদ্ধান্ত নেয়ঃ

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

এই কৌশলটি একই সাথে দ্বিতীয় বিপরীত K-লাইন বিচারকে সংযুক্ত করে, যা ভুয়া ব্রেকআউটগুলিকে ফিল্টার করে এবং ব্রেকআউট সিগন্যালের নির্ভরযোগ্যতা নিশ্চিত করে।

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

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

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

  • বিপর্যয়ের ফলে সুপার শর্ট লাইন অপারেশন ক্ষতি হতে পারে
  • ভূমিকম্পে ভুয়া ব্রেকআপের ঝুঁকি বেশি
  • ডাবল মুভিং এভারেজ বিলম্বিত হতে পারে, যার ফলে ভুল সিদ্ধান্ত নেওয়া হতে পারে

ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা:

  1. একটি সূচক বা একটি প্রধান বড় স্কেলের জন্য বেছে নিন, একটি একক স্টক উচ্চ ঝুঁকি এড়াতে
  2. চলমান গড়ের প্যারামিটার অপ্টিমাইজ করা, বিচার সঠিকতা বাড়ানো
  3. একক ক্ষতির নিয়ন্ত্রণ নিশ্চিত করার জন্য যথাযথভাবে স্টপ ল্যাম্পিং প্রসারিত করুন

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

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Broken High/Low Strategy", overlay=true, initial_capital = 5000, default_qty_value = 25, pyramiding = 10, default_qty_type= strategy.percent_of_equity)

useEMAForStop = input.bool(false, 'Use trail stop EMA', group = 'Exit strategy')
trailStopMALength = input(8, 'Trail stop EMA length', group = 'Exit strategy')

fastMALength = input(5 , 'Fast MA length', group = 'Trend strength')
fastEMAEnabled = input.bool(false, 'Fast EMA enabled (default is SMA)', group = 'Trend strength')

slowMALength = input(10, 'Slow MA length', group = 'Trend strength')
slowEMAEnabled = input.bool(false, 'Slow EMA enabled (default is SMA)', group = 'Trend strength')

ignoreSlowMA = input.bool(false, 'Use fast MA for trend ignoring slow MA', group = 'Trend strength')

useOpposingBarAsExit = input.bool(false, 'Using opposing bar as exit', group = 'Exit strategy')
secondEntryEnabled = input.bool(false, 'Second bar that eliminates opposing bar for entry', group = 'Trend strength')

longsEnabled = input.bool(true, 'Enable longs', group = 'Trade settings')
shortsEnabled = input.bool(true, 'Enable shorts', group = 'Trade settings')

fastMA = fastEMAEnabled ? ta.ema(close, fastMALength) : ta.sma(close, fastMALength)
slowMA = slowEMAEnabled ? ta.ema(close, slowMALength) : ta.sma(close, slowMALength)

FromMonth=input.int(defval=1,title="FromMonth",minval=1,maxval=12, group = 'Time filters')
FromDay=input.int(defval=1,title="FromDay",minval=1,maxval=31, group = 'Time filters')
FromYear=input.int(defval=1990,title="FromYear",minval=1900, group = 'Time filters')
ToMonth=input.int(defval=1,title="ToMonth",minval=1,maxval=12, group = 'Time filters')
ToDay=input.int(defval=1,title="ToDay",minval=1,maxval=31, group = 'Time filters')
ToYear=input.int(defval=9999,title="ToYear",minval=2017, group = 'Time filters')
start=timestamp(FromYear,FromMonth,FromDay,00,00)
finish=timestamp(ToYear,ToMonth,ToDay,23,59)
window()=>time>=start and time<=finish?true:false
afterStartDate = time >= start and time<=finish?true:false
closeTradesEOD = input.bool(false, 'Close trades end of day', group = 'Time filters')

trailStopMA = ta.ema(close, trailStopMALength)

isGreenCandle = close > open
isRedCandle = close < open
isBrokenHigh = close > open[1]
isPriorCandleRed = close[1] < open[1]
isPriorPriorCandleRed = close[2] < open[2]
isPriorPriorCandleGreen = close[2] > open[2]
isPriorCandleGreen = close[1] > open[1]
isBrokenLow = close < open[1]

isPriorRedCandleBroken = isGreenCandle and isPriorCandleRed and isBrokenHigh
isPriorGreenCandleBroken = isRedCandle and isPriorCandleGreen and isBrokenLow

isPriorPriorRedCandleBroken = secondEntryEnabled and not isPriorRedCandleBroken and isGreenCandle and isPriorPriorCandleRed ? close > open[2] : false
isPriorPriorGreenCandleBroken = secondEntryEnabled and not isPriorGreenCandleBroken and isRedCandle and isPriorPriorCandleGreen ? close < open[2] : false

longOpenCondition = (isPriorRedCandleBroken or isPriorPriorRedCandleBroken) and afterStartDate and (ignoreSlowMA ? close > fastMA : fastMA > slowMA) and longsEnabled
longCloseCondition = useOpposingBarAsExit ? isRedCandle : ta.crossunder(close, fastMA)
longCloseCondition := useEMAForStop ? ta.crossunder(close, trailStopMA) : longCloseCondition

shortOpenCondition = (isPriorGreenCandleBroken or isPriorPriorGreenCandleBroken) and afterStartDate and (ignoreSlowMA ? close < fastMA : fastMA < slowMA) and shortsEnabled
shortCloseCondition = useOpposingBarAsExit ? isGreenCandle : ta.crossover(close, fastMA)
shortCloseCondition := useEMAForStop ? ta.crossover(close, trailStopMA) : shortCloseCondition

if (longOpenCondition)
    strategy.entry("Long Entry", strategy.long)

if (longCloseCondition)
    strategy.close('Long Entry', 'Long Exit')

if (shortOpenCondition)
    strategy.entry("Short Entry", strategy.long)

if (shortCloseCondition)
    strategy.close('Short Entry', 'Short Exit')

if (closeTradesEOD and hour >= 14 and minute >= 30)
    strategy.close_all("EOD")

plot(useEMAForStop ? trailStopMA : na, linewidth = 2, color = color.red)
plot(fastMA)
plot(ignoreSlowMA ? na : slowMA, linewidth = 4)