এই কৌশলটি বিভিন্ন ধরণের ক্রয় এবং বিক্রয় সংকেত তৈরি করতে চলমান গড়, এমএসিডি, আরএসআই এবং বোলিংজার ব্যান্ড সহ একাধিক প্রযুক্তিগত সূচককে একীভূত করে, একটি অপেক্ষাকৃত সম্পূর্ণ গতির সূচক সমষ্টি ট্রেডিং কৌশল গঠন করে।
কৌশলটির মূল যুক্তি হল একাধিক প্রযুক্তিগত সূচকের ক্রয় এবং বিক্রয় সংকেত একত্রিত করা, যার মধ্যে প্রধানত নিম্নলিখিত দিকগুলি অন্তর্ভুক্ত রয়েছেঃ
চলমান গড় সূচকঃ দ্রুত এবং ধীর চলমান গড় রেখাগুলি গণনা করুন এবং যখন দ্রুত রেখাটি ধীর রেখার উপরে অতিক্রম করে তখন ক্রয় সংকেত তৈরি করুন এবং নীচে অতিক্রম করার সময় বিক্রয় সংকেত তৈরি করুন।
এমএসিডি সূচকঃ এমএসিডি লাইন এবং সিগন্যাল লাইন গণনা করে, যখন এমএসিডি লাইন সিগন্যাল লাইনের উপরে অতিক্রম করে তখন ক্রয় সংকেত তৈরি করে এবং নীচে অতিক্রম করার সময় বিক্রয় সংকেত তৈরি করে।
আরএসআই সূচক: আরএসআই রেখা এবং মাঝারি রেখা ৫০ এর গোল্ডেন ক্রস এবং ডেথ ক্রসের সাথে মিলিয়ে ট্রেডিং সিগন্যাল তৈরির জন্য ওভারকুপড বা ওভারসোল্ড জোনে প্রবেশ করে কিনা তা নির্ধারণ করতে আরএসআই মান গণনা করুন।
বোলিংজার ব্যান্ড সূচকঃ দামগুলি উপরের এবং নীচের ব্যান্ডগুলি অতিক্রম করে কিনা তা নির্ধারণ করে, মধ্যম ব্যান্ডে ফিরে আসার সংকেতগুলির সাথে মিলিত হয়ে ট্রেডিং সংকেত তৈরি করে।
প্রস্থান মানদণ্ডঃ স্টপ লাভ এবং স্টপ লস স্ট্যান্ডার্ড সেট করুন, নির্দিষ্ট শতাংশে পৌঁছানোর পর পজিশন থেকে প্রস্থান করুন।
প্রতিটি সূচক মডিউলের সংকেতগুলি স্বাধীনভাবে কাজ করে। কৌশলটি এই সংকেতগুলিকে রিয়েল টাইমে পর্যবেক্ষণ করে, যখন কিনতে সংকেতগুলি ট্রিগার করা হয় তখন দীর্ঘ যায় এবং বিক্রয় সংকেতগুলি ট্রিগার করা হলে স্বল্প যায়, গতিশীলভাবে লাভজনক অবস্থানগুলিকে একত্রিত করে।
এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ
বিভিন্ন সূচক সংকেত দিয়ে সমৃদ্ধ সংকেত উত্স, সুযোগ মিস করা সহজ নয়।
বিভিন্ন সূচক দিয়ে সংকেত যাচাই করে মিথ্যা সংকেত হ্রাস করুন।
প্রবণতা এবং বিপরীতমুখী উভয়ই প্রবণতা এবং গড় বিপরীতমুখী সূচকগুলির সাথে ভাল অভিযোজনযোগ্যতা।
স্বয়ংক্রিয় স্টপ লাভ এবং স্টপ লস প্রক্রিয়া ঝুঁকি নিয়ন্ত্রণে সহায়তা করে।
এই কৌশলের কিছু ঝুঁকিও রয়েছেঃ
নির্দিষ্ট বাজার অবস্থার অধীনে সূচকগুলির অবৈধতার ঝুঁকি।
খুব বেশি সংকেত একত্রিত করার সময় অত্যধিক সরলীকরণ সমস্যা, অপর্যাপ্ত রেজোলিউশনের দিকে পরিচালিত করে।
অনেক সূচকের সাথে প্যারামিটার অপ্টিমাইজেশনের অসুবিধা।
উচ্চ টার্নওভার হার এবং বাণিজ্যিক খরচ বৃদ্ধি।
আরও অপ্টিমাইজেশনের জন্য কিছু জায়গা আছেঃ
সূচক এবং পরামিতিগুলির সমন্বয় পরীক্ষা করুন এবং অপ্টিমাইজ করুন।
মেশিন লার্নিং পদ্ধতি ব্যবহার করুন স্বয়ংক্রিয়ভাবে সর্বোত্তম পরামিতি খুঁজে পেতে।
সিগন্যাল সংমিশ্রণের জন্য বিভিন্ন ওজন পদ্ধতি পরীক্ষা করুন।
বাজারের অস্থিরতার উপর ভিত্তি করে অভিযোজিত স্টপ লস প্রক্রিয়া যোগ করুন।
ঝুঁকি নিয়ন্ত্রণের জন্য একক খোলার অনুপাত নিয়ন্ত্রণের জন্য খোলার অ্যালগরিদম যুক্ত করুন।
উপসংহারে, এটি একটি সাধারণ এবং সর্বজনীন গতির সূচক সমষ্টি ট্রেডিং কৌশল, যা বিভিন্ন সাধারণ প্রযুক্তিগত সূচক থেকে ট্রেডিং সংকেতগুলিকে সংহত করে এবং সংকেত সমষ্টির মাধ্যমে পারফরম্যান্স উন্নত করে। একক সূচক কৌশলগুলির তুলনায়, এটিতে আরও প্রচুর সংকেত উত্স এবং প্রবণতা এবং বিপরীতের আরও ভাল সনাক্তকরণের সুবিধা রয়েছে। এদিকে, প্যারামিটার অপ্টিমাইজেশনের অসুবিধা এবং বর্ধিত অবৈধতার ঝুঁকিগুলিও লক্ষ্য করা উচিত। আরও পরীক্ষা এবং অপ্টিমাইজেশনের সাথে, এই কৌশলটি একটি খুব ব্যবহারিক পরিমাণগত ট্রেডিং সরঞ্জাম হয়ে উঠতে পারে।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Kesin Etkili Analiz V1 - Artun Sinan", overlay=true) //indicator("Kesin Etkili Analiz V1 - Artun Sinan", overlay=true) //BackTest yearin = input (2019, title="BackTestBaşlangıç Tarihi") // Göstergelerin parametrelerini tanımlayın emaShrtPeriod = input.int(title="EMA Kısa Periyodu", defval=50, minval=1) emaLngPeriod = input.int(title="EMA Uzun Periyodu", defval=100, minval=1) maPeriod = input.int(50, "Hareketli Ortalama Periyodu", minval=1) fast = input.int(12, "MACD Hızlı Periyodu", minval=1) slow = input.int(26, "MACD Yavaş Periyodu", minval=1) signal = input.int(9, "MACD Sinyal Periyodu", minval=1) rsiPeriod = input.int(14, "RSI Periyodu", minval=1) rsiOverbought = input.int(70, "RSI Aşırı Alım Eşiği", minval=50, maxval=100) rsiOversold = input.int(30, "RSI Aşırı Satım Eşiği", minval=0, maxval=50) bbPeriod = input.int(20, "Bollinger Bantları Periyodu", minval=1) bbStd = input.float(2, "Bollinger Bantları Standart Sapması", minval=0.1) //EMA göstergesi ayarları ema1 = ta.ema (close,emaShrtPeriod) ema2 = ta.ema (close, emaLngPeriod) emaCrossUp = ema1 >= ema2 emaCrossDown = ema2 < ema1 plot(ema1, title="EMAKısa", color=color.rgb(0, 255, 13)) plot(ema2, title="EMAUzun", color=color.rgb(255, 251, 1)) // Göstergeleri hesaplayın ma = ta.sma(close, maPeriod) // Hareketli ortalama [macd, macdsignal, macdhist] = ta.macd(close, fast, slow, signal) // MACD rsi = ta.rsi(close, rsiPeriod) // RSI [upper, middle, lower] = ta.bb(close, bbPeriod, bbStd) // Bollinger Bantları // Alım veya satım sinyalleri üretin buySignal = false sellSignal = false /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Fibonacci seviyelerini tanımlayın fibLevels = array.new_float(7) // Fibonacci seviyelerini tutacak bir dizi oluşturun array.set(fibLevels, 0, 0.0) // %0 seviyesini ayarlayın array.set(fibLevels, 1, 0.236) // %23.6 seviyesini ayarlayın array.set(fibLevels, 2, 0.382) // %38.2 seviyesini ayarlayın array.set(fibLevels, 3, 0.5) // %50 seviyesini ayarlayın array.set(fibLevels, 4, 0.618) // %61.8 seviyesini ayarlayın array.set(fibLevels, 5, 0.786) // %78.6 seviyesini ayarlayın array.set(fibLevels, 6, 1.0) // %100 seviyesini ayarlayın // Tepe ve dip noktasını belirleyin highpoint = ta.highest (high, 20) // Son 30 mum çubuğunun en yüksek değerini alın lowpoint = ta.lowest (low, 20) // Son 30 mum çubuğunun en düşük değerini alın diff = highpoint - lowpoint // Tepe ve dip noktası arasındaki farkı hesaplayın // Fibonacci seviyelerini hesaplayın fib0 = lowpoint + diff * array.get(fibLevels, 0) // %0 seviyesini hesaplayın fib1 = lowpoint + diff * array.get(fibLevels, 1) // %23.6 seviyesini hesaplayın fib2 = lowpoint + diff * array.get(fibLevels, 2) // %38.2 seviyesini hesaplayın fib3 = lowpoint + diff * array.get(fibLevels, 3) // %50 seviyesini hesaplayın fib4 = lowpoint + diff * array.get(fibLevels, 4) // %61.8 seviyesini hesaplayın fib5 = lowpoint + diff * array.get(fibLevels, 5) // %78.6 seviyesini hesaplayın fib6 = lowpoint + diff * array.get(fibLevels, 6) // %100 seviyesini hesaplayın // Alım sinyali: Fiyat %61,8 seviyesinden yukarı yönlü kırılırsa ve MACD çizgisi sinyal çizgisinin üzerine çıkarsa, alım pozisyonu açın alSignal = close > fib4 and ta.crossover(macd, macdsignal) // Satım sinyali: Fiyat %61,8 seviyesinden aşağı yönlü kırılırsa ve MACD çizgisi sinyal çizgisinin altına inerse, satım pozisyonu açın satSignal = close < fib4 and ta.crossunder(macd, macdsignal) // Çıkış sinyali: Fiyat %38,2 Fibonacci seviyesine ulaşırsa veya belirli bir yüzde oranında kar veya zarar elde ederseniz, pozisyonu kapatın exitSignal = close >= fib2 or close <= strategy.position_avg_price * 0.95 // Kar oranı olarak %5, zarar oranı olarak %5 belirledik plot(fib0, title="%0", color=color.rgb(25, 0, 255)) plot(fib1, title="%23.6", color=color.rgb(25, 0, 255)) plot(fib2, title="%38.2", color=color.rgb(25, 0, 255)) plot(fib3, title="%50", color=color.rgb(25, 0, 255)) plot(fib4, title="%61.8", color=color.rgb(25, 0, 255)) plot(fib5, title="%78.6", color=color.rgb(25, 0, 255)) plot(fib6, title="%100", color=color.rgb(25, 0, 255)) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Hareketli ortalama kesişimi sinyali maCrossUp = ta.crossover(ma, close) // Fiyat hareketli ortalamanın üzerine çıkarsa maCrossDown = ta.crossunder(ma, close) // Fiyat hareketli ortalamanın altına inerse // MACD çizgisi ve sinyal çizgisi kesişimi sinyali // Histogram yerine çizgiler macdCrossUp = ta.crossover(macd, macdsignal) // MACD çizgisi sinyal çizgisinin üzerine çıkarsa macdCrossDown = ta.crossunder(macd, macdsignal) // MACD çizgisi sinyal çizgisinin altına inerse // RSI aşırı alım veya aşırı satım sinyali ve 50 seviyesi kesişimi sinyali // Sinyalleri birleştir // Eşik değerleri doğrudan kullanın rsiOverboughtSignal = rsi > rsiOverbought and ta.crossover(rsi, 50) // RSI değeri aşırı alım eşiğinin üzerindeyse ve 50 seviyesini yukarı keserse rsiOversoldSignal = rsi < rsiOversold and ta.crossunder(rsi, 50) // RSI değeri aşırı satım eşiğinin altındaysa ve 50 seviyesini aşağı keserse // Bollinger Bantları kırılımı sinyali ve orta bant geri dönüşü sinyali // Sinyalleri birleştir bbBreakUp = close > upper and ta.crossover(close, middle) // Fiyat üst banttan çıkarsa ve orta banta geri dönerse bbBreakDown = close < lower and ta.crossunder(close, middle) // Fiyat alt banttan inerse ve orta banta geri dönerse // Sinyalleri birleştirin buySignal := maCrossUp or macdCrossUp or rsiOversoldSignal or bbBreakUp or emaCrossUp and yearin >= year sellSignal := maCrossDown or macdCrossDown or rsiOverboughtSignal or bbBreakDown or emaCrossDown and yearin >= year // Sinyalleri grafikte oklar ile gösterin plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) plot(macd, title="MACD", color=color.blue) // MACD çizgisini mavi renkte çizin plot(macdsignal, title="Sinyal", color=color.orange) // Sinyal çizgisini turuncu renkte çizin if buySignal strategy.entry("Enter Long", strategy.long) else if sellSignal strategy.entry("Enter Short", strategy.short)