Myo_LS_D مقداری حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-15 14:56:03
ٹیگز:

img

جائزہ

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

اصول

حکمت عملی بنیادی طور پر ایک رجحان فیصلہ ماڈیول، طویل پوزیشن ماڈیول، مختصر پوزیشن ماڈیول، ٹریکنگ سٹاپ منافع ماڈیول وغیرہ پر مشتمل ہے.

  1. ٹرینڈ ججمنٹ ماڈیول ڈونچین چینل کا استعمال مجموعی طور پر رجحان کی سمت کا تعین کرنے کے لئے کرتا ہے۔ طویل عرصے تک جانے کی شرط ایک بڑھتی ہوئی رجحان ہے ، جبکہ مختصر ہونے کے لئے نیچے کی رجحان کی ضرورت ہوتی ہے۔

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

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

  4. سٹاپ نقصان کی ترتیب میں اسٹاپ نقصان کو بڑھا ہوا سمجھا جاتا ہے تاکہ اسٹاپ نقصان کا نقطہ معاونت کی سطح سے دور رکھا جاسکے تاکہ ناک آؤٹ ہونے سے بچ سکے۔

فوائد کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ الگ الگ طویل اور مختصر پوزیشن کی تعمیر اور ٹریکنگ اسٹاپ منافع کی حکمت عملی ہے۔ خاص طور پر یہ بنیادی طور پر درج ذیل میں شامل ہے:

  1. الگ الگ لمبی اور مختصر پوزیشنیں یکطرفہ رجحان ٹریڈنگ کے مواقع پر قبضہ کرکے منافع کے مواقع کو زیادہ سے زیادہ کرسکتی ہیں۔

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

  3. بڑے پیمانے پر رکنے سے ناک آؤٹ ہونے کا امکان کم ہوسکتا ہے اور نقصانات کا خطرہ کم ہوسکتا ہے۔

خطرہ اور حل

اس حکمت عملی کے اہم خطرات مندرجہ ذیل نکات میں مرکوز ہیں:

  1. غلط رجحان کا فیصلہ مخالف پوزیشنوں اور نقصانات کا باعث بن سکتا ہے۔ ڈونچین پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کرکے یا فیصلے کے ل other دوسرے اشارے شامل کرکے اصلاح حاصل کی جاسکتی ہے۔

  2. اسٹاپ منافع کو ٹریک کرنا بہت جارحانہ ہے اور فوائد کو برقرار رکھنے کے قابل ہونے کے بغیر منافع کو قبل از وقت روک سکتا ہے۔ اسٹاپ منافع کی حرکت پذیر اوسط کے مابین فاصلے کو مناسب طریقے سے بڑھا کر اصلاح حاصل کی جاسکتی ہے۔

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

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

اس حکمت عملی کے لئے اصلاح کی اہم سمتیں یہ ہیں:

  1. فیصلے کی درستگی کو بہتر بنانے کے لئے رجحان فیصلے کے ماڈیول کو بہتر بنائیں۔ مزید اشارے جیسے ایم اے سی ڈی کو جوڑنے پر غور کریں۔

  2. ٹریکنگ اسٹاپ منافع کے طریقہ کار کو ایڈجسٹ کریں تاکہ منافع کی جگہ کو مزید وسعت دی جاسکے۔ مثال کے طور پر ، اسٹاپ منافع کی لائنوں کو متناسب طور پر منتقل کریں۔

  3. سٹاپ نقصان کی حد کو بڑھانا یا سکڑنے کی روک تھام پر غور کرنے سے ناک آؤٹ ہونے کا امکان مزید کم ہوسکتا ہے۔

  4. مختلف اقسام کے مختلف پیرامیٹرز ہوتے ہیں۔ حکمت عملی کی واپسی کو مزید بہتر بنانے کے لئے تربیت کے ذریعے پیرامیٹرز کے بہترین مجموعے حاصل کیے جاسکتے ہیں۔

خلاصہ

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


/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 4h
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/
// © agresiynin

//@version=5
// ©Myo_Pionex
strategy(
 title                  =   "Myo_simple strategy_LS_D",
 shorttitle             =   "Myo_LS_D",
 overlay                =   true )


