ملٹی پیرامیٹر بے ترتیب دولن ذہین رجحان ٹریڈنگ حکمت عملی

STOCH EMA SMA RR SL TP POP
تخلیق کی تاریخ: 2025-01-06 16:09:58 آخر میں ترمیم کریں: 2025-01-06 16:09:58
کاپی: 1 کلکس کی تعداد: 374
1
پر توجہ دیں
1617
پیروکار

ملٹی پیرامیٹر بے ترتیب دولن ذہین رجحان ٹریڈنگ حکمت عملی

جائزہ

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

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

حکمت عملی کا بنیادی حصہ اسٹاکسٹک آسکیلیٹر اور متعدد موونگ ایوریج سسٹم کے ہم آہنگی پر مبنی ہے۔ تجارتی سگنل اس وقت پیدا ہوتا ہے جب K ویلیو پہلے سے طے شدہ اوور بوٹ یا اوور سیلڈ لیول (9315) یا درمیانی سطح (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. retracement کنٹرول میکانزم شامل کیا گیا۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*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)