یہ حکمت عملی ٹرینڈز کو ٹریک کرنے کے لئے ایک ملٹی ٹائم فریم متحرک ٹرینڈ چینل بنانے کے لئے اے ٹی آر اشارے کا استعمال کرتی ہے۔ جب قیمتیں چینل سے گزرتی ہیں تو یہ چینل کو بڑے رجحانات کو پکڑنے کے لئے مستقل طور پر ایڈجسٹ کرکے سگنل تیار کرتی ہے۔
یہ حکمت عملی اپ ٹرینڈ چینل اور ڈاؤن ٹرینڈ چینل بنانے کے لئے اے ٹی آر اشارے کا استعمال کرتی ہے۔ خاص طور پر ، اپ ٹرینڈ چینل لائن اختتامی قیمت مائنس این گنا اے ٹی آر اشارے ہے۔ ڈاؤن ٹرینڈ چینل لائن اختتامی قیمت پلس این گنا اے ٹی آر اشارے ہے۔ این ویلیو پیرامیٹرز کے ذریعے ایڈجسٹ کیا جاسکتا ہے۔
جب قیمت اپ ٹرینڈ چینل سے گزرتی ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب قیمت ڈاؤن ٹرینڈ چینل سے گزرتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ چینل رجحانات کو ٹریک کرنے کے لئے تازہ ترین قیمتوں کی بنیاد پر متحرک طور پر ایڈجسٹ ہوتا ہے۔
اس کے علاوہ ، حکمت عملی میں یہ بھی طے کرنے کے لئے ایک رجحان متغیر کی وضاحت کی گئی ہے کہ آیا موجودہ اپ ٹرینڈ یا ڈاؤن ٹرینڈ میں ہے۔ غلط سگنل پیدا کرنے سے بچنے کے لئے رجحان متغیر چینل لائنوں کے ساتھ کام کرتا ہے۔
بہتری:
مجموعی طور پر یہ ایک مناسب رجحان ٹریکنگ حکمت عملی ہے۔ یہ رجحانات کے ساتھ تجارت کرنے کے لئے متحرک طور پر ایڈجسٹ ہوتا ہے اور اونچائیوں اور فروخت کے نچلے حصے کا پیچھا کرنے سے گریز کرتا ہے۔ پیرامیٹر کی اصلاح اور مناسب بہتری کے ساتھ ، حکمت عملی کے فوائد کو مزید بڑھا اور بہتر نتائج حاصل کرنے کے لئے خطرات کو کم کیا جاسکتا ہے۔
/*backtest start: 2023-01-08 00:00:00 end: 2024-01-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('超级趋势精简优化版', overlay=true) Periods = input(title='ATR周期', defval=10) src = input(hl2, title='价格数据源') Multiplier = input.float(title='ATR 乘数', step=0.1, defval=3.0) changeATR = input(title='更改ATR计算方法', defval=true,tooltip = '默认为art否则sma(ta.tr,ATR周期)') showsignals = input(title='显示买入/卖出信号', defval=false) atr2 = ta.sma(ta.tr, Periods) atr = changeATR ? ta.atr(Periods) : atr2 up = src - Multiplier * atr up1 = nz(up[1], up) up := close[1] > up1 ? math.max(up, up1) : up dn = src + Multiplier * atr dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? math.min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title='上涨趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0)) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal and showsignals ? up : na, title='买点', text='买点', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0)) dnPlot = plot(trend == 1 ? na : dn, title='下跌趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0)) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal and showsignals ? dn : na, title='卖点', text='卖点', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0)) FromMonth = input.int(defval=9, title='From Month', minval=1, maxval=12) FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31) FromYear = input.int(defval=2018, title='From Year', minval=999) ToMonth = input.int(defval=1, title='To Month', minval=1, maxval=12) ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31) ToYear = input.int(defval=9999, title='To Year', minval=999) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = buySignal if longCondition and window() strategy.entry('BUY', strategy.long, comment = '买入') shortCondition = sellSignal if shortCondition and window() strategy.close('BUY',comment = '卖出') buy1 = ta.barssince(buySignal) sell1 = ta.barssince(sellSignal) color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na