رجحان فیصلے کے ساتھ مل کر رفتار کثیر عنصر مقداری تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-23 14:58:57
ٹیگز:

img

جائزہ

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

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

  1. متعدد چلتی اوسط اور رفتار اشارے کا حساب لگائیں
    • حساب harmonics چلتی اوسط، مختصر مدت چلتی اوسط، درمیانی مدت چلتی اوسط، طویل مدتی چلتی اوسط اور دیگر متعدد چلتی اوسط
    • قیمتوں کی تبدیلیوں کے رجحان کو ظاہر کرنے کے لئے ہر چلتی اوسط کے درمیان فرق کا حساب لگائیں
    • قیمتوں کی تبدیلیوں کی رفتار کو ظاہر کرنے کے لئے ہر چلتی اوسط کے پہلے آرڈر مشتق کا حساب لگائیں
    • رجحان کی سمت کا تعین کرنے کے لئے sinus اور cosine اشارے کا حساب لگائیں
  2. جامع طور پر ٹریڈنگ سگنل کا فیصلہ کریں
    • رفتار کے اشارے، رجحان کے اشارے اور دیگر کثیر عوامل کا وزن دار حساب
    • موجودہ مارکیٹ کی حالت کو نتیجہ کی قیمت اور حد کے درمیان فاصلے کے مطابق فیصلہ کریں
    • طویل اور مختصر ٹریڈنگ سگنل جاری کریں

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

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

خطرے کا تجزیہ

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

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

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

خلاصہ

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


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/03/2017
// This is modified version of Dale Legan's "Confluence" indicator written by Gary Fritz.
// ================================================================
// Here is Gary`s commentary:
// Since the Confluence indicator returned several "states" (bull, bear, grey, and zero), 
// he modified the return value a bit:
// -9 to -1 = Bearish
// -0.9 to 0.9 = "grey" (and zero)
// 1 to 9 = Bullish
// The "grey" range corresponds to the "grey" values plotted by Dale's indicator, but 
// they're divided by 10.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////

strategy(title="Confluence", shorttitle="Confluence")
Harmonic = input(10, minval=1)
BuyBand = input(9)
SellBand = input(-9)
reverse = input(false, title="Trade reverse")
hline(SellBand, color=red, linestyle=line)
hline(BuyBand, color=green, linestyle=line)

Price = close

STL = round((Harmonic * 2) - 1 - 0.5)
ITL = round((STL * 2) - 1 - 0.5)
LTL = round((ITL * 2) - 1 - 0.5)
HOFF = round(Harmonic / 2 - 0.5)
SOFF = round(STL / 2 - 0.5)
IOFF = round(ITL / 2 - 0.5)

xHavg = sma(Price, Harmonic)
xSavg = sma(Price, STL)
xIavg = sma(Price, ITL)
xLavg = sma(Price, LTL)

xvalue2 = xSavg - xHavg[HOFF]
xvalue3 = xIavg - xSavg[SOFF]
xvalue12 = xLavg - xIavg[IOFF]

xmomsig = xvalue2 + xvalue3 + xvalue12

xLavgOHLC = sma(ohlc4, LTL - 1)

xH2 = sma(Price, Harmonic - 1)
xS2 = sma(Price, STL - 1)
xI2 = sma(Price, ITL - 1)
xL2 = sma(Price, LTL - 1)

DerivH = (xHavg * 2) - xHavg[1]
DerivS = (xSavg * 2) - xSavg[1]
DerivI = (xIavg * 2) - xIavg[1]
DerivL = (xLavg * 2) - xLavg[1]
SumDH = Harmonic * DerivH
SumDS = STL * DerivS
SumDI = ITL * DerivI
SumDL = LTL * DerivL

LengH = Harmonic - 1
LengS = STL - 1
LengI = ITL - 1
LengL = LTL - 1

N1H = xH2 * LengH
N1S = xS2 * LengS
N1I = xI2 * LengI
N1L = xL2 * LengL

DRH = SumDH - N1H
DRS = SumDS - N1S
DRI = SumDI - N1I
DRL = SumDL - N1L

SumH = xH2 * (Harmonic - 1)
SumS = xS2 * (STL - 1)
SumI = xI2 * (ITL - 1)
SumL = xLavgOHLC * (LTL - 1)

xvalue5 = (SumH + DRH) / Harmonic
xvalue6 = (SumS + DRS) / STL
xvalue7 = (SumI + DRI) / ITL
xvalue13 = (SumL + DRL) / LTL

value9 = xvalue6 - xvalue5[HOFF]
value10 = xvalue7 - xvalue6[SOFF]
value14 = xvalue13 - xvalue7[IOFF]
xmom = value9 + value10 + value14

