
رجحان سے باخبر رہنے والی اوسط اوسط حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو طویل مدتی حرکت پذیری اوسط کی شناخت پر مبنی ہے ، اور اس میں اوسط حقیقی اتار چڑھاؤ کی حد کو فلٹر کرنے کے ساتھ ساتھ اس کی غلط حرکت کو بھی شامل کیا گیا ہے۔ یہ حکمت عملی رجحان کی سمت کا فیصلہ کرنے کے لئے ایک اشاریہ حرکت پذیری اوسط کا استعمال کرتی ہے ، اور پھر اوسط حقیقی اتار چڑھاؤ کی حد کو استعمال کرتی ہے کہ آیا اس کی شناخت جھوٹی توڑ کے طور پر کی گئی ہے۔ یہ زلزلے کی صورتحال کو مؤثر طریقے سے فلٹر کرسکتا ہے ، اور حکمت عملی کی مجموعی واپسی کو کم کرسکتا ہے۔
یہ حکمت عملی مندرجہ ذیل اصولوں پر مبنی ہے:
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی کے کچھ ممکنہ خطرات بھی ہیں:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
رجحان سے باخبر رہنے والی اوسط اوسط حکمت عملی مجموعی طور پر ایک بہت ہی آسان عملی رجحان کی حکمت عملی ہے۔ اس کے ساتھ ساتھ اس کا خطرہ کنٹرول کرنے کا ایک اچھا اثر بھی ہے۔ اگرچہ اس حکمت عملی میں بہت زیادہ عوامل پر غور نہیں کیا گیا ہے ، اس کے پیرامیٹرز اور اسٹاپ نقصان کے طریقوں کی جانچ پڑتال اور اصلاح کی ضرورت ہے ، لیکن مجموعی طور پر یہ ایک موثر حکمت عملی ہے جس کو سمجھنا اور ایڈجسٹ کرنا آسان ہے۔ اس کی سادہ ٹریڈنگ منطق اور پیرامیٹرز کی ترتیب اس کو مختلف اقسام میں وسیع پیمانے پر لاگو کرتی ہے ، خاص طور پر بٹ کوائن جیسی ڈیجیٹل کرنسیوں کی تجارت کے لئے موزوں ہے۔
/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 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/
// © Inkedlau
//@version=5
strategy('Swing Trend Strategy', overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, commission_value=0.1)
use_short = input.bool(false, 'Open Short Positions?')
exit_type = input.bool(true, 'Exit trade on Moving Average Cross?')
src = input.source(close, 'Source')
len = input.int(200, 'Trend Length')
ma_type = input.string('ema', 'Moving Average Type', options=['sma', 'ema', 'rma', 'wma', 'vwma'], tooltip='Select the type of Moving Average to use to calculate the Trend')
atr_multiplier = input.float(1., 'ATR Threshold', step=0.5, tooltip='Filter the ranging market using the Average True Range')
// ----------------------- DESCRIPTION -----------------------
// THIS SCRIPT IS A TREND FOLLOWING SYSTEM THAT USES A COMBINATION OF MOVING AVERAGE AND AVERAGE TRUE RANGE
// TO SPOT THE TRENDS AND ENTER THE MARKET ACCODINGLY.
// THE MARKET IS CONSIDERED IN AN UPTREND WHEN THE PRICE CLOSES ABOVE THE MOVING AVERAGE + THE AVERAGE TRUE RANGE OF THE LAST 10 PERIODS
// THE MARKET IS CONSIDERED IN AN DOWNTREND WHEN THE PRICE CLOSES BLOW THE MOVING AVERAGE - THE AVERAGE TRUE RANGE OF THE LAST 10 PERIODS
// BY DEFAULT, THE STRATEGY WILL ENTER LONG WHEN AN UPTREND IS SPOTTED, THEN CLOSES WHEN THE PRICE CLOSES BELOW THE MOVING AVERAGE
// THE STRATEGY WILL ENTER SHORT WHEN A DOWNTREND IS SPOTTED, THEN CLOSES WHEN THE PRICE CLOSES ABOVE THE MOVING AVERAGE
// ------------------ INDICATORS CALCULATION------------------
my_ma()=>
ma = close
if ma_type == 'sma'
ma := ta.sma(src, len)
if ma_type == 'ema'
ma := ta.ema(src, len)
if ma_type == 'rma'
ma := ta.rma(src, len)
if ma_type == 'wma'
ma := ta.wma(src, len)
if ma_type == 'vwma'
ma := ta.vwma(src, len)
ma
trend = my_ma()
atr = ta.atr(10)
uptrend = trend + atr * atr_multiplier
downtrend = trend - atr * atr_multiplier
// ---------------- ENTRY AND EXIT CONDITIONS ----------------
open_long = strategy.position_size == 0 and src > uptrend
close_long = exit_type ? strategy.position_size > 0 and src < trend : strategy.position_size > 0 and src < downtrend
open_short = use_short and strategy.position_size == 0 and src < downtrend
close_short = exit_type ? strategy.position_size < 0 and src > trend : strategy.position_size < 0 and src > uptrend
strategy.entry('long', strategy.long, when=open_long)
strategy.close('long', when=close_long)
strategy.entry('short', strategy.short, when=open_short)
strategy.close('short', when=close_short)
// ------------------ PLOTTING AND COLORING ------------------
tcolor = src > uptrend ? color.green : src < downtrend ? color.red : na
ptrend = plot(trend, color=color.blue, linewidth=1)
puptrend = plot(uptrend, color=color.green, linewidth=1)
pdowntrend = plot(downtrend, color=color.red, linewidth=1)
pclose = plot(close, color=na)
fill(puptrend, pclose, color=close > uptrend ? color.green : na, transp = 90)
fill(pdowntrend, pclose, color=close < downtrend ? color.red : na, transp = 90)