مقداری تجارت کی ڈبل موونگ ایوریج حکمت عملی پر مبنی


تخلیق کی تاریخ: 2023-12-29 11:03:14 آخر میں ترمیم کریں: 2023-12-29 11:03:14
کاپی: 2 کلکس کی تعداد: 659
1
پر توجہ دیں
1621
پیروکار

مقداری تجارت کی ڈبل موونگ ایوریج حکمت عملی پر مبنی

جائزہ

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

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

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

  1. ڈبل میڈین لائن: 20 ویں اور 60 ویں لائن کا حساب لگائیں ، جب 20 ویں لائن 60 ویں لائن کو عبور کرتی ہے تو ، مارکیٹ کو گہری حالت میں سمجھا جاتا ہے۔ جب 20 ویں لائن 60 ویں لائن کو عبور کرتی ہے تو ، مارکیٹ کو گہری حالت میں سمجھا جاتا ہے۔

  2. ٹرانزیکشن حجم: ہر دن کی ٹرانزیکشن خرید و فروخت کی مقدار کا حساب لگائیں ، اگر خرید و فروخت کی مقدار سے زیادہ اور پچھلے n دن کی اوسط ٹرانزیکشن حجم سے زیادہ ہے تو ، اسے ایک سے زیادہ تجارت سمجھا جاتا ہے۔ اگر فروخت کی مقدار خرید و فروخت سے زیادہ ہے اور پچھلے n دن کی اوسط ٹرانزیکشن حجم سے زیادہ ہے تو ، اسے خالی ٹرانزیکشن سمجھا جاتا ہے۔

اس کے علاوہ ، اس کے ساتھ ساتھ اس کی تجارت کی حکمت عملی اور منطق بھی شامل ہے:

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

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

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

طاقت کا تجزیہ

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. ڈبل میڈین لائن اور ٹرانزیکشن حجم کے اشارے کے ساتھ مل کر ، کسی ایک تکنیکی اشارے کے فیصلے کے اندھے علاقے سے گریز کیا گیا۔

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

  3. اسٹاپ اور نقصان کی حکمت عملی معقول ہے ، جو منافع کو لاک کرنے اور خطرے کو کنٹرول کرنے میں مددگار ہے۔

  4. پیمائش کا اثر اچھا ہے ، آمدنی مستحکم ہے ، اور یہ مقدار میں تجارت کے لئے عملی طور پر استعمال کیا جاسکتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں:

  1. ڈبل مساوی لائن حکمت عملی غلطی کے سگنل پیدا کرنے کے لئے آسان ہے، جس میں مشترکہ توانائی کے اشارے کو فلٹر کرنے کی ضرورت ہے.

  2. برن بینڈ پیرامیٹرز کی غلط ترتیب سے داخلے کی کثرت یا کمی پیدا ہوسکتی ہے۔

  3. اسٹریٹجک منافع کو متاثر کرنے کے لئے غیر مناسب طور پر مقرر کردہ فکسڈ اسٹاپ نقصان کی پوزیشن۔

  4. بہت سارے تاریخی اعداد و شمار کی جانچ پڑتال کی ضرورت ہوتی ہے ، اور اس کے نتیجے میں غیر متوقع نقصانات کا سامنا کرنا پڑتا ہے۔

اصلاح کی سمت

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

  1. اوسط لکیری نظام کے پیرامیٹرز کو بہتر بنائیں اور اوسط لکیری کا بہترین مجموعہ تلاش کریں۔

  2. برنڈ پیرامیٹرز کو بہتر بنانے کے لئے داخلہ کو زیادہ درست بنانے کے لئے

  3. مارکیٹ کی صورتحال کے مطابق معقول منافع اور نقصان کا تناسب طے کرنے کے لئے اسٹاپ اسٹاپ نقصان کو متحرک طور پر ایڈجسٹ کریں۔

  4. حکمت عملی کی درستگی کو بہتر بنانے کے لئے دیگر تکنیکی اشارے جیسے MACD ، KD وغیرہ شامل کریں۔

  5. مشین سیکھنے کے طریقوں کا استعمال کرتے ہوئے خود کار طریقے سے بہتر پیرامیٹرز تلاش کریں تاکہ حکمت عملی کو زیادہ موثر بنایا جاسکے۔

خلاصہ کریں۔

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

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

//@version=4
strategy("prototype",initial_capital=0.01,commission_type=strategy.commission.percent,commission_value=0.1, format=format.volume, precision=0,overlay=true)
// SETTING //
length1=input(1)
length3=input(3)
length7=input(7)
length14=input(14)
length20=input(20)
length60=input(60)
length120=input(120)
ma1= sma(close,length1)
ma3= sma(close,length3)
ma7= sma(close,length7)
ma14=sma(close,length14)
ma20=sma(close,length20)
ma60=sma(close,length60)
ma120=sma(close,length120)
rsi=rsi(close,14)
// BUYING VOLUME AND SELLING VOLUME //
BV = iff( (high==low), 0, volume*(close-low)/(high-low))
SV = iff( (high==low), 0, volume*(high-close)/(high-low))
vol = iff(volume > 0, volume, 1)
dailyLength = input(title = "Daily MA length", type = input.integer, defval = 50, minval = 1, maxval = 100)
weeklyLength = input(title = "Weekly MA length", type = input.integer, defval = 10, minval = 1, maxval = 100)
//-----------------------------------------------------------
Davgvol = sma(volume, dailyLength)
Wavgvol = sma(volume, weeklyLength)
//-----------------------------------------------------------
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
mult2= input(1.5, minval=0.001, maxval=50, title="exp")
mult3= input(1.0, minval=0.001, maxval=50, title="exp1")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
dev2= mult2 * stdev(src, length)
Supper= basis + dev2
Slower= basis - dev2
dev3= mult3 * stdev(src, length)
upper1= basis + dev3
lower1= basis - dev3
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
//----------------------------------------------------
exit=(close-strategy.position_avg_price / strategy.position_avg_price*100)
bull=(close>Supper and BV>SV and BV>Davgvol)
bull2=(close>ma20  and BV>SV and BV>Davgvol)
bux =(close<Supper and close>Slower and volume<Wavgvol)
bear=(close<Slower and close<lower and SV>BV and SV>Wavgvol)
hi=highest(exit,10)
imInATrade = strategy.position_size != 0
highestPriceAfterEntry = valuewhen(imInATrade, high, 0)
// STRATEGY LONG //
if (bull and close>ma3 and ma20>ma60 and rsi<70)
    strategy.entry("Long",strategy.long,0.1)

if (strategy.position_avg_price*1.05<close)
    strategy.close("Long",0.1)

else if (highestPriceAfterEntry*0.999<close and close>strategy.position_avg_price*1.002)
    strategy.close("Long",0.1)
else if (highestPriceAfterEntry*0.997<close and close>strategy.position_avg_price*1.002)
    strategy.close("Long",0.1)
else if (highestPriceAfterEntry*0.995<close and close>strategy.position_avg_price*1.002)
    strategy.close("Long",0.1)
else if (strategy.openprofit < strategy.position_avg_price*0.9-close)
    strategy.close("Long",0.1)
//////////////////////////////////////////////////////////////////////////////////

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