حکمت عملی کے بعد مومینٹم بریک آؤٹ ٹرینڈ


تخلیق کی تاریخ: 2023-11-06 09:37:44 آخر میں ترمیم کریں: 2023-11-06 09:56:20
کاپی: 0 کلکس کی تعداد: 698
1
پر توجہ دیں
1617
پیروکار

حکمت عملی کے بعد مومینٹم بریک آؤٹ ٹرینڈ

جائزہ

اس حکمت عملی میں رجحانات کی سمت کی نشاندہی کرنے کے لئے متعدد تکنیکی اشارے کا استعمال کیا گیا ہے ، اور رجحانات کی رفتار میں اضافے کے بعد اس کا سراغ لگایا گیا ہے ، تاکہ اضافی منافع حاصل کیا جاسکے۔

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

  1. ڈونچیان چینل کا استعمال کرتے ہوئے مجموعی رجحان کی سمت کا تعین کریں۔ جب قیمت اس چینل کو توڑ دیتی ہے تو ، اس بات کی تصدیق کریں کہ رجحان میں تبدیلی واقع ہوئی ہے۔

  2. Hull Moving Average رجحان کی سمت کا تعین کرنے میں معاون ہے۔ یہ اشارے قیمت کی تبدیلیوں کے لئے حساس ہے ، اور اس سے رجحان کی تبدیلی کو پہلے سے ہی دیکھا جاسکتا ہے۔

  3. نصف مدار نظام خرید و فروخت کے سگنل جاری کرتا ہے۔ یہ نظام قیمت کے چینل اور اوسط حقیقی اتار چڑھاو کی حد پر مبنی ہے ، جس سے جھوٹی توڑ سے بچا جاسکتا ہے۔

  4. جب Donchian چینل، ہل اشارے اور نیم مدار نظام ایک ساتھ سگنل دیتے ہیں، تو یہ فیصلہ کیا جاتا ہے کہ رجحان میں ایک طاقتور قوت کی خرابی ہوتی ہے، اس وقت میدان میں داخل ہوتا ہے۔

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

طاقت کا تجزیہ

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

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

  • سخت نقصان ، فنڈز کی حفاظت کو یقینی بنائیں۔ ایک بار جب اشارے نے الٹا اشارہ کیا تو ، نقصان کو روکنے سے بچنے کے ل immediately فوری طور پر نقصان کو روکیں۔

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

  • یہ سمجھنے اور لاگو کرنے کے لئے آسان ہے ، اور ابتدائی افراد بھی اس پر قابو پاسکتے ہیں۔ اشارے اور شرائط کا مجموعہ سادہ اور واضح ہے ، اور اس پر عمل درآمد کرنا آسان ہے۔

خطرے کا تجزیہ

  • ٹرینڈ کے ابتدائی مواقع سے محروم ہونا۔ دیر سے داخل ہونا ، ابتدائی اضافے کو پکڑنا ناممکن ہے۔

  • توڑنے میں ناکامی نقصانات کو واپس بلائے گی۔ داخلے کے بعد توڑنے میں ناکامی اور الٹ ہونے کا امکان ہے ، جس سے نقصان ہوتا ہے۔

  • اشارے غلط سگنل بھیجتے ہیں۔ پیرامیٹرز کی غلط ترتیب کی وجہ سے ، اشارے کا فیصلہ غلط ہوسکتا ہے۔

  • تجارت کی ایک محدود تعداد۔ صرف واضح رجحانات کے خلاف ورزی پر ہی داخل ہوں ، سالانہ تجارت کی ایک محدود تعداد۔

اصلاح کی سمت

  • پیرامیٹرز کے مجموعے کو بہتر بنائیں۔ مختلف پیرامیٹرز کی جانچ کر کے بہترین مجموعہ تلاش کریں۔

  • اسٹاپ نقصان کی لکیری واپسی کی شرائط میں اضافہ کریں۔ ٹرینڈ کے مواقع سے محروم ہونے سے بچنے کے لئے جلد سے جلد اسٹاپ نقصان سے بچیں۔

  • دوسرے اشارے فلٹر شامل کریں۔ جیسے MACD ، KDJ وغیرہ معاون فیصلے ، غلط سگنل کو کم کریں۔

  • ٹرانزیکشن ٹائم فریم کو بہتر بنائیں۔ مختلف ٹائم فریم پیرامیٹرز کو بہتر بنایا جاسکتا ہے۔

  • فنڈز کے استعمال کی کارکردگی کو بڑھانا۔ لیوریج ، فکسڈ انویسٹمنٹ وغیرہ کے ذریعہ فنڈز کے استعمال کی کارکردگی کو بہتر بنانا۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 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/
