سٹاپ لاس اور سٹوکاسٹک آسکیلیٹر فلٹر کے ساتھ مل کر سٹاکاسٹک اوسیلیٹر اور موونگ ایوریج کراس اوور حکمت عملی

MA SMA
تخلیق کی تاریخ: 2024-04-26 16:10:11 آخر میں ترمیم کریں: 2024-04-26 16:10:11
کاپی: 0 کلکس کی تعداد: 847
1
پر توجہ دیں
1617
پیروکار

سٹاپ لاس اور سٹوکاسٹک آسکیلیٹر فلٹر کے ساتھ مل کر سٹاکاسٹک اوسیلیٹر اور موونگ ایوریج کراس اوور حکمت عملی

جائزہ

اس حکمت عملی میں رینڈم شاک اشارے ((Stochastic Oscillator) اور چلتی اوسط ((Moving Average) کا امتزاج کیا گیا ہے۔ اس حکمت عملی میں ٹریڈنگ سگنل پیدا کرنے کے لئے رینڈم اشارے کے اوور بُو اور اوور سیل کے ساتھ ساتھ چلتی اوسط کے رجحانات کو دیکھ کر ٹریڈنگ سگنل پیدا کیے جاتے ہیں۔ جب رینڈم اشارے اوور بائ زون میں اور منتقل اوسط لائن کے نیچے خالی سگنل پیدا کرتے ہیں اور جب اوور سیل زون میں اور منتقل اوسط کے اوپر ہوتے ہیں تو زیادہ سگنل پیدا ہوتے ہیں۔ اس کے علاوہ ، اس حکمت عملی میں رینڈم اشارے فلٹرز بھی متعارف کروائے گئے ہیں ، اور جب رینڈم اشارے کی لائن K 50 سے نیچے ایک خاص تعداد میں K لائن کو برقرار رکھتی ہے تو ، اس کے ساتھ ڈی لائن کے ساتھ کراسنگ بھی اسی طرح کے ٹریڈنگ سگنل پیدا کرسکتی ہے۔ اس حکمت عملی میں خطرے کو کنٹرول کرنے کے لئے اسٹاپ لاس (Stop Loss) بھی ترتیب دیا گیا ہے۔

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

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

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

  3. حساب لگانے کے لئے بے ترتیب اشارے فلٹرز. K لائن 50 سے نیچے ایک مخصوص K لائن برقرار رکھنے کے بعد فلٹر سگنل پیدا کرتی ہے.

  4. ملٹی ہیڈ سگنل پیدا کرنے کی شرائط: بے ترتیب اشارے اوور سیلنگ علاقے میں اوپر کی طرف سے کراس یا بے ترتیب اشارے فلٹر سگنل اور اوپر کی طرف منتقل اوسط.

  5. خالی سر سگنل پیدا کرنے کی شرائط: بے ترتیب اشارے اوور بائڈ زون میں کراس نیچے یا بے ترتیب اشارے فلٹر سگنل اور نیچے کی طرف منتقل اوسط.

  6. ملٹی ہیڈ پیلی پوزیشن کی شرط: بے ترتیب K لائن پر چلتی اوسط کو عبور کریں اور اوسط لائن نیچے کی طرف مڑ جائے۔

  7. خالی سر خالی پوزیشن کی شرط: بے ترتیب K لائن کے نیچے سے گزرنے والی اوسط اور اوسط لائن اوپر کی طرف بڑھتی ہے۔

  8. پوزیشن مینجمنٹ فکسڈ فنڈز کا استعمال کرتے ہوئے ، ڈیفالٹ 10٪۔ جبکہ اسٹاپ نقصان کی ترتیب ، 2٪ ڈیفالٹ۔

طاقت کا تجزیہ

  1. اوور بیئر اوور سیل اور رجحان کی خصوصیات کے ساتھ مل کر ، آپ کو رجحان میں کمی کو روکنے میں مدد مل سکتی ہے۔

  2. بے ترتیب اشارے کے فلٹرز اکثر ہنگامہ خیز حالات میں تجارت سے بچنے کے لئے استعمال کیے جاتے ہیں۔

  3. نقصان کی روک تھام کی ترتیبات واپسی کو کنٹرول کرنے میں مدد کرتی ہیں۔

  4. کوڈ کی ساخت واضح ہے، پیرامیٹرز کو ایڈجسٹ کیا جا سکتا ہے، مزید اصلاح کے لئے موزوں ہے.

خطرے کا تجزیہ

  1. بے ترتیب اشارے میں کچھ تاخیر ہوتی ہے ، اور وہ بہترین خرید و فروخت کے مقامات سے محروم ہوسکتے ہیں۔

  2. ٹرینڈ ٹرنورپمنٹ پوائنٹس میں کرپشن کی درستگی خراب ہے ، اور اسٹاپ نقصان کی فریکوئنسی زیادہ ہوسکتی ہے۔

  3. فکسڈ تناسب فنڈ مینجمنٹ مسلسل نقصانات کی صورت میں پیچھے ہٹ جانے سے زیادہ ہے۔

اصلاح کی سمت

  1. مزید فلٹرنگ شرائط متعارف کروائیں ، جیسے قیمتوں کا رویہ ، دیگر معاون اشارے ، وغیرہ ، سگنل کی درستگی کو بہتر بنانے کے لئے۔

  2. سگنل کو مضبوط اور کمزور تقسیم کریں ، جب مضبوط سگنل ظاہر ہوتا ہے تو پوزیشن میں اضافہ کریں۔

  3. ٹرینڈ ٹرانسمیشن پوائنٹس کے فیصلے کو بہتر بنانے کے لئے، زیادہ سے زیادہ حالات کو پکڑنے کے لئے.

  4. پوزیشن مینجمنٹ کو بہتر بنانے کے لئے ، پوزیشن ایڈجسٹمنٹ کے مقابلے میں فلوٹنگ نقصانات وغیرہ پر غور کیا جاسکتا ہے۔

  5. مختلف پیرامیٹرز کے مجموعے کو آزمائیں اور بہترین تلاش کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"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/
// © Pablo_2uc

//@version=5
strategy("Estrategia Estocástico + MA con Stop Loss y Filtro Estocástico", overlay=true)

// Parámetros del Estocástico
length = input.int(14, title="Longitud Estocástico")
smoothK = input.int(3, title="Suavizado K")
smoothD = input.int(3, title="Suavizado D")
oversold = input.int(20, title="Sobreventa")
overbought = input.int(80, title="Sobrecompra")

// Parámetros de la Media Móvil
maLength = input.int(9, title="Longitud MA")
maSource = input(close, title="Fuente MA")

// Capital inicial
capital = 5000

// Tamaño de posición (10% del capital)
positionSize = capital * 0.10

// Stop Loss (2% del precio de entrada)
stopLossPercent = input.int(2, title="Stop Loss (%)") / 100

// Número de ruedas para el filtro estocástico
filterPeriods = input.int(12, title="Ruedas de Filtro Estocástico")

// Cálculo del Estocástico
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)

// Cálculo de la Media Móvil
ma = ta.sma(maSource, maLength)

// Filtro estocástico
stochasticFilter = ta.sma(k > 50 ? 1 : 0, filterPeriods)

// Condiciones de entrada en largo y corto
longCondition = (ta.crossunder(k, oversold) or ta.crossover(stochasticFilter, 1)) and ma > ma[1]
shortCondition = (ta.crossover(k, overbought) or ta.crossover(stochasticFilter, 1)) and ma < ma[1]

// Condiciones de salida
exitLongCondition = ta.crossover(k, ma) and ma < ma[1]
exitShortCondition = ta.crossunder(k, ma) and ma > ma[1]

// Estrategia
if (longCondition)
    strategy.entry("Long", strategy.long, qty=positionSize)
    strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent))
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=positionSize)
    strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent))

// Cierre de posiciones
if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")