Ichimoku Cloud Quantitative Trading Strategy


تخلیق کی تاریخ: 2024-01-05 13:53:11 آخر میں ترمیم کریں: 2024-01-05 13:53:11
کاپی: 0 کلکس کی تعداد: 321
1
پر توجہ دیں
1141
پیروکار

Ichimoku Cloud Quantitative Trading Strategy

جائزہ

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

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

Ichimoku بادل کی پٹی کی بنیاد پر تبادلوں کی لائن اور تاخیر کی لائن ایک کثیر فاریکس ٹریڈنگ سگنل کی تعمیر کرتی ہے۔ Hull Moving Average کے ساتھ مل کر رجحان کی سمت کا تعین کریں۔ MACD اشارے کا استعمال کرتے ہوئے لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لم

منتقلی کی لکیر تقریبا 9 دن کی اوسط قیمت ہے۔ تاخیر کی لکیر تقریبا 26 دن کی اوسط قیمت ہے۔ جب منتقلی کی لکیر پر تاخیر کی لکیر سے گزرے تو ، زیادہ کام کریں۔ جب منتقلی کی لکیر کے نیچے تاخیر کی لکیر سے گزرے تو ، خالی کریں۔

ہل منتقل اوسط ڈبل اوسط کے ذریعے ایک رجحان کا فیصلہ کر رہا ہے، جب تیز لائن پر ایک سست لائن سے گزرتا ہے، تو یہ ایک بڑھتی ہوئی رجحان کے طور پر فیصلہ کیا جاتا ہے؛ اس کے برعکس، ڈین نیچے کی رجحان کے طور پر فیصلہ کیا جاتا ہے.

MACD 12 اور 26 اشاریہ منتقل اوسط فرق لیتا ہے، صفر محور اور اوسط کے سنہری کانٹا deadfork کی طرف سے overbought کا فیصلہ کرنے کے لئے.

دن کے اندر K لائن نے تاخیر کی لائن کو توڑ کر داخلے کے وقت کے طور پر استعمال کیا۔

اسٹریٹجک فوائد

  1. اس کے علاوہ، یہ بھی ایک بہت بڑا فائدہ ہے کہ آپ کو اس کے بارے میں مزید معلومات مل سکتی ہے.
  2. اس کے علاوہ، آپ کو ایک بار پھر آپ کے کاروبار کے بارے میں سوچنا چاہئے.
  3. خطرے پر قابو پانے اور روک تھام کا طریقہ کار۔

اسٹریٹجک رسک

  1. پیرامیٹرز کی غلط ترتیب سے میدان میں زیادہ شدید داخل ہونے کا خطرہ ہے۔
  2. کثیر پیمائش کا مجموعہ حکمت عملی کی پیچیدگی میں اضافہ کرتا ہے۔
  3. مختصر لائن آپریشن کے نتیجے میں واپسی کا امکان ہے۔

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

  1. زیادہ اقسام اور ادوار کے لئے پیرامیٹرز کے مجموعے کو ایڈجسٹ کریں.
  2. مشین لرننگ ماڈیول شامل کریں تاکہ پیرامیٹرز کو خود بخود ایڈجسٹ کیا جاسکے۔
  3. داخلہ کی شرح کو بہتر بنانے اور جیتنے کی شرح کو بہتر بنانے کے لئے.

خلاصہ کریں۔

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

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

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart