
یہ حکمت عملی اسٹوکاسٹک اوسلیٹر اور چلتی اوسط کے ساتھ مل کر مارکیٹ میں زیادہ خریدنے اور زیادہ فروخت کرنے کا فیصلہ کرتی ہے اور ٹریڈنگ کی سمت کا تعین کرنے کے لئے چلتی اوسط کی سمت کی طرف اشارہ کرتی ہے۔ جب بے ترتیب oscillators اوور سیل زون میں کراس کرتے ہیں اور حرکت پذیر اوسط اوپر کی طرف بڑھتے ہیں تو حکمت عملی ایک سے زیادہ پوزیشن کھولتی ہے۔ جب بے ترتیب oscillators اوور سیل زون میں کراس کرتے ہیں اور حرکت پذیر اوسط نیچے کی طرف بڑھتے ہیں تو حکمت عملی ایک خالی پوزیشن کھولتی ہے۔
اس حکمت عملی میں بے ترتیب شاک اشارے اور چلتی اوسط کو ملا کر ، مارکیٹ میں اوور بیئر اور اوور سیل کی حالت کو پکڑنے کے ساتھ ، ٹریڈنگ سگنل کو فلٹر کرنے کے لئے اور خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصانات قائم کرنے کے لئے چلتی اوسط کی سمت کا استعمال کیا جاتا ہے۔ حکمت عملی کا نظریہ واضح ، سمجھنے میں آسان اور لاگو کرنا آسان ہے۔ تاہم ، اس حکمت عملی میں کچھ حدود بھی ہیں ، جیسے اشارے کی تاخیر ، بار بار تجارت وغیرہ۔ دیگر تکنیکی اشارے ، اسٹاپ نقصانات کے طریقہ کار کو بہتر بنانے ، متحرک ایڈجسٹ پیرامیٹرز اور پوزیشن مینجمنٹ جیسے طریقوں کو متعارف کرانے سے حکمت عملی کی کارکردگی اور استحکام کو مزید بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2024-04-22 00:00:00
end: 2024-04-29 00:00:00
period: 1m
basePeriod: 1m
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/
// © Pablo_2uc
//@version=5
strategy("Estrategia Stoch + MA c/ SL", 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 = 500
// Tamaño de posición (10% del capital)
positionSize = 1
// Stop Loss (2% del precio de entrada)
stopLossPercent = input.int(2, title="Stop Loss (%)") / 100
// 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)
// Condiciones de entrada en largo y corto
longCondition = ta.crossunder(k, oversold) and ma > ma[1]
shortCondition = ta.crossover(k, overbought) 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")