آؤٹ آف دی باکس مشین لرننگ ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-29 11:20:42
ٹیگز:

img

جائزہ

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

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

یہ حکمت عملی بنیادی طور پر مندرجہ ذیل اہم نکات پر مبنی ہے:

  1. مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے ہل چلتی اوسط کا استعمال کریں
  2. مختصر اور درمیانی مدت کے رجحانات کا اندازہ کرنے کے لئے ای ایم اے کا استعمال کریں
  3. کلیدی سپورٹ / مزاحمت کی سطح کو تلاش کرنے کے لئے موم بتی جسم چینل کا استعمال کریں
  4. کثیر ٹائم فریم سیکیورٹیز سے کھلی اور بند قیمتوں کے درمیان کراس اوور پر مبنی فیصلے کریں

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

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

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

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

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

  1. کثیر اشارے کا مجموعہ سگنل کی درستگی کو بہتر بناتا ہے

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

  2. لچکدار پیرامیٹر کی ترتیبات

    ہیل ایم اے، ای ایم اے ادوار، کھلی/قریبی کراس اوور ادوار کی لمبائی کو پیرامیٹرز کے ذریعے ایڈجسٹ کیا جاسکتا ہے، جس سے حکمت عملی کو مختلف مارکیٹ کے ماحول کے مطابق بنایا جاسکتا ہے۔

  3. خودکار تجارتی سگنل

    اشارے اور کراس اوورز پر مبنی تجارتی سگنل دستی فیصلے کے بغیر خریداری اور فروخت کو خود بخود متحرک کرسکتے ہیں ، جس سے دشواری کم ہوتی ہے۔

  4. دکھایا گیا ڈسپلے

    حکمت عملی میں چارٹ واضح طور پر مارکیٹ کی ساخت، رجحان کی حیثیت اور اہم قیمتوں کو ظاہر کرسکتے ہیں، جو حکمت عملی کے فیصلے کی بنیاد کو ظاہر کرتی ہے.

خطرے کا تجزیہ

اگرچہ اس حکمت عملی کو متعدد پہلوؤں میں بہتر بنایا گیا ہے ، پھر بھی کچھ ممکنہ خطرات موجود ہیں:

  1. قیمتوں میں تیزی سے تبدیلیوں کا سراغ لگانے میں ناکامی

    اتار چڑھاؤ والے بازاروں میں ، اشارے غیر موثر یا تاخیر کا شکار ہوسکتے ہیں ، جس کی وجہ سے حکمت عملی وقت میں قیمتوں میں ہونے والی تبدیلیوں کو ٹریک کرنے میں ناکام رہتی ہے۔ اس طرح کی منڈیوں کو اپنانے کے لئے پیرامیٹرز کو بہتر بنانے کی ضرورت ہے۔

  2. سگنل کی غلطی کی شرح کا وجود

    اشارے اور ماڈلز پر مبنی تجارتی سگنل میں ، زیادہ یا کم ، کچھ غلط سگنل ہوں گے یا غائب سگنل ہوں گے۔ مزید معاون سگنل کو جوڑ کر اس میں بہتری لانے کی ضرورت ہے۔

  3. طویل/مختصر مکس خطرہ

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

  4. زیادہ فٹ ہونے کا خطرہ

    بہت زیادہ پیچیدہ پیرامیٹر کی ترتیبات میں اوور فٹنگ کا خطرہ ہے۔ پیرامیٹر کے مجموعوں کی محدود تعداد کے ساتھ نظام کو آسان بنانے کی ضرورت ہے۔

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

اس حکمت عملی کو بہتر بنانے کے لئے ابھی بھی کچھ گنجائش موجود ہے ، بنیادی طور پر مندرجہ ذیل پہلوؤں میں:

  1. مزید اشارے سگنل شامل کریں

    موجودہ اشارے کے علاوہ، مزید معاون اشارے متعارف کرایا جا سکتا ہے، جیسے BOLL چینلز، KD اشارے، وغیرہ، نظام ریفرنس کو بڑھانے کے لئے.

  2. گہری سیکھنے کے ماڈلز کا اطلاق کریں

    سگنل کے معیار کو بہتر بنانے کے لئے ایل ایس ٹی ایم اور دیگر گہری سیکھنے کے ماڈلز کو تربیت دینے کے لئے خصوصیات کے طور پر سادہ اشارے استعمال کریں۔

  3. بنیادی اعداد و شمار کو شامل کریں

    طویل دورانیے کے فیصلوں کو بہتر بنانے کے لئے میکرو اقتصادی اعداد و شمار، پالیسی کی معلومات اور دیگر بنیادی عوامل شامل کریں.

  4. خطرہ اور پوزیشن کا سائز

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

نتیجہ

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


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title='Ali Jitu Abus', shorttitle='Ali_Jitu_Abis_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//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=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------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)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=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
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- 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
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Period=input('60')
ch1 = request.security(syminfo.tickerid, Period, open)
ch2 = request.security(syminfo.tickerid, Period, close)
longCondition = crossover(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

plot(request.security(syminfo.tickerid, Period, close), color=red, title="Period request.security Close")
plot(request.security(syminfo.tickerid, Period, open), color=green, title="Period request.security Open")

///////////////////////////////////////////////////////////////////////////////////////////

مزید