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


تخلیق کی تاریخ: 2024-01-29 11:20:42 آخر میں ترمیم کریں: 2024-01-29 11:20:42
کاپی: 0 کلکس کی تعداد: 723
1
پر توجہ دیں
1617
پیروکار

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

جائزہ

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

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

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

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

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

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

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

حکمت عملی کا تجزیہ

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

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

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

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

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

  1. خودکار ٹریڈنگ سگنل

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

  1. بصری نمائش

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

خطرے کا تجزیہ

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

  1. بڑے پیمانے پر ٹریک نہیں کیا جا سکا

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

  1. سگنل کی غلطی کی شرح موجود ہے

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

  1. کثیر فضائی MIX خطرہ

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

  1. زیادہ سے زیادہ خطرہ

پیرامیٹرز کی ترتیب بہت پیچیدہ ہے اور زیادہ سے زیادہ اصلاح کے خطرے کا سامنا کرنا پڑتا ہے۔ اس کے لئے نظام کو آسان بنانے اور پیرامیٹرز کے مجموعے کی تعداد کو کنٹرول کرنے کی ضرورت ہے۔

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

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

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

پہلے سے موجود اشارے کے علاوہ ، مزید معاون اشارے متعارف کروائے جاسکتے ہیں ، جیسے BOLL چینل ، KD اشارے وغیرہ ، نظام کے فیصلے کی بنیاد کو مالا مال کریں۔

  1. گہری سیکھنے کے ماڈل کا استعمال

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

  1. بنیادی اعداد و شمار کے ساتھ مل کر

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

  1. خطرے اور پوزیشن کا انتظام

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*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")

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