// © kgynofomo

// @version=5
strategy(title="[Salavi] | Andy Super Pro Strategy",overlay = true)

//Doinchian Trend Ribbon
dlen = input.int(defval=30, minval=10)

dchannel(len) =>
    float hh = ta.highest(len)
    float ll = ta.lowest(len)

    int trend = 0
    trend := close > hh[1] ? 1 : close < ll[1] ? -1 : nz(trend[1])
    trend

dchannelalt(len, maintrend) =>
    float hh = ta.highest(len)
    float ll = ta.lowest(len)

    int trend = 0
    trend := close > hh[1] ? 1 : close < ll[1] ? -1 : nz(trend[1])
    maintrend == 1 ? trend == 1 ? #00FF00ff : #00FF009f : maintrend == -1 ? trend == -1 ? #FF0000ff : #FF00009f : na

maintrend = dchannel(dlen)
donchian_bull = maintrend==1
donchian_bear = maintrend==-1


//Hulls
src = input(hlc3, title='Source')
modeSwitch = input.string('Hma', title='Hull Variation', options=['Hma', 'Thma', 'Ehma'])
length = input(55, title='Length')
lengthMult = input(1.0, title='Length multiplier ')

useHtf = false
htf = '240'

switchColor = true
candleCol = false
visualSwitch = true
thicknesSwitch = 1
transpSwitch = 40

//FUNCTIONS
//HMA
HMA(_src, _length) =>
    ta.wma(2 * ta.wma(_src, _length / 2) - ta.wma(_src, _length), math.round(math.sqrt(_length)))
//EHMA    
EHMA(_src, _length) =>
    ta.ema(2 * ta.ema(_src, _length / 2) - ta.ema(_src, _length), math.round(math.sqrt(_length)))
//THMA    
THMA(_src, _length) =>
    ta.wma(ta.wma(_src, _length / 3) * 3 - ta.wma(_src, _length / 2) - ta.wma(_src, _length), _length)

//SWITCH
Mode(modeSwitch, src, len) =>
    modeSwitch == 'Hma' ? HMA(src, len) : modeSwitch == 'Ehma' ? EHMA(src, len) : modeSwitch == 'Thma' ? THMA(src, len / 2) : na

//OUT
_hull = Mode(modeSwitch, src, int(length * lengthMult))
HULL = useHtf ? request.security(syminfo.ticker, htf, _hull) : _hull
MHULL = HULL[0]
SHULL = HULL[2]

//COLOR
hullColor = switchColor ? HULL > HULL[2] ? #00ff00 : #ff0000 : #ff9800
hull_bull = HULL > HULL[2]
bull_start = hull_bull and hull_bull[1]==false
hull_bear = HULL < HULL[2]
bear_start = hull_bear and hull_bear[1]==false

barcolor(color=candleCol ? switchColor ? hullColor : na : na)

//halftrend
amplitude = input(title='Amplitude', defval=2)
channelDeviation = input(title='Channel Deviation', defval=2)
// showArrows = input(title='Show Arrows', defval=true)
// showChannels = input(title='Show Channels', defval=true)

var int trend = 0
var int nextTrend = 0
var float maxLowPrice = nz(low[1], low)
var float minHighPrice = nz(high[1], high)

var float up = 0.0
var float down = 0.0
float atrHigh = 0.0
float atrLow = 0.0
float arrowUp = na
float arrowDown = na

atr2 = ta.atr(100) / 2
dev = channelDeviation * atr2

highPrice = high[math.abs(ta.highestbars(amplitude))]
lowPrice = low[math.abs(ta.lowestbars(amplitude))]
highma = ta.sma(high, amplitude)
lowma = ta.sma(low, amplitude)

if nextTrend == 1
    maxLowPrice := math.max(lowPrice, maxLowPrice)

    if highma < maxLowPrice and close < nz(low[1], low)
        trend := 1
        nextTrend := 0
        minHighPrice := highPrice
        minHighPrice
