رفتار کے اشارے کی مجموعی تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-21 11:59:22
ٹیگز:

img

جائزہ

اس حکمت عملی میں متعدد تکنیکی اشارے شامل ہیں جن میں چلتی اوسط ، ایم اے سی ڈی ، آر ایس آئی اور بولنگر بینڈ شامل ہیں تاکہ مختلف قسم کے خرید و فروخت کے سگنل پیدا کیے جائیں ، جو ایک نسبتا complete مکمل رفتار اشارے جمع کرنے کی تجارتی حکمت عملی تشکیل دیتے ہیں۔

حکمت عملی منطق

حکمت عملی کا بنیادی منطق متعدد تکنیکی اشارے کے خرید و فروخت کے سگنل کو جمع کرنا ہے جس میں بنیادی طور پر مندرجہ ذیل پہلوؤں کو شامل کیا گیا ہے:

  1. حرکت پذیر اوسط اشارے: تیز اور سست حرکت پذیر اوسط لائنوں کا حساب لگائیں اور جب تیز لائن سست لائن کے اوپر عبور کرتی ہے تو خریدنے کے سگنل تیار کریں ، اور اس سے نیچے عبور کرتے وقت سگنل فروخت کریں۔

  2. ایم اے سی ڈی اشارے: ایم اے سی ڈی لائن اور سگنل لائن کا حساب لگاتا ہے ، جب ایم اے سی ڈی لائن سگنل لائن سے اوپر عبور کرتی ہے تو خرید سگنل تیار کرتا ہے ، اور جب اس سے نیچے عبور کرتا ہے تو سگنل فروخت کرتا ہے۔

  3. آر ایس آئی اشارے: آر ایس آئی کی قیمتوں کا حساب لگائیں تاکہ یہ معلوم کیا جاسکے کہ آیا یہ زیادہ خریدے ہوئے یا زیادہ فروخت والے زون میں داخل ہوتا ہے ، جو آر ایس آئی لائن اور درمیانی لائن 50 کے سنہری کراس اور موت کے کراس کے ساتھ مل کر تجارتی سگنل تیار کرتا ہے۔

  4. بولنگر بینڈ اشارے: اس بات کا تعین کریں کہ کیا قیمتیں اوپری اور نچلی بینڈ کو توڑتی ہیں ، جو تجارتی سگنل پیدا کرنے کے لئے درمیانی بینڈ میں واپسی کے اشاروں کے ساتھ مل کر ہوتی ہیں۔

  5. باہر نکلنے کے معیار: سٹاپ منافع اور سٹاپ نقصان کے معیار مقرر کریں، مخصوص فیصد تک پہنچنے پر باہر نکلنے کی پوزیشنیں.

ہر اشارے کے ماڈیول کے سگنل آزادانہ طور پر کام کرتے ہیں۔ حکمت عملی ان سگنلز کی حقیقی وقت میں نگرانی کرتی ہے ، جب خریدنے کے سگنل ٹرگر ہوتے ہیں تو طویل ہوجاتی ہے اور جب فروخت کے سگنل ٹرگر ہوتے ہیں تو مختصر ہوجاتی ہے ، تاکہ منافع بخش پوزیشنوں کو متحرک طور پر جمع کیا جاسکے۔

فوائد کا تجزیہ

اس حکمت عملی کے فوائد میں شامل ہیں:

  1. مختلف اشارے سگنل کے ساتھ امیر سگنل ذرائع، مواقع کو یاد کرنے کے لئے آسان نہیں.

  2. مختلف اشارے کے ساتھ اشاروں کی تصدیق کرکے غلط سگنل کو کم کریں۔

  3. رجحانات اور تبدیلیوں کے ساتھ رجحانات اور اوسط واپسی دونوں اشارے کے ساتھ اچھی موافقت.

  4. خودکار سٹاپ منافع اور سٹاپ نقصان کا طریقہ کار خطرات کو کنٹرول کرنے میں مدد کرتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی موجود ہیں:

  1. مخصوص مارکیٹ کے حالات میں اشارے کی ناقابل اعتبار خطرہ.

  2. بہت زیادہ سگنل جمع کرنے پر اوورسپیلیفکیشن کا مسئلہ ، ناکافی حل کا باعث بنتا ہے۔

  3. بہت سے اشارے کے ساتھ پیرامیٹر کی اصلاح میں مشکلات.

  4. اعلی کاروبار کی شرح اور تجارتی اخراجات میں اضافہ۔

اصلاح کی ہدایات

مزید اصلاحات کے لئے کچھ کمرے ہیں:

  1. اشارے اور پیرامیٹرز کے مجموعے کی جانچ اور ان کو بہتر بنانا۔

  2. خودکار طریقے سے بہترین پیرامیٹرز تلاش کرنے کے لئے مشین لرننگ کے طریقوں کا استعمال کریں.

  3. سگنل جمع کرنے کے لئے مختلف وزن کے طریقوں کا تجربہ کریں۔

  4. مارکیٹ کی اتار چڑھاؤ کی بنیاد پر موافقت پذیر سٹاپ نقصان کے طریقہ کار شامل کریں.

  5. بہتر خطرے کے کنٹرول کے لئے واحد افتتاحی تناسب کو کنٹرول کرنے کے لئے افتتاحی الگورتھم شامل کریں.

نتیجہ

اختتام کے طور پر ، یہ ایک عام اور آفاقی رفتار اشارے جمع کرنے والی تجارتی حکمت عملی ہے ، جو مختلف عام تکنیکی اشارے سے تجارتی سگنل کو مربوط کرتی ہے اور سگنل جمع کرنے کے ذریعے کارکردگی کو بہتر بناتی ہے۔ سنگل اشارے کی حکمت عملیوں کے مقابلے میں ، اس کے پاس زیادہ سے زیادہ سگنل ذرائع اور رجحانات اور الٹ کی بہتر نشاندہی کے فوائد ہیں۔ دریں اثنا ، پیرامیٹر کی اصلاح میں دشواریوں اور عدم استحکام کے بڑھتے ہوئے خطرات کو بھی نوٹ کرنا چاہئے۔ مزید جانچ اور اصلاح کے ساتھ ، یہ حکمت عملی ایک بہت ہی عملی مقداری تجارتی آلہ بن سکتی ہے۔


/*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)

مزید