এই কৌশলটি তুলনামূলকভাবে সংবেদনশীল দীর্ঘমেয়াদী সংকেত ক্যাপচার এবং স্টপ-লস প্রস্থানগুলি অর্জনের জন্য একাধিক সময় ফ্রেম EMA সূচক এবং K- লাইন প্যাটার্ন বিচারের সমন্বয় করে।
কৌশলটি মূলত নিম্নলিখিত পরিমাপের উপর ভিত্তি করে তৈরি করা হয়েছেঃ
ইএমএঃ দামের ভাঙ্গনের সময় ট্রেডিং সিগন্যাল নির্ধারণের জন্য ইএমএর 13 এবং 21 চক্রের 2 সেট ব্যবহার করে।
কে-লাইন প্যাটার্নঃ কে-লাইন সত্তার দিকনির্দেশনা বিচার করে এবং এটিকে EMA সূচকের সাথে মিথ্যা অগ্রগতি ফিল্টার করতে ব্যবহার করে।
সাপোর্ট রেসিস্ট্যান্সঃ সিগন্যালের নির্ভরযোগ্যতা বাড়ানোর জন্য এই এলাকাটি অতিক্রম করে কিনা তা নির্ধারণের জন্য গত ১০টি চক্রের সর্বোচ্চ পয়েন্ট দ্বারা নির্মিত।
সময় বিভাগে উত্থানঃ 120 চক্রের বন্ধের উপরে সময় বিভাগে উত্থান হিসাবে বিচার করার জন্য উন্মুক্ত, একটি সহায়ক রায় হিসাবে।
ট্রেডিং সিগন্যাল উৎপাদনের নিয়ম হলঃ
উর্ধ্বমুখী সংকেত: দ্রুত EMA একটি ইয়াং লাইন K-লাইন, বন্ধ শর্ট পজিশন এবং খোলা লং দিয়ে ধীর EMA এর মধ্য দিয়ে আপগ্রেড করে।
হ্রাসের সংকেতঃ দ্রুত EMA একটি ইয়েন লাইন K-লাইন সহ ধীর EMA এর মাধ্যমে ভেঙে যায়, সমতল দীর্ঘ অবস্থান।
স্টপ লস আউটঃ রিভার্স সিগন্যাল প্রদর্শিত হলে বর্তমান অবস্থানে স্টপ লস আউট।
অতিরিক্ত অপ্টিমাইজেশান এড়ানো, সাবধানে পরামিতি নির্বাচন, অবস্থান আকারের কঠোর নিয়ন্ত্রণের মতো পদ্ধতির মাধ্যমে উপরের ঝুঁকিগুলি হ্রাস করা যেতে পারে।
কৌশলটি তুলনামূলকভাবে নির্ভরযোগ্য প্রবণতা রায়ের জন্য একাধিক সময় ফ্রেম ইএমএ এবং কে-লাইন সত্তা রায়কে একীভূত করে। সমর্থন প্রতিরোধ এবং সময় বিভাগ ব্যবহার করে সহায়ক রায়গুলি সংকেতের গুণমান নিশ্চিত করে। স্টপ লসের জন্য বিপরীত সংকেতগুলি ব্যবহার করে একক স্টপ লস কার্যকরভাবে নিয়ন্ত্রণ করা যায়। ভবিষ্যতের অপ্টিমাইজেশনগুলি মেশিন লার্নিং মডেল, অভিযোজনশীল স্টপ, সংবেদনশীল বিশ্লেষণ এবং অবস্থান আকার পরিচালনার মডিউলগুলি প্রবর্তনের মাধ্যমে করা যেতে পারে যাতে কৌশলটি আরও শক্তিশালী হয়।
/*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) ///////////////////////////////////////////////////////////////////////////////////////////