رفتار اور چلتی اوسط کا مجموعہ طویل حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-29 11:57:18
ٹیگز:

img

جائزہ

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

اصول

جب دونوں شرائط ایک ہی وقت میں پوری ہو جائیں تو، لمبا سفر کریں۔

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

فوائد

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

خطرات

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

اصلاح کی ہدایات

  • منافع لینے اور نقصان روکنے کے اثرات کو بہتر بنانے کے لئے مختلف پیرامیٹرز کی جانچ کی جاسکتی ہے

خلاصہ


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 2h
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/
//@version=4
strategy(shorttitle='(MACD + DMI Scalping with Volatility Stop',title='MACD + DMI Scalping with Volatility Stop by (Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

// Works better on 3h, 1h, 2h, 4h

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true

// DMI and MACD inputs and calculations

[pos_dm, neg_dm, avg_dm] = dmi(14, 14)
[macd, macd_signal, macd_histogram] = macd(close, 12, 26, 9)


Take_profit= ((input (3))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(2.0, "vStop Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)


closeLong = close > longTakeProfit or crossunder(close, vStop)


//Entry 
strategy.entry(id="long", long = true, when = crossover(macd, macd_signal) and pos_dm > neg_dm and window())


//Exit
strategy.close("long", when = closeLong and window())


مزید