ایس ایم اے کراس اوور طویل اور مختصر حکمت عملی جس میں چوٹی کے ریٹیسمنٹ کنٹرول اور خود کار طریقے سے ختم ہونا شامل ہے۔

SMA
تخلیق کی تاریخ: 2024-07-29 14:16:58 آخر میں ترمیم کریں: 2024-07-29 14:16:58
کاپی: 0 کلکس کی تعداد: 555
1
پر توجہ دیں
1617
پیروکار

ایس ایم اے کراس اوور طویل اور مختصر حکمت عملی جس میں چوٹی کے ریٹیسمنٹ کنٹرول اور خود کار طریقے سے ختم ہونا شامل ہے۔

جائزہ

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

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

  1. ٹریڈنگ سگنل پیدا:

    • جب 14 ایس ایم اے پر 28 ایس ایم اے کا سامنا کرنا پڑتا ہے تو ، ایک کثیر سگنل پیدا ہوتا ہے۔
    • جب 14 ایس ایم اے کے نیچے 28 ایس ایم اے کو پار کیا جاتا ہے تو ، ایک کاؤکی سگنل پیدا ہوتا ہے۔
  2. چوٹی پر واپسی کا کنٹرول:

    • اس کے علاوہ، یہ ایک حقیقی وقت میں حکمت عملی کے حقوق اور مفادات کے منحنی خطوط کو ٹریک کرتا ہے، جس میں تاریخی اعلی درجے کی ریکارڈ کی جاتی ہے.
    • جب موجودہ حقوق و مفادات چوٹی سے کم ہوں تو ، واپسی کی حالت میں داخل ہوں ، اور کم سے کم درجے کی ریکارڈنگ کریں۔
    • ریٹرو فی صد کا حساب لگائیں = (چوٹی - وادی کے نیچے) / چوٹی * 100٪
    • اگر واپسی کی فیصد زیادہ سے زیادہ واپسی کی حد سے تجاوز کر جاتی ہے تو ، حکمت عملی نئی پوزیشن کھولنے سے باز آجاتی ہے۔
  3. چوٹی اور وادی کے دورانیے کا تجزیہ:

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

اسٹریٹجک فوائد

  1. رجحانات کی نگرانی اور خطرے کے کنٹرول کے ساتھ مل کر: ایس ایم اے کراسنگ حکمت عملی ایک کلاسیکی رجحان کا سراغ لگانے کا طریقہ ہے ، جبکہ چوٹی کے پیچھے ہٹنے کا کنٹرول خطرے کے انتظام کی ایک اضافی پرت فراہم کرتا ہے۔ اس مجموعہ سے مارکیٹ کے رجحانات کو پکڑنے کے ساتھ ساتھ نیچے جانے والے خطرے کو بھی مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔

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

  3. شفاف خطرے کے اشارے: چوٹی - وادی کے دورانیے کا تجزیہ تفصیلی تاریخی واپسی کی معلومات فراہم کرتا ہے ، جس سے تاجروں کو حکمت عملی کے خطرے کی خصوصیات کے بارے میں بصری طور پر سمجھنے میں مدد ملتی ہے ، جس سے زیادہ باخبر تجارتی فیصلے کرنے میں مدد ملتی ہے۔

  4. خود کار طریقے سے خطرے کا کنٹرول: جب واپسی پہلے سے طے شدہ حد سے تجاوز کر جاتی ہے تو حکمت عملی خود بخود تجارت کو روک دیتی ہے ، یہ طریقہ کار مارکیٹ کے خراب حالات میں مسلسل نقصان سے بچنے کے لئے موثر ہے۔

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