// var
lowest_price = ta.lowest(low, 200)
highest_price = ta.highest(high, 200)
min_800 = ta.lowest(low, 800)
max_800 = ta.highest(high, 800)
tp_target_L = min_800 + (max_800 - min_800) * math.rphi
tp_target_S = max_800 - (max_800 - min_800) * math.rphi
sl_length_L = input.int(100, "做多的止損長度", minval = 50, maxval = 300, step = 50)
sl_length_S = input.int(100, "做空的止損長度", minval = 50, maxval = 300, step = 50)
sl_L = lowest_price * (1 - 0.005)
sl_S = highest_price * (1 + 0.005)
rrr_L = tp_target_L - sl_L / sl_L
rrr_S = ta.lowest(low, 800) + ta.highest(high, 800) - ta.lowest(low, 800) * math.rphi / ta.highest(high, 200) + 0.005 * ta.highest(high, 200) - ta.lowest(low, 200) - 0.005 * ta.lowest(low, 200)
smalen1 = input.int(10, "做多追蹤止盈SMA長度1", options = [5, 10, 20, 40, 60, 80])
smalen2 = input.int(20, "做多追蹤止盈SMA長度2", options = [5, 10, 20, 40, 60, 80])
smalen1_S = input.int(5, "做空追蹤止盈SMA長度1", options = [5, 10, 20, 40, 60, 80])
smalen2_S = input.int(10, "做空追蹤止盈SMA長度2", options = [5, 10, 20, 40, 60, 80])
TrendLength_L = input.int(400, "做多趨勢線", options = [100, 200, 300, 400, 500])
TrendLength_S = input.int(300, "做空趨勢線", options = [100, 200, 300, 400, 500])
SMA1 = ta.sma(close, smalen1)
SMA2 = ta.sma(close, smalen2)
SMA1_S = ta.sma(close, smalen1_S)
SMA2_S = ta.sma(close, smalen2_S)
shortlength = input.int(20, "短期均價K線數量")
midlength = input.int(60, "中期均價K線數量")
longlength = input.int(120, "長期均價K線數量")
ShortAvg = math.sum(close, shortlength)/shortlength
MidAvg = math.sum(close, midlength)/midlength
LongAvg = math.sum(close, longlength)/longlength

// Trend
basePeriods = input.int(8, minval=1, title="趨勢基準線")
basePeriods_Short = input.int(26, "做空基準線")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
baseLine = donchian(basePeriods)
baseLine_Short = donchian(basePeriods_Short)
trend = request.security(syminfo.tickerid, "D", baseLine)
isUptrend = false
isDowntrend = false
baseLine_D = request.security(syminfo.tickerid, "D", baseLine)
plot(baseLine_D, color=#B71C1C, title="趨勢基準線")
if close[0] > baseLine_D
    isUptrend := true
if close[0] < baseLine_Short
    isDowntrend := true
// Long
// Condition
// entry
con_a = low > lowest_price ? 1 : 0
con_b = high > highest_price ? 1 : 0
con_c = close[0] > ta.sma(close, TrendLength_L) ? 1 : 0
con_d = isUptrend ? 1 : 0
con_e = rrr_L > 3 ? 1 : 0
con_a1 = close[0] > ShortAvg[shortlength] ? 1 : 0
con_b1 = close[0] > MidAvg[midlength] ? 1 : 0

// close
con_f = ta.crossunder(close, SMA1) and ta.crossunder(close, SMA2) ? 1 : 0
con_g = close < ta.lowest(low, sl_length_L)[1] * (1 - 0.005) ? 1 : 0

// exit
con_h = tp_target_L

// Main calculation
LongOpen = false
AddPosition_L = false

if con_a + con_b + con_c + con_e + con_a1 + con_b1 >= 4 and con_d >= 1
    LongOpen := true
// Short
// Condition
// entry
con_1 = high < highest_price ? 1 : 0
con_2 = low < lowest_price ? 1 : 0
con_3 = close[0] < ta.sma(close, TrendLength_S) ? 1 : 0
con_4 = isDowntrend ? 1 : 0
con_5 = rrr_S > 3 ? 1 : 0
con_11 = close[0] < ShortAvg[shortlength] ? 1 : 0
con_12 = close[0] < MidAvg[midlength] ? 1 : 0

// close
con_6 = ta.crossover(close, SMA1_S) and ta.crossover(close, SMA2_S) ? 1 : 0
con_7 = close > ta.highest(high, sl_length_S)[1] * (1 + 0.005) ? 1 : 0

// exit
con_8 = tp_target_S

// Main calculation
ShortOpen = false
AddPosition_S = false

if con_1 + con_2 + con_3 + con_4 + con_5 + con_11 + con_12 >= 5
    ShortOpen := true

//
// execute
//
strategy.initial_capital = 50000
if strategy.position_size == 0
    if LongOpen
        strategy.entry("Long Open" , strategy.long , comment= "Long Open " + str.tostring(close[0]), qty=strategy.initial_capital/close[0])

if strategy.position_size > 0
    if (con_f > 0 or con_g > 0 or ShortOpen) and close <= baseLine_D
        strategy.close_all(comment="Close Long " + str.tostring(close[0]))

if strategy.position_size == 0
    if ShortOpen
        strategy.entry("Short Open" , strategy.short , comment= "Short Open " + str.tostring(close[0]), qty=strategy.initial_capital/close[0])

if strategy.position_size < 0
    if (con_6 > 0 or con_7 > 0 or LongOpen) and close >= baseLine_D
        strategy.close_all(comment="Close Short " + str.tostring(close[0]))


plot(ta.sma(close, TrendLength_L), color=#e5c212, title="LTradeTrend")
plot(ta.sma(close, TrendLength_S), color=#1275e5, title="STradeTrend")
plot(SMA1, "SMA1", color = color.lime, linewidth = 2)
plot(SMA2, "SMA2", color = color.rgb(255, 0, 255), linewidth = 2)

مزید