وسائل لوڈ ہو رہے ہیں... لوڈنگ...

کثیر پیرامیٹر اسٹوکاسٹک انٹیلیجنٹ ٹرینڈ ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2025-01-06 16:09:58
ٹیگز:اسٹاکای ایم اےایس ایم اےRRSLٹی پیپی او پی

img

جائزہ

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

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

حکمت عملی کا بنیادی حصہ اسٹوکاسٹک آسکیلیٹر اور متعدد حرکت پذیر اوسط سسٹم کے امتزاج پر مبنی ہے۔ تجارتی سگنل اس وقت پیدا ہوتے ہیں جب K کی قیمت پہلے سے طے شدہ اوور بک / اوور سیلڈ سطحوں (93/15) یا درمیانی سطح (40) کو توڑ دیتی ہے۔ یہ نظام رنگ کی تبدیلیوں (سرخ ممکنہ کمی کی نشاندہی کرتا ہے ، سبز ممکنہ اضافے کی نشاندہی کرتا ہے ، نیلے رنگ میں غیر جانبدار ہوتا ہے) کے ذریعے مارکیٹ کے حالات کو ضعف ظاہر کرتا ہے۔ اس میں رجحان کی تصدیق کے لئے 20 ، 50 ، 100 ، اور 200 پیریڈ کے اشاریہ حرکت پذیر اوسط (EMA) بھی شامل ہیں۔ اس حکمت عملی میں ایک ذہین رسک مینجمنٹ سسٹم شامل ہے جو مختلف رسک انعام تناسب جیسے 1: 1 ، 1: 4 ، اور 1: 8 کی حمایت کرتا ہے۔

حکمت عملی کے فوائد

  1. واضح اور بدیہی سگنلنگ سسٹم جس میں مارکیٹ کی حالت کی فوری شناخت کے لئے رنگین کوڈنگ ہے
  2. متعدد سگنل کی تصدیق کا طریقہ کار غلط سگنل کے خطرے کو کم کرتا ہے
  3. لچکدار رسک مینجمنٹ سسٹم جس میں حسب ضرورت رسک ریٹرن ریشو کی حمایت کی جائے
  4. رجحان کی تصدیق کے لئے متعدد مدت کے چلتے ہوئے اوسط کا انضمام
  5. خودکار سٹاپ نقصان اور منافع لینے کی ترتیبات دستی آپریشن کے خطرے کو کم کرتی ہیں
  6. واضح کوڈ کی ساخت، برقرار رکھنے اور بہتر بنانے کے لئے آسان

حکمت عملی کے خطرات

  1. مختلف مارکیٹوں میں بار بار تجارتی سگنل پیدا کر سکتا ہے
  2. مقررہ زیادہ خرید/زیادہ فروخت کی حد تمام مارکیٹ کے حالات کے مطابق نہیں ہو سکتی
  3. متحرک اوسط نظام مستحکم مارکیٹوں میں پیچھے رہ سکتا ہے
  4. خطرہ کنٹرول کے لئے مناسب سٹاپ نقصان کی ترتیبات کی ضرورت ہے حل میں شامل ہیں: سگنل فلٹرنگ میکانزم شامل کرنا ، متحرک حد کی ایڈجسٹمنٹ ، متحرک اوسط پیرامیٹرز کو بہتر بنانا ، سخت اسٹاپ نقصان پر عمل درآمد

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

  1. مارکیٹ کی اتار چڑھاؤ کی بنیاد پر زیادہ خریدنے / زیادہ فروخت کی سطح کو متحرک طور پر ایڈجسٹ کرنے کے لئے انکولی حد کا نظام متعارف کروانا
  2. سگنل کی تصدیق کے لئے حجم اشارے شامل کریں
  3. جھوٹے سگنلز کو کم کرنے کے لئے سگنل فلٹرنگ کا ذہین طریقہ کار تیار کریں
  4. رجحان کی تشخیص کی درستگی کو بہتر بنانے کے لئے حرکت پذیر اوسط پیرامیٹرز کو بہتر بنائیں
  5. پیرامیٹر کی اصلاح کے لئے مشین لرننگ الگورتھم متعارف کروائیں
  6. ڈراؤنڈ کنٹرول میکانزم شامل کریں

خلاصہ

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


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © petrusvorenusperegrinus

//██████╗ ███████╗████████╗██████╗ ██╗   ██╗███████╗                             
//██╔══██╗██╔════╝╚══██╔══╝██╔══██╗██║   ██║██╔════╝                             
//██████╔╝█████╗     ██║   ██████╔╝██║   ██║███████╗                             
//██╔═══╝ ██╔══╝     ██║   ██╔══██╗██║   ██║╚════██║                             
//██║     ███████╗   ██║   ██║  ██║╚██████╔╝███████║                             
//╚═╝     ╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝ ╚══════╝                             
                                                                               
//██╗   ██╗ ██████╗ ██████╗ ███████╗███╗   ██╗██╗   ██╗███████╗                  
//██║   ██║██╔═══██╗██╔══██╗██╔════╝████╗  ██║██║   ██║██╔════╝                  
//██║   ██║██║   ██║██████╔╝█████╗  ██╔██╗ ██║██║   ██║███████╗                  
//╚██╗ ██╔╝██║   ██║██╔══██╗██╔══╝  ██║╚██╗██║██║   ██║╚════██║                  
// ╚████╔╝ ╚██████╔╝██║  ██║███████╗██║ ╚████║╚██████╔╝███████║                  
//  ╚═══╝   ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝                  
                                                                               