اسٹریٹجک رسک

  1. تاریخی اعداد و شمار پر زیادہ انحصار: ایس ایم اے کراسنگ حکمت عملی تاریخی قیمتوں کے اعداد و شمار پر مبنی ہے ، جو تیزی سے بدلتے ہوئے بازاروں میں رد عمل میں تاخیر کا باعث بن سکتی ہے ، جس سے غلط سگنل ملتا ہے۔

  2. بار بار تجارت: ہنگامہ خیز مارکیٹوں میں ، ایس ایم اے کثرت سے کراس ہوسکتے ہیں ، جس سے زیادہ تجارت اور اعلی قیمتوں کا سبب بنتا ہے۔

  3. ممکنہ بڑے پیمانے پر واپسی: اگرچہ زیادہ سے زیادہ واپسی کنٹرول ہے ، مارکیٹ میں شدید اتار چڑھاو کے دوران ، ایک ہی بڑی کمی سے بڑے نقصانات کا سامنا کرنا پڑتا ہے۔

  4. پیرامیٹر حساسیت: حکمت عملی کی کارکردگی SMA دورانیہ اور واپسی کی حد کے انتخاب پر بہت زیادہ انحصار کرتی ہے ، اور پیرامیٹرز کی غلط ترتیب سے فرضی نتائج پیدا ہوسکتے ہیں۔

  5. تبدیلی کا موقع ضائع کرنا: اس حکمت عملی کو مارکیٹ کے الٹ پلٹ کے مواقع سے محروم کیا جاسکتا ہے جب تجارت کو روکنے کے لئے زیادہ سے زیادہ واپسی کی حد تک پہنچ جاتا ہے۔

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

  1. متحرک پیرامیٹرز کو ایڈجسٹ کریں: مختلف مارکیٹ کے حالات کے مطابق مارکیٹ کی اتار چڑھاؤ کی رفتار کے مطابق SMA سائیکل اور ریٹرو لیول کو ایڈجسٹ کرنے پر غور کیا جاسکتا ہے۔

  2. اضافی مارکیٹ فلٹر شامل کریں: دیگر تکنیکی اشارے یا بنیادی عوامل کے ساتھ مل کر ، جیسے RSI یا حجم ، ممکنہ طور پر جعلی سگنل کو فلٹر کریں۔

  3. اس کے علاوہ، یہ بھی کہا گیا ہے کہ: اس کے بجائے پورے گودام کے آپریشن کے مقابلے میں، یہ ایک واحد فیصلہ کرنے کے خطرے کو کم کرنے کے لئے، گروپوں میں گودام اور گودام کی تعمیر کے لئے ممکن ہے.

  4. ٹوکیو: واپسی کے کنٹرول کی بنیاد پر ، منافع کو لاک کرنے اور مجموعی طور پر منافع کی شرح کو بڑھانے کے لئے متحرک اسٹاپ فنکشن کو شامل کریں۔

  5. فنڈ مینجمنٹ کو بہتر بنانا: اکاؤنٹ کے سائز اور مارکیٹ میں اتار چڑھاؤ پر مبنی متحرک پوزیشن مینجمنٹ کو بہتر طور پر خطرے پر قابو پانے کے ل.

  6. مشین لرننگ الگورتھم متعارف کروانا: مشین لرننگ ٹکنالوجی کا استعمال کرتے ہوئے پیرامیٹرز کے انتخاب اور سگنل جنریشن کے عمل کو بہتر بنانا تاکہ حکمت عملی کی موافقت اور درستگی کو بہتر بنایا جاسکے۔

خلاصہ کریں۔

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

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

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
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/

capital = 10000

//@version=5
strategy(title = "Correct Strategy Peak-Drawdown Cycles [Tradingwhale]", shorttitle = "Peak-Draw [Tradingwhale]", initial_capital = capital, overlay=true, margin_long=100, margin_short=100)

// The code below is from Tradingwhale LLC
/// ==============================================================================
//  Peak-Trough Cycles with Date and Prev. RunUp
// Initialize variables
showTable = input.bool(true, title = "Plot Peak to Bottom Drawdown Cycles table?")
min_trough = input.float(3.0, title = "Define Minimum Drawdown/Trough to Display (%)", minval = 1, maxval = 100, step = 0.5, tooltip = "Peaks and Trough Cycles have to be roped in by either a lookback period or minmimum troughs to show. If you don't then every bar could be a peak or trough/bottom. I've decided to use minimum declines here because lookback seems more arbitrary.")
maxdraw = input.float(40.0, title = "Max Drawdown", minval = 1, maxval = 100, step = 0.5, tooltip = "Define the drawdown level where the srtategy stops executing trades.")

