একাধিক টাইম ফ্রেম EMA Breakthrough এবং K-line প্যাটার্ন সংমিশ্রণের উপর ভিত্তি করে ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০২-২১ ১৫ঃ০৬
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি তুলনামূলকভাবে সংবেদনশীল দীর্ঘমেয়াদী সংকেত ক্যাপচার এবং স্টপ-লস প্রস্থানগুলি অর্জনের জন্য একাধিক সময় ফ্রেম EMA সূচক এবং K- লাইন প্যাটার্ন বিচারের সমন্বয় করে।

কৌশল নীতি

কৌশলটি মূলত নিম্নলিখিত পরিমাপের উপর ভিত্তি করে তৈরি করা হয়েছেঃ

  1. ইএমএঃ দামের ভাঙ্গনের সময় ট্রেডিং সিগন্যাল নির্ধারণের জন্য ইএমএর 13 এবং 21 চক্রের 2 সেট ব্যবহার করে।

  2. কে-লাইন প্যাটার্নঃ কে-লাইন সত্তার দিকনির্দেশনা বিচার করে এবং এটিকে EMA সূচকের সাথে মিথ্যা অগ্রগতি ফিল্টার করতে ব্যবহার করে।

  3. সাপোর্ট রেসিস্ট্যান্সঃ সিগন্যালের নির্ভরযোগ্যতা বাড়ানোর জন্য এই এলাকাটি অতিক্রম করে কিনা তা নির্ধারণের জন্য গত ১০টি চক্রের সর্বোচ্চ পয়েন্ট দ্বারা নির্মিত।

  4. সময় বিভাগে উত্থানঃ 120 চক্রের বন্ধের উপরে সময় বিভাগে উত্থান হিসাবে বিচার করার জন্য উন্মুক্ত, একটি সহায়ক রায় হিসাবে।

ট্রেডিং সিগন্যাল উৎপাদনের নিয়ম হলঃ

  1. উর্ধ্বমুখী সংকেত: দ্রুত EMA একটি ইয়াং লাইন K-লাইন, বন্ধ শর্ট পজিশন এবং খোলা লং দিয়ে ধীর EMA এর মধ্য দিয়ে আপগ্রেড করে।

  2. হ্রাসের সংকেতঃ দ্রুত EMA একটি ইয়েন লাইন K-লাইন সহ ধীর EMA এর মাধ্যমে ভেঙে যায়, সমতল দীর্ঘ অবস্থান।

  3. স্টপ লস আউটঃ রিভার্স সিগন্যাল প্রদর্শিত হলে বর্তমান অবস্থানে স্টপ লস আউট।

সুবিধা

  1. একাধিক টাইম ফ্রেম ইএমএ সূচকগুলি প্রবণতাকে আরো নির্ভরযোগ্যভাবে বিচার করে এবং মিথ্যা অগ্রগতি এড়ায়।
  2. প্রবণতা আরও সঠিকভাবে চিহ্নিত করার জন্য ফিল্টারিংয়ের জন্য কে-লাইন সত্তা দিকনির্দেশের সাথে মিলিত।
  3. সিগন্যালের গুণমান নিশ্চিত করার জন্য টাইম ডিভিশন রায় বৃদ্ধি এবং প্রতিরোধের রায় সমর্থন।
  4. হারের ঝুঁকি কমাতে স্টপ লস হিসেবে রিভার্স সিগন্যাল ব্যবহার করুন।

ঝুঁকি

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

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

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

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

সিদ্ধান্ত

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


/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title='ck - CryptoSniper Longs Only (Strategy)', shorttitle='ck - CryptoSniper Longs (S) v1', overlay=true, precision=2, commission_value=0.25, default_qty_type=strategy.percent_of_equity, pyramiding=0, default_qty_value=100, initial_capital=100)

open_long = 0
close_position = 0
last_long=close
last_short=close

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=false

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:', defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0

//=============Hull MA//
show_hma = false
hma_src = input(close, title="HullMA Source:")
hma_base_length = input(8, minval=1, title="HullMA Base Length:")
hma_length_scalar = input(5, minval=0, title="HullMA Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))

//============ signal Generator ==================================//
Period=input(title='Period', defval='120')
ch1 = request.security(syminfo.tickerid, Period, open)
ch2 = request.security(syminfo.tickerid, Period, close)

// Signals//
long = crossover(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open))
short = crossunder(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open))
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short) ? 1 : -1
short_signal = crossover(last_short, last_long) ? -1 : 1

if (long_signal == 1)
    strategy.entry("Long Open", strategy.long)

if (short_signal == -1)
    strategy.close("Long Open")
    
if (long_signal[1] == 1 and short_signal[1] == 1)
    open_long := 1
    close_position := 0

if (short_signal[1] == -1 and long_signal[1] == -1)
    open_long := 0
    close_position := 1

plotshape(open_long == 1, title="Open Long", location=location.belowbar, style=shape.triangleup, size=size.small, color=green, transp=10)
plotshape(close_position == 1, title="Close Long", location=location.abovebar, style=shape.triangledown, size=size.small, color=red, transp=10)
//plot(0, title="Trigger", color=white)

///////////////////////////////////////////////////////////////////////////////////////////

আরো