کریپٹو کرنسی کی مقداری تجارتی حکمت عملی 1 منٹ کے چارٹ پر مبنی ہے جس میں ٹرپل ایکسپونیشنل موونگ ایوریج اور رشتہ دار طاقت انڈیکس


تخلیق کی تاریخ: 2024-03-29 11:16:10 آخر میں ترمیم کریں: 2024-03-29 11:16:10
کاپی: 3 کلکس کی تعداد: 670
1
پر توجہ دیں
1617
پیروکار

کریپٹو کرنسی کی مقداری تجارتی حکمت عملی 1 منٹ کے چارٹ پر مبنی ہے جس میں ٹرپل ایکسپونیشنل موونگ ایوریج اور رشتہ دار طاقت انڈیکس

جائزہ

اس حکمت عملی میں تین بار اشاریہ اوسط حرکت پذیر لائن ((Triple MACD) اور نسبتا strong مضبوط اشاریہ ((RSI) کا امتزاج کیا گیا ہے تاکہ کریپٹوکرنسی مارکیٹ میں 1 منٹ کے وقت کے دورانیے کے لئے خاص طور پر مقدار کی تجارت کی جاسکے۔ اس حکمت عملی کا بنیادی نظریہ مارکیٹ میں متعدد متحرک تبدیلیوں کو پکڑنے کے لئے مختلف دورانیہ کے پیرامیٹرز کے ساتھ MACD اشارے کا استعمال کرنا ہے ، جبکہ رجحان کی طاقت کی تصدیق کے لئے RSI اشارے کا استعمال کیا جاتا ہے۔ تین بار MACD سگنل کو اوسط کرنے سے ، سلائڈ شور کو مؤثر طریقے سے ختم کیا جاسکتا ہے ، جس سے ٹریڈنگ سگنل کی وشوسنییتا میں اضافہ ہوتا ہے۔

حکمت عملی کا اصول

اس حکمت عملی میں تین مختلف پیرامیٹرز کے MACD اشارے استعمال کیے گئے ہیں ، جس میں تیز لائن کا دورانیہ 5/13/34 اور سست لائن کا دورانیہ 8/21/144 ہے ، اور ان کے مابین فرق کی حساب سے MACD کی قیمت حاصل کی گئی ہے۔ پھر ان تینوں MACD کو اوسط پر رکھا گیا ، اس کی سگنل کی قیمت کو اوسط سے کم کرنے کے لئے MACD کی اوسط سے کم قیمت (یعنی MACD کا دورانیہ NEMA) ، اور اس کے نتیجے میں MACD کالم گراف حاصل کیا گیا۔ اس کے ساتھ ساتھ 14 دورانیے کے RSI اشارے کا حساب بھی کیا گیا ، جس سے رجحان کی طاقت کا اندازہ لگانے میں مدد ملی۔ جب اوسط MACD کالم گراف منفی سے مثبت ، RSI 55 سے کم اور کثیر سر ترتیب میں ہوتا ہے تو ایک سے زیادہ سگنل پیدا ہوتا ہے۔ اس کے برعکس ، جب اوسط MACD کالم گراف منفی سے مثبت ، RSI 45 سے زیادہ اور خالی سر ترتیب میں ہوتا ہے تو اس کے برابر پوزیشن سگنل پیدا ہوتا ہے۔ اس کے علاوہ ، حکمت عملی میں 11 دورانیوں کی لائنوں کی واپسی کی K

طاقت کا تجزیہ

  1. متعدد دورانیہ کے پیرامیٹرز کے ساتھ MACD اشارے کا ایک مجموعہ ، جس سے مارکیٹ میں مختلف ٹائم اسکیل کے تحت رجحانات کی تبدیلی کا معروضی طور پر عکاسی ہوسکتی ہے ، جس سے رجحانات کے فیصلے کی درستگی میں اضافہ ہوتا ہے۔
  2. MACD کو RSI اشارے کے ساتھ جوڑ کر ، سخت کھلی پوزیشن کی شرائط تشکیل دیں ، جو حکمت عملی کے فوائد کو بڑھانے اور واپسی کو کنٹرول کرنے میں معاون ثابت ہوسکتی ہیں۔
  3. اوسط MACD سگنل اشارے کے بار بار اتار چڑھاؤ سے پیدا ہونے والے جھوٹے سگنل کو مؤثر طریقے سے ختم کرسکتا ہے ، جس سے تجارتی سگنل زیادہ قابل اعتماد ہوجاتے ہیں۔
  4. لکیری رجعت کا استعمال کرتے ہوئے ، تجارت کو درست کرنے کا فیصلہ کیا جاتا ہے ، جس سے زلزلے کی مارکیٹ میں غیر واضح رجحانات میں داخل ہونے سے بچا جاسکتا ہے ، جس سے نقصان دہ تجارت کو کم کیا جاسکتا ہے۔
  5. تیزی سے بدلتے ہوئے کریپٹوکرنسی مارکیٹ میں ، 1 منٹ کی سطح پر مقدار کی تجارت کی حکمت عملی مارکیٹ میں اتار چڑھاؤ سے پیدا ہونے والے تجارت کے مواقع کو بروقت پکڑنے کے لئے بہتر ہے۔

خطرے کا تجزیہ

  1. حکمت عملی ایک طرفہ رجحانات کے حالات میں بہتر کام کرتی ہے ، اور اگر مارکیٹ طویل عرصے تک وسیع پیمانے پر اتار چڑھاؤ کی حالت میں ہے تو ، تجارتی سگنل اکثر ناکام ہوجاتے ہیں۔
  2. کریپٹوکرنسی مارکیٹ میں بڑے پیمانے پر اتار چڑھاؤ کی وجہ سے ، اگر مختصر وقت کے لئے انتہائی غیر معمولی اتار چڑھاؤ ہوتا ہے تو ، اس سے بڑی واپسی کا سبب بن سکتا ہے۔
  3. حکمت عملی کے پیرامیٹرز کے انتخاب کا مجموعی طور پر منافع پر واضح اثر پڑتا ہے ، پیرامیٹرز کی غلط ترتیب سے حکمت عملی کی ناکامی کا سبب بن سکتا ہے۔ لہذا عملی طور پر جانے سے پہلے مختلف اقسام کے لئے کافی پیرامیٹرز کی اصلاح اور جانچ پڑتال کی ضرورت ہے۔

اصلاح کی سمت

  1. مارکیٹ میں غیر معمولی اتار چڑھاؤ سے ہونے والے نقصان کو کم کرنے کے لئے ، قیمتوں میں اتار چڑھاؤ سے متعلق اشارے جیسے اے ٹی آر کو متعارف کرانے پر غور کیا جاسکتا ہے ، اور پوزیشن کھولنے کے سگنل کو فلٹر کیا جاسکتا ہے۔
  2. لکیری رجعت کے علاوہ ، حالات کو مرتب کرنے کے لئے ، دیگر طریقوں کو استعمال کرنے کی کوشش کی جاسکتی ہے جیسے معاون مزاحمت کی جگہ ، برن بینڈ چینلز وغیرہ ، تاکہ شناخت کی درستگی کو مزید بہتر بنایا جاسکے۔
  3. رجحان سازی کے حالات میں، آپ کو ایک ہی تجارت کے منافع کو زیادہ سے زیادہ کرنے کے لئے، ایک متحرک سٹاپ متعارف کرانے کی طرف سے پوزیشن کی جگہ کو بہتر بنانے کے لئے موازنہ کر سکتے ہیں.
  4. مختلف تجارتی اقسام کی مختلف خصوصیات کو مدنظر رکھتے ہوئے ، مختلف اقسام کے ل different مختلف حکمت عملی کے پیرامیٹرز مرتب کیے جاسکتے ہیں ، جس سے مجموعی حکمت عملی کی موافقت اور استحکام میں اضافہ ہوتا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="TrippleMACD", shorttitle="TrippleMACD + RSI strategy", format=format.price, precision=4, overlay=true)

// RSI 
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")
showDivergence = input.bool(false, title="Show Divergence", group="RSI Settings")

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

bbUpperBand = plot(isBB ? rsiMA + ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Upper Bollinger Band", color=color.green)
bbLowerBand = plot(isBB ? rsiMA - ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Lower Bollinger Band", color=color.green)

// Divergence
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)

plFound = na(ta.pivotlow(rsi, lookbackLeft, lookbackRight)) ? false : true
phFound = na(ta.pivothigh(rsi, lookbackLeft, lookbackRight)) ? false : true
_inRange(cond) =>
	bars = ta.barssince(cond == true)
	rangeLower <= bars and bars <= rangeUpper

//------------------------------------------------------------------------------
// Regular Bullish
// rsi: Higher Low

rsiHL = rsi[lookbackRight] > ta.valuewhen(plFound, rsi[lookbackRight], 1) and _inRange(plFound[1])

// Price: Lower Low

priceLL = low[lookbackRight] < ta.valuewhen(plFound, low[lookbackRight], 1)
bullCondAlert = priceLL and rsiHL and plFound
bullCond = showDivergence and bullCondAlert

// rsi: Lower High

rsiLH = rsi[lookbackRight] < ta.valuewhen(phFound, rsi[lookbackRight], 1) and _inRange(phFound[1])

// Price: Higher High

priceHH = high[lookbackRight] > ta.valuewhen(phFound, high[lookbackRight], 1)

bearCondAlert = priceHH and rsiLH and phFound
bearCond = showDivergence and bearCondAlert

// Getting inputs
stopLuse          = input(1.040)
fast_length = input(title = "Fast Length", defval = 5)
slow_length = input(title = "Slow Length", defval = 8)
fast_length2 = input(title = "Fast Length2", defval = 13)
slow_length2 = input(title = "Slow Length2", defval = 21)
fast_length3 = input(title = "Fast Length3", defval = 34)
slow_length3 = input(title = "Slow Length3", defval = 144)
fast_length4 = input(title = "Fast Length3", defval = 68)
slow_length4 = input(title = "Slow Length3", defval = 288)
src = input(title = "Source", defval = close)
signal_length2 = input.int(title="Signal Smoothing", minval = 1, maxval = 200, defval = 11)
signal_length = input.int(title = "Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title = "Oscillator MA Type",  defval = "EMA", options = ["SMA", "EMA"])
sma_signal = input.string(title = "Signal Line MA Type", defval = "EMA", options = ["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)

fast_ma2 = sma_source == "SMA2" ? ta.sma(src, fast_length2) : ta.ema(src, fast_length2)
slow_ma2 = sma_source == "SMA2" ? ta.sma(src, slow_length2) : ta.ema(src, slow_length2)

fast_ma3 = sma_source == "SMA3" ? ta.sma(src, fast_length3) : ta.ema(src, fast_length3)
slow_ma3 = sma_source == "SMA3" ? ta.sma(src, slow_length3) : ta.ema(src, slow_length3)

fast_ma4 = sma_source == "SMA3" ? ta.sma(src, fast_length3) : ta.ema(src, fast_length3)
slow_ma4 = sma_source == "SMA3" ? ta.sma(src, slow_length3) : ta.ema(src, slow_length3)

macd = fast_ma - slow_ma
macd2 = fast_ma2 - slow_ma2
macd3 = fast_ma3 - slow_ma3
macd4 = fast_ma4 - slow_ma4

signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
signal2 = sma_signal == "SMA" ? ta.sma(macd2, signal_length) : ta.ema(macd2, signal_length)
signal3 = sma_signal == "SMA" ? ta.sma(macd3, signal_length) : ta.ema(macd3, signal_length)
signal4 = sma_signal == "SMA" ? ta.sma(macd4, signal_length) : ta.ema(macd4, signal_length)
//hist = (macd + macd2 + macd3)/1 - (signal + signal2 + signal3)/1
hist = (macd + macd2 + macd3 + macd4)/4 - (signal + signal2 + signal3 + signal4)/4
signal5 = (signal + signal2 + signal3)/3

sma_signal2 = input.bool(title="Simple MA (Signal Line)", defval=true)

lin_reg = input.bool(title="Lin Reg", defval=true)
linreg_length = input.int(title="Linear Regression Length", minval = 1, maxval = 200, defval = 11)

bopen = lin_reg ? ta.linreg(open, linreg_length, 0) : open
bhigh = lin_reg ? ta.linreg(high, linreg_length, 0) : high
blow = lin_reg ? ta.linreg(low, linreg_length, 0) : low
bclose = lin_reg ? ta.linreg(close, linreg_length, 0) : close

shadow = (bhigh - bclose) + (bopen - blow)
body = bclose - bopen
perc = (shadow/body)
cond2 = perc >=2 and bclose+bclose[1]/2 > bopen+bopen[1]/2

r = bopen < bclose

//signal5 = sma_signal2 ? ta.sma(bclose, signal_length) : ta.ema(bclose, signal_length)
plotcandle(r ? bopen : na, r ? bhigh : na, r ? blow: na, r ? bclose : na, title="LinReg Candles", color= color.green, wickcolor=color.green, bordercolor=color.green, editable= true)
plotcandle(r ? na : bopen, r ? na : bhigh, r ? na : blow, r ? na : bclose, title="LinReg Candles", color=color.red, wickcolor=color.red, bordercolor=color.red, editable= true)
//alertcondition(hist[1] >= 0 and hist < 0, title = 'Rising to falling', message = 'The MACD histogram switched from a rising to falling state')
//alertcondition(hist[1] <= 0 and hist > 0, title = 'Falling to rising', message = 'The MACD histogram switched from a falling to rising state')

green = hist >= 0 ? (hist[1] < hist ? "G" : "GL") : (hist[1] < hist ? "RL" : "R")
Buy = green == "G" and green[1] != "G" and green[1] != "GL" and bopen < bclose and rsi < 55.0 //and not cond2
//StopBuy = (green == "R" or green == "RL" or green == "RL") and bopen > bclose and bopen[1] < bclose[1]
StopBuy = bopen > bclose and bopen[1] < bclose[1] and (green == "G" or green == "GL" or green == "R") and bopen[2] < bclose[2] and bopen[3] < bclose[3]
hists = close[3] < close[2] and close[2] < close[1]
//Buy = green == "RL" and hist[0] > -0.07 and hist[0] < 0.00 and rsi < 55.0 and hists
//StopBuy = green == "GL" or green == "R"
alertcondition(Buy, "Long","Покупка в лонг")
alertcondition(StopBuy, "StopLong","Закрытие сделки")

//hline(0, "Zero Line", color = color.new(#787B86, 50))
plot(hist + (close - (close * 0.03)), title = "Histogram", style = plot.style_line, color = (hist >= 0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #FF5252)))
plotshape(Buy ? low : na, 'Buy', shape.labelup, location.belowbar , color=color.new(#0abe40, 50), size=size.small, offset=0)
plotshape(StopBuy ? low : na, 'Buy', shape.cross, location.abovebar , color=color.new(#be0a0a, 50), size=size.small, offset=0)
plot(macd4  + (close - (close * 0.01)),   title = "MACD",   color = #2962FF)
plot(signal5 + (close - (close * 0.01)), title = "Signal", color = #FF6D00)

plotchar(cond2 , char='↓', color = color.rgb(0, 230, 119), text = "-")

if (Buy)
    strategy.entry("long", strategy.long)

// if (startShortTrade)
//     strategy.entry("short", strategy.short)

profitTarget = strategy.position_avg_price * stopLuse
strategy.exit("Take Profit", "long", limit=profitTarget)
// strategy.exit("Take Profit", "short", limit=profitTarget)