var float equityPeak = na
var float equityTrough = na
var int cycleCount = 0
var bool inDrawdown = false
var float initialCapital = capital
var float prevTrough = initialCapital
var float prevRunUp = na
var bool useLighterGray = true
var int lastYear = na

// Variable to indicate whether the strategy should end
var bool end_strategy = false

// Table to display data
var table resultTable = table.new(position.top_right, 5, 30, bgcolor=#ffffff00, frame_color=#4f4040, frame_width=1)

// Function to convert float to percentage string
f_to_percent(value) =>
    str.tostring(value, "#.##") + "%"

// Function to get month/year string without commas
get_month_year_string() =>
    str.tostring(year) + "/" + str.tostring(month)

// Update the table headers
if (bar_index == 0 and showTable)
    table.cell(resultTable, 0, 0, "Show Min Trough: " + f_to_percent(min_trough), bgcolor=#a8a8a88f, text_size=size.normal)
    table.cell(resultTable, 1, 0, "Cycle Count", bgcolor=#a8a8a88f, text_size=size.normal)
    table.cell(resultTable, 2, 0, "Prev.RunUp(%)", bgcolor=#a8a8a88f, text_size=size.normal)
    table.cell(resultTable, 3, 0, "Drawdown(%)", bgcolor=#a8a8a88f, text_size=size.normal)
    table.cell(resultTable, 4, 0, "Year/Month", bgcolor=#a8a8a88f, text_size=size.normal)

// Track peaks and troughs in equity
if (na(equityPeak) or strategy.equity > equityPeak)
    if (inDrawdown and strategy.equity > equityPeak and not na(equityTrough)) // Confirm end of drawdown cycle
        drawdownPercentage = (equityPeak - equityTrough) / equityPeak * 100
        if drawdownPercentage > min_trough
            cycleCount += 1
            prevRunUp := (equityPeak - prevTrough) / prevTrough * 100
            if cycleCount <= 20 and showTable
                currentYear = year
                if na(lastYear) or currentYear != lastYear
                    useLighterGray := not useLighterGray
                    lastYear := currentYear
                rowColor = useLighterGray ? color.new(color.gray, 80) : color.new(color.gray, 50)
                table.cell(resultTable, 1, cycleCount, str.tostring(cycleCount), bgcolor=rowColor, text_size=size.normal)
                table.cell(resultTable, 2, cycleCount, f_to_percent(prevRunUp), bgcolor=rowColor, text_size=size.normal)
                table.cell(resultTable, 3, cycleCount, f_to_percent(drawdownPercentage), bgcolor=rowColor, text_size=size.normal)
                table.cell(resultTable, 4, cycleCount, get_month_year_string(), bgcolor=rowColor, text_size=size.normal)
            prevTrough := equityTrough
    equityPeak := strategy.equity
    equityTrough := na
    inDrawdown := false
else if (strategy.equity < equityPeak)
    equityTrough := na(equityTrough) ? strategy.equity : math.min(equityTrough, strategy.equity)
    inDrawdown := true

// Calculate if the strategy should end
if not na(equityPeak) and not na(equityTrough)
    drawdownPercentage = (equityPeak - equityTrough) / equityPeak * 100
    if drawdownPercentage >= maxdraw
        end_strategy := true


// This code below is from Tradingview, but with additions where commented (see below)

longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
if (longCondition) and not end_strategy // Add 'and not end_strategy' to your order conditions to automatically end the strategy if max_draw is exceeded/
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
if (shortCondition) and not end_strategy // Add 'and not end_strategy' to your order conditions to automatically end the strategy if max_draw is exceeded/
    strategy.entry("My Short Entry Id", strategy.short)