چار اشارے رفتار کی تبدیلی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-27 15:51:01
ٹیگز:

img

جائزہ

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

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

  1. قیمتوں کی رفتار کا تعین کرنے کے لئے 4 مدت اور 8 مدت کے EMA کے درمیان کراس اوور کا استعمال کریں تیزی سے رد عمل ظاہر کرنے کے لئے تیز تر 4 مدت کے EMA اور تصدیق کرنے کے لئے سست 8 مدت کے EMA۔

  2. جب ای ایم اے اوپر کی طرف موڑتا ہے ، یعنی 4 مدت کے ای ایم اے کو 8 مدت کے ای ایم اے سے اوپر عبور کرتا ہے ، تو یہ چیک کریں کہ آر ایس آئی (65 سے زیادہ) اور سی سی آئی (صفر سے زیادہ) طویل سگنل دینے کے لئے زیادہ نہیں خریدے گئے ہیں۔

  3. جب ای ایم اے نیچے کی طرف موڑتا ہے ، یعنی 4 پیریڈ ای ایم اے 8 پیریڈ ای ایم اے سے نیچے کی حد کو عبور کرتا ہے ، تو چیک کریں کہ مختصر سگنل دینے کے لئے آر ایس آئی (35 سے نیچے) اور سی سی آئی (0 سے نیچے) زیادہ فروخت ہوئے ہیں۔

  4. سٹاپ نقصان مقرر کریں اور ٹریڈ سگنلز چلانے کے بعد ان پٹ فاصلے کی بنیاد پر منافع کی قیمتیں لیں.

خلاصہ یہ ہے کہ اس حکمت عملی میں درمیانی مدت کے رجحان اور قلیل مدتی زیادہ خریدنے / زیادہ فروخت کی سطح کو نسبتا stable مستحکم سگنل بنانے کے لئے سمجھا جاتا ہے ، جبکہ نقصانات کو روکنے اور منافع حاصل کرنے سے ہر تجارت میں نقصان کو مؤثر طریقے سے محدود کیا جاتا ہے۔

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

  1. متعدد اشارے انفرادی آسکیلیٹرز سے جھوٹے سگنل کو کم کرتے ہیں۔

  2. EMAs اہم رجحان کا تعین کرتے ہیں جبکہ RSI اور CCI جیت کی شرح کو بہتر بنانے کے لئے زیادہ گرم علاقوں سے بچنے کے لئے؛

  3. خودکار سٹاپ نقصان اور منافع لینے کی ترتیب انتہائی حرکتوں میں نقصان کو محدود کرتی ہے۔

  4. محض تکنیکی نوعیت اس حکمت عملی کو کسی بھی وقت کے فریم میں آسانی سے لاگو کرتی ہے۔

خطرے کا تجزیہ

  1. اہم بنیادی خبریں تکنیکی سطحوں کو نظر انداز کر سکتی ہیں۔

  2. سٹاپ نقصان کو بڑے پیمانے پر سٹاپ کے لئے بڑے پیمانے پر اتار چڑھاؤ کالز کی طرف سے لیا جا سکتا ہے؛

  3. کثرت سے تجارت سے ٹرانزیکشن کی لاگت زیادہ ہوتی ہے لہذا اعلی تعدد کے الگورتھم کے لئے بہتر طور پر چھوڑ دیا جاتا ہے۔

بہتر مواقع

  1. بنیادی اصولوں کی بنیاد پر پیرامیٹرز کو خود بخود ایڈجسٹ کرنے کے لئے مشین لرننگ ماڈلز کو شامل کریں؛

  2. مقررہ فاصلے کے بجائے اتار چڑھاؤ پر رد عمل ظاہر کرنے والے موافقت پذیر اسٹاپ بنائیں۔

نتیجہ

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


/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-26 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4


strategy(title="Moving Average Exponential", shorttitle="EMA", overlay=true)


len4 = input(4, minval=1, title="Length_MA4")
src4 = input(close, title="Source")
offset4 = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out4 = ema(src4, len4)
plot(out4, title="EMA", color=color.blue, offset=offset4)

len8 = input(8, minval=1, title="Length_MA8")
src8 = input(close, title="Source")
offset8 = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out8 = ema(src8, len8)
plot(out8, title="EMA", color=color.blue, offset=offset8)