HT = sin(xvalue5 * 2 * 3.14 / 360) + cos(xvalue5 * 2 * 3.14 / 360)
HTA = sin(xHavg * 2 * 3.14 / 360) + cos(xHavg * 2 * 3.14 / 360)
ST = sin(xvalue6 * 2 * 3.14 / 360) + cos(xvalue6 * 2 * 3.14 / 360)
STA = sin(xSavg * 2 * 3.14 / 360) + cos(xSavg * 2 * 3.14 / 360)
IT = sin(xvalue7 * 2 * 3.14 / 360) + cos(xvalue7 * 2 * 3.14 / 360)
ITA = sin(xIavg * 2 * 3.14 / 360) + cos(xIavg * 2 * 3.14 / 360)

xSum = HT + ST + IT
xErr = HTA + STA + ITA

Condition2 = (((xSum > xSum[SOFF]) and (xHavg < xHavg[SOFF])) or ((xSum < xSum[SOFF]) and (xHavg > xHavg[SOFF])))
Phase = iff(Condition2 , -1 , 1)
xErrSum = (xSum - xErr) * Phase
xErrSig = sma(xErrSum, SOFF)

xvalue70 = xvalue5 - xvalue13
xvalue71 = sma(xvalue70, Harmonic)


ErrNum = iff (xErrSum > 0 and xErrSum < xErrSum[1] and xErrSum < xErrSig, 1,
          iff (xErrSum > 0 and xErrSum < xErrSum[1] and xErrSum > xErrSig, 2, 
           iff (xErrSum > 0 and xErrSum > xErrSum[1] and xErrSum < xErrSig, 2,
             iff (xErrSum > 0 and xErrSum > xErrSum[1] and xErrSum > xErrSig, 3,
              iff (xErrSum < 0 and xErrSum > xErrSum[1] and xErrSum > xErrSig, -1,
               iff (xErrSum < 0 and xErrSum < xErrSum[1] and xErrSum > xErrSig, -2,
                 iff (xErrSum < 0 and xErrSum > xErrSum[1] and xErrSum < xErrSig, -2,
                  iff (xErrSum < 0 and xErrSum < xErrSum[1] and xErrSum < xErrSig, -3, 0))))))))


momNum = iff (xmom > 0 and xmom < xmom[1] and xmom < xmomsig , 1,
          iff (xmom > 0 and xmom < xmom[1] and xmom > xmomsig, 2,
           iff (xmom > 0 and xmom > xmom[1] and xmom < xmomsig, 2,
             iff (xmom > 0 and xmom > xmom[1] and xmom > xmomsig, 3,
              iff (xmom < 0 and xmom > xmom[1] and xmom > xmomsig, -1,
               iff (xmom < 0 and xmom < xmom[1] and xmom > xmomsig, -2,
                 iff (xmom < 0 and xmom > xmom[1] and xmom < xmomsig, -2,
                  iff (xmom < 0 and xmom < xmom[1] and xmom < xmomsig, -3, 0))))))))

TCNum =  iff (xvalue70 > 0 and xvalue70 < xvalue70[1] and xvalue70 < xvalue71, 1,
          iff (xvalue70 > 0 and xvalue70 < xvalue70[1] and xvalue70 > xvalue71, 2,
           iff (xvalue70 > 0 and xvalue70 > xvalue70[1] and xvalue70 < xvalue71, 2,
             iff (xvalue70 > 0 and xvalue70 > xvalue70[1] and xvalue70 > xvalue71, 3,
              iff (xvalue70 < 0 and xvalue70 > xvalue70[1] and xvalue70 > xvalue71, -1,
               iff (xvalue70 < 0 and xvalue70 < xvalue70[1] and xvalue70 > xvalue71, -2,
                 iff (xvalue70 < 0 and xvalue70 > xvalue70[1] and xvalue70 < xvalue71, -2,
                  iff (xvalue70 < 0 and xvalue70 < xvalue70[1] and xvalue70 < xvalue71, -3,0))))))))

value42 = ErrNum + momNum + TCNum
Confluence = iff (value42 > 0 and xvalue70 > 0, value42,
              iff (value42 < 0 and xvalue70 < 0, value42,
               iff ((value42 > 0 and xvalue70 < 0) or (value42 < 0 and xvalue70 > 0), value42 / 10, 0)))
Res1 = iff (Confluence >= 1, Confluence, 0)
Res2 = iff (Confluence <= -1, Confluence, 0)
Res3 = iff (Confluence == 0, 0, iff (Confluence > -1 and Confluence < 1, 10 * Confluence, 0))
pos = iff(Res2 >= SellBand and Res2 != 0, -1,
	     iff(Res1 <= BuyBand and Res1 != 0, 1, 
	       iff(Res3 != 0, 0, nz(pos[1], 0))))
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	 
if (possig == 0)
    strategy.close("Long", when = possig == 0)	 
    strategy.close("Short", when = possig == 0)	 
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(Res1, color=green, title="Confluence", linewidth=3, style = histogram)
plot(Res2, color=red, title="Confluence", linewidth=3, style = histogram)
plot(Res3, color=gray, title="Confluence",  linewidth=3, style = histogram)



مزید