موونگ ایوریج کراس اوور اور ایوریج ٹرو رینج ہائبرڈ حکمت عملی


تخلیق کی تاریخ: 2023-09-26 17:22:21 آخر میں ترمیم کریں: 2023-09-26 17:22:21
کاپی: 7 کلکس کی تعداد: 1001
1
پر توجہ دیں
1628
پیروکار

جائزہ

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

اصول

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

فوائد

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

خطرات

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

اصلاح کی سمت

  • دوسرے اشارے کی کوشش کریں جو اے ٹی آر کی تکمیل یا اس کی جگہ لے لے ، جیسے برین بینڈ ، رجحان کی طاقت کا اندازہ لگانے کے لئے
  • اوسط لکیری کراس کی اقسام کو دیگر مجموعوں کے لئے توسیع دی جاسکتی ہے ، جیسے ای ایم اے ، حرکیات کے اشارے وغیرہ
  • جعلی دراندازی سے بچنے کے لئے دراندازی کی تصدیق کے طریقہ کار میں شامل ہوں
  • اصلاح پیرامیٹرز ترتیب ترتیب: ATR لمبائی اور ہموار > اوسط لائن لمبائی > سٹاپ نقصان سٹاپ سیٹ کریں
  • فکسڈ حصص ، متحرک پوزیشنوں وغیرہ کے ساتھ فنڈ مینجمنٹ کی حکمت عملی پر غور کریں
  • طویل مدتی ریئل ٹائم پیمائش ، حکمت عملی کے استحکام اور زیادہ سے زیادہ واپسی کا جائزہ

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
basePeriod: 15m
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/
// © Phoenix085

//@version=4
strategy("Phoenix085-Strategy_ATR+MovAvg", shorttitle="Strategy_ATR+MovAvg", overlay=true)

// // ######################>>>>>>>>>>>>Inputs<<<<<<<<<<<#########################
// // ######################>>>>>>>>>>>>Strategy Inputs<<<<<<<<<<<#########################

TakeProfitPercent = input(50, title="Take Profit %", type=input.float, step=.25)
StopLossPercent = input(5, title="Stop Loss %", type=input.float, step=.25)

ProfitTarget = (close * (TakeProfitPercent / 100)) / syminfo.mintick
LossTarget = (close * (StopLossPercent / 100)) / syminfo.mintick

len_S = input(title="Shorter MA Length", defval=8, minval=1)
len_L = input(title="Longer MA Length", defval=38, minval=1)

TF = input(defval="", title="Session TF for calc only", type=input.session,options=[""])
TF_ = "1"

if TF == "3"
    TF_ == "1"
else 
    if TF == "5" 
        TF_ == "3"
    else 
        if TF == "15"
            TF_ == "5"
        else 
            if TF == "30"
                TF_ == "15"
            else 
                if TF == "1H"
                    TF_ == "30"
                else 
                    if TF == "2H"
                        TF_ == "1H"
                    else 
                        if TF == "4H"
                            TF_ == "3H"
                        else 
                            if TF == "1D"
                                TF_ == "4H"
                            else
                                if TF == "1W"
                                    TF_ == "1H"
                                else 
                                    if TF == "1M"
                                        TF_ == "1W"
                                    else
                                        if TF =="3H"
                                            TF_ == "2H"

Src = security(syminfo.tickerid, TF, close[1], barmerge.lookahead_on)

Src_ = security(syminfo.tickerid, TF_, close, barmerge.lookahead_off)

// ######################>>>>>>>>>>>>ATR Inputs<<<<<<<<<<<#########################
length = input(title="ATR Length", defval=4, minval=1)
smoothing = input(title="ATR Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])


// //######################>>>>>>>>>>>>Custom Functions Declarations<<<<<<<<<<<#########################



// ######################>>>>>>>>>>>>ATR<<<<<<<<<<<#########################

ma_function(source, length) =>
	if smoothing == "RMA"
		rma(Src, length)
	else
		if smoothing == "SMA"
			sma(Src, length)
		else
			if smoothing == "EMA"
				ema(Src, length)
			else
				wma(Src, length)

ATR=ma_function(tr(true), length)


// //######################>>>>>>>>>>>>Conditions<<<<<<<<<<<#########################
ATR_Rise = ATR>ATR[1] and ATR[1]<ATR[2] and ATR[2]<ATR[3]

longCondition = crossover(sma(Src_, len_S), sma(Src_, len_L)) and sma(Src_, len_L) < sma(Src_, len_S) and (sma(Src_, len_S) < Src_[1])
shortCondition = crossunder(sma(Src_, len_S), sma(Src_, len_L)) and sma(Src_, len_L) > sma(Src_, len_S) 

plot(sma(Src_, len_S), color=color.lime, transp=90)
col = longCondition ? color.lime : shortCondition ? color.red : color.gray
plot(sma(Src_, len_L),color=col,linewidth=2)


bool IsABuy = longCondition 
bool IsASell = shortCondition

// // ######################>>>>>>>>>>>>Strategy<<<<<<<<<<<#########################

testStartYear = input(2015, "Backtest Start Year", minval=1980)
testStartMonth = input(1, "Backtest Start Month", minval=1, maxval=12)
testStartDay = input(1, "Backtest Start Day", minval=1, maxval=31)
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(9999, "Backtest Stop Year", minval=1980)
testStopMonth = input(12, "Backtest Stop Month", minval=1, maxval=12)
testStopDay = input(31, "Backtest Stop Day", minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
inDateRange = true

bgcolor(inDateRange ? color.green : na, 90)
// //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<//

// // ######################>>>>>>LongEntries<<<<<<<#########################
if inDateRange and ATR_Rise and IsABuy 
    strategy.entry("longCondition",true,when = longCondition)
    strategy.close("shortCondition")
    strategy.exit("Take Profit or Stop Loss", "longCondition",trail_points = close * 0.05 / syminfo.mintick ,trail_offset = close * 0.05 / syminfo.mintick, loss = LossTarget)
// strategy.risk.max_drawdown(10, strategy.percent_of_equity)
    
// // ######################>>>>>>ShortEntries<<<<<<<#########################
if inDateRange and ATR_Rise and IsASell  
    strategy.entry("shortCondition",false,when = shortCondition)
    strategy.exit("Take Profit or Stop Loss", "shortCondition",trail_points = close * 0.05 / syminfo.mintick ,trail_offset = close * 0.05 / syminfo.mintick, loss = LossTarget)
    strategy.close("longCondition")