else
    minHighPrice := math.min(highPrice, minHighPrice)

    if lowma > minHighPrice and close > nz(high[1], high)
        trend := 0
        nextTrend := 1
        maxLowPrice := lowPrice
        maxLowPrice

if trend == 0
    if not na(trend[1]) and trend[1] != 0
        up := na(down[1]) ? down : down[1]
        arrowUp := up - atr2
        arrowUp
    else
        up := na(up[1]) ? maxLowPrice : math.max(maxLowPrice, up[1])
        up
    atrHigh := up + dev
    atrLow := up - dev
    atrLow
else
    if not na(trend[1]) and trend[1] != 1
        down := na(up[1]) ? up : up[1]
        arrowDown := down + atr2
        arrowDown
    else
        down := na(down[1]) ? minHighPrice : math.min(minHighPrice, down[1])
        down
    atrHigh := down + dev
    atrLow := down - dev
    atrLow

ht = trend == 0 ? up : down

var color buyColor = color.blue
var color sellColor = color.red

htColor = trend == 0 ? buyColor : sellColor
// htPlot = plot(ht, title='HalfTrend', linewidth=2, color=htColor)

// atrHighPlot = plot(showChannels ? atrHigh : na, title='ATR High', style=plot.style_circles, color=color.new(sellColor, 0))
// atrLowPlot = plot(showChannels ? atrLow : na, title='ATR Low', style=plot.style_circles, color=color.new(buyColor, 0))

// fill(htPlot, atrHighPlot, title='ATR High Ribbon', color=color.new(sellColor, 90))
// fill(htPlot, atrLowPlot, title='ATR Low Ribbon', color=color.new(buyColor, 90))

HalfTrend_buySignal = not na(arrowUp) and trend == 0 and trend[1] == 1
HalfTrend_sellSignal = not na(arrowDown) and trend == 1 and trend[1] == 0

// plotshape(showArrows and buySignal ? atrLow : na, title='Arrow Up', style=shape.triangleup, location=location.absolute, size=size.tiny, color=color.new(buyColor, 0))
// plotshape(showArrows and sellSignal ? atrHigh : na, title='Arrow Down', style=shape.triangledown, location=location.absolute, size=size.tiny, color=color.new(sellColor, 0))




//ema
filter_ema = ta.ema(close,200)
ema_bull = close>filter_ema
ema_bear = close<filter_ema

atr_length = input.int(7)
atr = ta.atr(atr_length)
atr_rsi_length = input.int(50)
atr_rsi = ta.rsi(atr,atr_rsi_length)
atr_valid = atr_rsi>50

longCondition = bull_start and atr_valid
shortCondition = bear_start and atr_valid

Exit_long_condition = shortCondition
Exit_short_condition = longCondition

if longCondition
    strategy.entry("Andy Buy",strategy.long, limit=close,comment="Andy Buy Here")

if Exit_long_condition
    strategy.close("Andy Buy",comment="Andy Buy Out")
    // strategy.entry("Andy fandan Short",strategy.short, limit=close,comment="Andy 翻單 short Here")
    // strategy.close("Andy fandan Buy",comment="Andy short Out")


if shortCondition
    strategy.entry("Andy Short",strategy.short, limit=close,comment="Andy short Here")


// strategy.exit("STR","Long",stop=longstoploss)
if Exit_short_condition
    strategy.close("Andy Short",comment="Andy short Out")
    // strategy.entry("Andy fandan Buy",strategy.long, limit=close,comment="Andy 翻單 Buy Here")
    // strategy.close("Andy fandan Short",comment="Andy Buy Out")




inLongTrade = strategy.position_size > 0
inLongTradecolor = #58D68D
notInTrade = strategy.position_size == 0
inShortTrade = strategy.position_size < 0

// bgcolor(color = inLongTrade?color.rgb(76, 175, 79, 70):inShortTrade?color.rgb(255, 82, 82, 70):na)
plotshape(close!=0,location = location.bottom,color = inLongTrade?color.green:inShortTrade?color.red:na)


plotshape(longCondition, title='Buy', text='Andy Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(shortCondition, title='Sell', text='Andy Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)

Fi1 = plot(MHULL, title='MHULL', color=hullColor, linewidth=thicknesSwitch, transp=50)
Fi2 = plot(SHULL, title='SHULL', color=hullColor, linewidth=thicknesSwitch, transp=50)

fill(Fi1, Fi2, title='Band Filler', color=hullColor, transp=transpSwitch)