XBT فیوچر ٹریڈنگ حکمت عملی جذبات پر مبنی


تخلیق کی تاریخ: 2023-12-22 14:48:44 آخر میں ترمیم کریں: 2023-12-22 14:48:44
کاپی: 1 کلکس کی تعداد: 649
1
پر توجہ دیں
1623
پیروکار

XBT فیوچر ٹریڈنگ حکمت عملی جذبات پر مبنی

جائزہ

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

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

  1. ایک سے جے تک کے دوروں ((1 سے 89 کے لائنوں) کے تحت اعلی ترین قیمت ، کم ترین قیمت ، اوسط قیمت ، قیمت میں اتار چڑھاؤ کی شدت وغیرہ کے اشارے کا حساب لگائیں۔

  2. قیمت کی حد کے اندر موجودہ اختتامی قیمت کی معیاری حیثیت کی وضاحت کریں ، پھر ہر دورانیہ کی قیمت میں اتار چڑھاؤ کی شدت کو ملا کر ، مختلف دورانیوں میں جذباتی قدر کا حساب لگائیں۔

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

  4. جذبات کی قیمتوں کے اتار چڑھاؤ کا تجزیہ کریں ، جب جذبات مثبت سے منفی ہوجاتے ہیں تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ جب جذبات منفی سے مثبت ہوجاتے ہیں تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔

  5. جذبات کی مطلق اتار چڑھاو کی مقدار کی بنیاد پر (ڈیلٹا متغیر) ، داخلے کی شدت کا فیصلہ کریں ، اور اسٹاپ نقصان کی شرائط طے کریں۔

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

  1. مارکیٹ کے رجحانات کا زیادہ جامع اندازہ لگانے کے لئے مختلف وقت کے مختلف ادوار میں جذبات کو مدنظر رکھا گیا ہے۔

  2. وزن میں ایڈجسٹمنٹ کے طریقہ کار سے حکمت عملی زیادہ مستحکم ہوتی ہے۔

  3. جذباتی اقدار اور جذباتی اتار چڑھاؤ کو مدنظر رکھتے ہوئے ، داخلے کے وقت کا تعین کرنا زیادہ درست ہے۔

  4. کم سے کم قیمت کے ساتھ زیادہ سے زیادہ قیمت، سٹاپ نقصان کے نظام کے ساتھ کنٹرول کے خطرے.

اسٹریٹجک رسک

  1. پیرامیٹرز کی غلط ترتیب سے زیادہ بار بار تجارت ہوسکتی ہے یا تجارت کے مواقع ضائع ہوسکتے ہیں۔

  2. اس کے علاوہ، اس نے کہا کہ اس کی حکمت عملی کو ناکام بنانے کے لئے ایک اچانک سیاہ سوان واقعہ ہوسکتا ہے.

  3. معاہدوں میں تبدیلی ، تجارتی قواعد میں تبدیلی ، وغیرہ سے حکمت عملی متاثر ہوسکتی ہے۔

  4. جذبات کی پیمائش تاریخی اعداد و شمار پر منحصر ہے اور مارکیٹ کے ڈھانچے میں تبدیلی کے ساتھ دوبارہ جائزہ لینے اور ایڈجسٹ کرنے کی ضرورت ہے۔

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

اصلاح کی سمت

  1. تجزیاتی سائیکل کو بڑھانا جاری رکھیں ، جذباتی فیصلے کی بنیاد کو مالا مال کریں۔

  2. مزید تکنیکی اشارے شامل کریں تاکہ جذباتی فیصلے اور تکنیکی اشارے کا ایک مجموعہ ہو۔

  3. مشین لرننگ کے ساتھ جذباتی خصوصیات کا تجزیہ۔

  4. متحرک طور پر وزن کی ترتیبات کو ایڈجسٹ کریں۔

  5. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
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/
// © Jomy

//@version=4

//2h chart BITMEX:XBTUSD
//use on low leverage 1-2x only

strategy("expected range STRATEGY",overlay=false,initial_capital=1000,precision=2)
leverage=input(1,"leverage",step=.5)
tp=input(53,"take profit %",step=1)
sl=input(7,"stoploss %",step=1)
stoploss=1-(sl/100)
plot(stoploss)
level=input(.70,"level to initiate trade",step=.02)
closelevel=input(0.0,"level to close trade",step=.02)
levelshort=input(.68,"level to initiate trade",step=.02)
closelevelshort=input(0.0,"level to close trade",step=.02)

wa=input(1.158,"weight a",step=.2)
wb=input(1.119,"weight b",step=.2)
wc=input(1.153,"weight c",step=.2)
wd=input(1.272,"weight d",step=.2)
we=input(1.295,"weight e",step=.2)
wf=input(1.523,"weight f",step=.2)
wg=input(1.588,"weight g",step=.2)
wh=input(2.100,"weight h",step=.2)
wi=input(1.816,"weight i",step=.2)
wj=input(2.832,"weight j",step=.2)
a=1
b=2
c=3
d=5
e=8
f=13
g=21
h=34
i=55
j=89

n=0
n:=if volume > -1
    nz(n[1])+1



ra=highest(high,a)-lowest(low,a)
aa=sma(ohlc4,a)
ha=aa[1]+ra[1]/2
la=aa[1]-ra[1]/2

rb=highest(high,b)-lowest(low,b)
ab=sma(ohlc4,b)
hb=ab[1]+rb[1]/2
lb=ab[1]-rb[1]/2

rc=highest(high,c)-lowest(low,c)
ac=sma(ohlc4,c)
hc=ac[1]+rc[1]/2
lc=ac[1]-rc[1]/2

rd=highest(high,d)-lowest(low,d)
ad=sma(ohlc4,d)
hd=ad[1]+rd[1]/2
ld=ad[1]-rd[1]/2

re=highest(high,e)-lowest(low,e)
ae=sma(ohlc4,e)
he=ae[1]+re[1]/2
le=ae[1]-re[1]/2

rf=highest(high,f)-lowest(low,f)
af=sma(ohlc4,f)
hf=af[1]+rf[1]/2
lf=af[1]-rf[1]/2

rg=highest(high,g)-lowest(low,g)
ag=sma(ohlc4,g)
hg=ag[1]+rg[1]/2
lg=ag[1]-rg[1]/2

rh=highest(high,h)-lowest(low,h)
ah=sma(ohlc4,h)
hh=ah[1]+rh[1]/2
lh=ah[1]-rh[1]/2

ri=highest(high,i)-lowest(low,i)
ai=sma(ohlc4,i)
hi=ai[1]+ri[1]/2
li=ai[1]-ri[1]/2

rj=highest(high,j)-lowest(low,j)
aj=sma(ohlc4,j)
hj=aj[1]+rj[1]/2
lj=aj[1]-rj[1]/2

placea=((close-la)/(ha-la)-.5)*-100
placeb=((close-lb)/(hb-lb)-.5)*-100
placec=((close-lc)/(hc-lc)-.5)*-100
placed=((close-ld)/(hd-ld)-.5)*-100
placee=((close-le)/(he-le)-.5)*-100
placef=((close-lf)/(hf-lf)-.5)*-100
placeg=((close-lg)/(hg-lg)-.5)*-100
placeh=((close-lh)/(hh-lh)-.5)*-100
placei=((close-li)/(hi-li)-.5)*-100
placej=((close-lj)/(hj-lj)-.5)*-100

sentiment=((placea/j)*ra*wa+(placeb/i)*rb*wb+(placec/h)*rc*wc+(placed/g)*rd*wd+(placee/f)*re*we+(placef/e)*rf*wf+(placeg/d)*rg*wg+(placeh/c)*rh*wh+(placei/b)*ri*wi+(placej/a)*rj*wj)/(wa+wb+wc+wd+we+wf+wg+wh+wi+wj)

deltalong=0.0
deltalong:=if sentiment>0
    nz(deltalong[1])+sentiment-sentiment[1]
else
    0
deltashort=0.0   
deltashort:=if sentiment<0
    nz(deltashort[1])+((sentiment-sentiment[1])*-1)
else
    0

//plot(sentiment*-1,color=color.blue)    
//plot(deltalong,color=color.red)
//plot(deltashort,color=color.lime)

peakfindlong=highest(deltalong,j)*level


peakfindshort=highest(deltashort,j)*levelshort


contracts=(strategy.equity/close)*leverage


//reason for o is this strategy makes dumb trades before the sentiment line crosses the 0 point the first time
o=0
o:=if cross(0,sentiment) and n>j
    1
else
    nz(o[1])

long=deltashort>peakfindlong and o==1

short=deltalong>peakfindshort and o==1


longstart=0.0
longstart:=if strategy.position_size>0 and strategy.position_size[1]<=0
    close
else
    nz(longstart[1])

shortstart=0.0
shortstart:=if strategy.position_size<0 and strategy.position_size[1]>=0 
    close
else
    nz(shortstart[1])    

highsincelong = 0.0
highsincelong := if strategy.position_size>0
    max(max(highsincelong[1],high),high[1])
else
    0

lowsinceshort = 1000000.0
lowsinceshort := if strategy.position_size<0
    min(min(lowsinceshort[1],low),low[1])
else
    10000000 

closelong=strategy.position_size > 0 and ((highsincelong/longstart-1)*100) > tp
closeshort=strategy.position_size < 0 and ((shortstart/lowsinceshort-1)*100) > tp

stoptrade=0
stoptrade:= if closelong
    1
else
    nz(stoptrade[1])

stoptrade:= if short and stoptrade[1]==1
    0
else
    stoptrade 

stoptrade:= if closeshort 
    -1
else
    stoptrade 
    
stoptrade:= if long and stoptrade[1]==-1
    0
else
    stoptrade     

if(closelong)
    strategy.close("Long1")   

pnllong = ((close - strategy.position_avg_price) / strategy.position_avg_price)*100
pnlshort = ((strategy.position_avg_price-close) / strategy.position_avg_price) *100
plot (strategy.position_size > 0 ?(highsincelong/longstart-1)*100 : 0.0,color=color.lime,linewidth=2)
plot (strategy.position_size < 0 ?(shortstart/lowsinceshort-1)*100 : 0.0,color=color.red,linewidth=2)  
plot( strategy.position_size > 0 ? pnllong:0, color=strategy.position_size > 0 ?color.yellow:color.black,linewidth=2 )
plot( strategy.position_size < 0 ? pnlshort:0, color=strategy.position_size < 0 ?color.orange:color.black,linewidth=2)
longuntilshort=0
longuntilshort:=if long
    1
else
    if short
        -1
    else
        nz(longuntilshort[1]) 
bgcolor(stoptrade!=0?color.black:longuntilshort==1?color.lime:longuntilshort==-1?color.red:na,transp=70)   

if(long and stoptrade==0)
    strategy.entry("Long1",strategy.long,qty=max(1,min(contracts,1000000000)))

if(closelong)
    strategy.close("Long1")
    
strategy.exit("Long1",stop=longstart * stoploss,when = strategy.position_size>0)

if(short and stoptrade==0)    
    strategy.entry("Short1",strategy.short,max(1,min(contracts,1000000000)))

if(closeshort)
    strategy.close("Short1")

strategy.exit("Long1",stop=shortstart / stoploss,when = strategy.position_size<0)