//██████╗ ███████╗██████╗ ███████╗ ██████╗ ██████╗ ██╗███╗   ██╗██╗   ██╗███████╗
//██╔══██╗██╔════╝██╔══██╗██╔════╝██╔════╝ ██╔══██╗██║████╗  ██║██║   ██║██╔════╝
//██████╔╝█████╗  ██████╔╝█████╗  ██║  ███╗██████╔╝██║██╔██╗ ██║██║   ██║███████╗
//██╔═══╝ ██╔══╝  ██╔══██╗██╔══╝  ██║   ██║██╔══██╗██║██║╚██╗██║██║   ██║╚════██║
//██║     ███████╗██║  ██║███████╗╚██████╔╝██║  ██║██║██║ ╚████║╚██████╔╝███████║
//╚═╝     ╚══════╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝

//@version=6
strategy("CM Stochastic POP Method 3", shorttitle="CM_Stochastic POP_M3", overlay=true)

// Stochastic Settings
length = input.int(14, "Stochastic Length", minval=1)
smoothK = input.int(5, "Smooth K", minval=1)

// Risk:Reward Settings
use_rr = input.bool(true, "Use Risk:Reward Ratio")
use_sl = input.bool(true, "Use Stop Loss")  // New input for Stop Loss toggle
rr_options = input.string("1:1", "Risk:Reward Ratio", options=["1:1", "1:4", "1:8"])
stop_percent = input.float(1.0, "Stop Loss (%)", minval=0.1, step=0.1)

// Convert selected R:R ratio to number
get_rr_multiplier(rr) =>
    switch rr
        "1:1" => 1.0
        "1:4" => 4.0
        "1:8" => 8.0
        => 1.0  // default case
rr_ratio = get_rr_multiplier(rr_options)

// Fixed Level Settings
upperLine = 93.0  // Fixed sell level
midLine = 40.0    // Buy/Sell level
lowerLine = 15.0  // Fixed buy level

// EMA Settings
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// Calculate Stochastic with smoothing
k = ta.sma(ta.stoch(close, high, low, length), smoothK)

// Dynamic color based on K value
kColor = k >= upperLine ? color.red :    // Above 93 -> Red
         k <= lowerLine ? color.green :   // Below 15 -> Green
         k <= midLine ? color.green :     // Below 40 -> Green
         color.blue                       // Between 40-93 -> Blue

// Buy Signals:
longCondition1 = ta.crossover(k, lowerLine)   // Cross above 15
longCondition2 = ta.crossover(k, midLine)     // Cross above 40

// Sell Signals:
shortCondition1 = ta.crossunder(k, upperLine) // Cross below 93
shortCondition2 = ta.crossunder(k, midLine)   // Cross below 40

calc_tp_sl(entry_price, is_long) =>
    sl_distance = entry_price * (stop_percent / 100)
    sl = is_long ? entry_price - sl_distance : entry_price + sl_distance
    tp_distance = sl_distance * rr_ratio
    tp = is_long ? entry_price + tp_distance : entry_price - tp_distance
    [sl, tp]

// Long entries
if (longCondition1)
    if (use_rr)
        [sl, tp] = calc_tp_sl(close, true)
        strategy.entry("Long_15", strategy.long)
        if (use_sl)
            strategy.exit("Exit_15", "Long_15", stop=sl, limit=tp)
        else
            strategy.exit("Exit_15", "Long_15", limit=tp)
    else
        strategy.entry("Long_15", strategy.long)

if (longCondition2)
    if (use_rr)
        [sl, tp] = calc_tp_sl(close, true)
        strategy.entry("Long_40", strategy.long)
        if (use_sl)
            strategy.exit("Exit_40", "Long_40", stop=sl, limit=tp)
        else
            strategy.exit("Exit_40", "Long_40", limit=tp)
    else
        strategy.entry("Long_40", strategy.long)

// Short entries
if (shortCondition1)
    if (use_rr)
        [sl, tp] = calc_tp_sl(close, false)
        strategy.entry("Short_93", strategy.short)
        if (use_sl)
            strategy.exit("Exit_93", "Short_93", stop=sl, limit=tp)
        else
            strategy.exit("Exit_93", "Short_93", limit=tp)
    else
        strategy.entry("Short_93", strategy.short)

if (shortCondition2)
    if (use_rr)
        [sl, tp] = calc_tp_sl(close, false)
        strategy.entry("Short_40", strategy.short)
        if (use_sl)
            strategy.exit("Exit_40", "Short_40", stop=sl, limit=tp)
        else
            strategy.exit("Exit_40", "Short_40", limit=tp)
    else
        strategy.entry("Short_40", strategy.short)

// Plot EMAs
plot(ema20, title="EMA 20", color=color.blue, linewidth=1, force_overlay = true)
plot(ema50, title="EMA 50", color=color.yellow, linewidth=1, force_overlay = true)
plot(ema100, title="EMA 100", color=color.orange, linewidth=1, force_overlay = true)
plot(ema200, title="EMA 200", color=color.purple, linewidth=1, force_overlay = true)

// Plot Stochastic line 
plot(k, title="Stochastic", color=kColor, linewidth=2)

// Plot reference lines 
hline(100, title="100 Line", color=color.white, linestyle=hline.style_solid)
hline(upperLine, title="93 Line", color=color.red, linestyle=hline.style_solid)
hline(midLine, title="40 Line", color=color.green, linestyle=hline.style_dashed)
hline(lowerLine, title="15 Line", color=color.green, linestyle=hline.style_solid)
hline(0, title="0 Line", color=color.white, linestyle=hline.style_solid)

متعلقہ

مزید