//rsioma
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(ema(src, len)), 0), len)
down = rma(-min(change(ema(src, len)), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//plot(rsi, color=color.blue)
//band1 = hline(80)
//band0 = hline(20)
//fill(band1, band0, color=color.purple, transp=90)
//hline(50, color=color.gray, linestyle=plot.style_line)
sig = ema(rsi, 21)
//plot(sig, color=color.purple)

//woodie
cciTurboLength = input(title="CCI Turbo Length", type=input.integer, defval=6, minval=3, maxval=14)
cci14Length = input(title="CCI 14 Length", type=input.integer, defval=14, minval=7, maxval=20)

source = close

cciTurbo = cci(source, cciTurboLength)
cci14 = cci(source, cci14Length)

last5IsDown = cci14[5] < 0 and cci14[4] < 0 and cci14[3] < 0 and cci14[2] < 0 and cci14[1] < 0
last5IsUp = cci14[5] > 0 and cci14[4] > 0 and cci14[3] > 0 and cci14[2] > 0 and cci14[1] > 0
histogramColor = last5IsUp ? color.green : last5IsDown ? color.red : cci14 < 0 ? color.green : color.red


// Exit Condition
// Exit Condition
a = input(12)*10
b = input(15)*10
c = a*syminfo.mintick
d = b*syminfo.mintick


longCondition = crossover(out4, out8) and (rsi >= 65 and cci14>=0)
shortCondition = crossunder(out4, out8) and (rsi <=35 and cci14<=0)


long_stop_level     = float(na)
long_profit_level1  = float(na)
long_profit_level2  = float(na)
long_even_level     = float(na)

short_stop_level    = float(na)
short_profit_level1 = float(na)
short_profit_level2 = float(na)
short_even_level    = float(na)

long_stop_level     := longCondition  ? close - c : long_stop_level     [1]
long_profit_level1  := longCondition  ? close + d : long_profit_level1  [1]
//long_profit_level2  := longCondition  ? close + d : long_profit_level2  [1]
//long_even_level     := longCondition  ? close + 0 : long_even_level     [1]

short_stop_level    := shortCondition ? close + c : short_stop_level    [1]
short_profit_level1 := shortCondition ? close - d : short_profit_level1 [1]
//short_profit_level2 := shortCondition ? close - d : short_profit_level2 [1]
//short_even_level    := shortCondition ? close + 0 : short_even_level    [1] 


//ha
// === Input ===
//ma1_len = input(1, title="MA 01")
//ma2_len = input(40, title="MA 02")

// === MA 01 Filter ===
//o=ema(open,ma1_len)
//cc=ema(close,ma1_len)
//h=ema(high,ma1_len)
//l=ema(low,ma1_len)

// === HA calculator ===
//ha_t = heikinashi(syminfo.tickerid)
//ha_o = security(ha_t, timeframe.period, o)
//ha_c = security(ha_t, timeframe.period, cc)
//ha_h = security(ha_t, timeframe.period, h)
//ha_l = security(ha_t, timeframe.period, l)

// === MA 02 Filter ===
//o2=ema(ha_o, ma2_len)
//c2=ema(ha_c, ma2_len)
//h2=ema(ha_h, ma2_len)
//l2=ema(ha_l, ma2_len)

// === Color def ===
//ha_col=o2>c2 ? color.red : color.lime

// ===  PLOTITING===
//plotcandle(o2, h2, l2, c2, title="HA Smoothed", color=ha_col)

tp=input(120)
sl=input(96)
    
strategy.entry("long", strategy.long, when = longCondition)
//strategy.close("long", when = o2>c2 , comment="ha_long")
strategy.entry("short", strategy.short , when =shortCondition )
//strategy.close("short", when = o2<=c2 , comment = "ha_short" )

//strategy.close("long",when=long_profit_level1 or long_stop_level  , comment="tp/sl")
//strategy.close("short",when=short_profit_level1 or short_stop_level , comment="tp/sl")

strategy.exit("x_long","long",profit = tp, loss = sl) //when = o2>c2)
strategy.exit("x_short","short",profit = tp, loss = sl) //when = o2<c2)



مزید