اسٹاک کوانٹ ٹریڈنگ کی حکمت عملی جس میں ایکسپونینشل چلتی اوسط کے ساتھ ٹریلنگ اسٹاپ نقصان اور فی صد اسٹاپ نقصان کا امتزاج ہوتا ہے

مصنف:چاؤ ژانگ، تاریخ: 2024-01-03 16:25:54
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

  1. تیز ای ایم اے اور سست ای ایم اے کا حساب لگائیں ، تیز ای ایم اے کی مدت 20 دن اور سست ای ایم اے کی مدت 50 دن ہے۔ جب تیز ای ایم اے سست ای ایم اے سے تجاوز کرتا ہے تو خریدنے کا اشارہ بنائیں ، اور جب تیز ای ایم اے سست ای ایم اے سے تجاوز کرتا ہے تو فروخت کا اشارہ کریں۔

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

  3. اس کے ساتھ ساتھ ، لاگ ان کی قیمت اور ہولڈنگ سمت کی بنیاد پر اسٹاپ نقصان کی قیمت مقرر کریں ، مثال کے طور پر طویل تجارت کے لئے لاگ ان کی قیمت سے 2٪ کم اور مختصر تجارت کے لئے لاگ ان کی قیمت سے 2٪ زیادہ۔ زیادہ سے زیادہ نقصان سے بچنے کے لئے اسٹاپ نقصان کی قیمت برقرار رہتی ہے۔

  4. ٹریلنگ سٹاپ نقصان کی قیمت اور سٹاپ نقصان کی قیمت کا موازنہ کریں، اس تجارت کے لئے حتمی سٹاپ نقصان کے طور پر مارکیٹ کی قیمت کے قریب ایک کا استعمال کریں، سٹاپ نقصان کا حکم بھیجیں.

فوائد

  1. سادہ اور آسان عمل درآمد کرنے کے لئے چلتی اوسط ٹریڈنگ سگنل.

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

  3. فی صد سٹاپ نقصان ہر تجارت کے لئے زیادہ سے زیادہ نقصان کو کنٹرول کرنے کے لئے بدیہی اور آسان ایڈجسٹ ہے.

  4. ٹریلنگ اسٹاپ اور فکسڈ اسٹاپ کا امتزاج دونوں منافع میں تالا لگاتا ہے اور خطرات کو کنٹرول کرتا ہے۔

خطرات اور جوابی اقدامات

  1. چلتی اوسط آسانی سے غلط سگنل پیدا کر سکتے ہیں، حجم کی طرح مزید فلٹرز شامل کریں.

  2. ٹریکنگ سٹاپ کبھی کبھی بہت جلدی ٹرگر، ٹریکنگ فیصد تھوڑا سا آرام.

  3. غلط فکسڈ سٹاپ نقصان کی ترتیب بہت جارحانہ یا قدامت پسند ہو سکتا ہے، ٹیسٹ اور فیصد پیرامیٹر کو ایڈجسٹ کرنے کی ضرورت ہے.

  4. مکینیکل سٹاپ نقصان سے باہر نکلنے سے مارکیٹ کی واپسی کے مواقع سے محروم ہوسکتے ہیں، اسٹاپ ٹرگر کا فیصلہ کرنے کے لئے تکنیکی اشارے شامل کرتے ہیں.

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

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

  2. جھوٹے اشاروں کو فلٹر کرنے کے لیے حجم جیسے اشارے شامل کریں۔

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

  4. مارکیٹ کے حالات کے مطابق ایڈجسٹ کرنے کے لئے موافقت پذیر رکاوٹوں کی کوشش کریں.

  5. سٹاپ نقصان کا وقت طے کرنے کے لئے RSI جیسے اشارے شامل کریں.

خلاصہ

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


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wouterpruym1828

//@version=5
strategy(title=" Combining Trailing Stop and Stop loss (% of instrument price)",
     overlay=true, pyramiding=1, shorttitle="TSL&SL%")

//INDICATOR SECTION

// Indicator Input options+
i_FastEMA = input.int(title = "Fast EMA period", minval = 0, defval = 20)
i_SlowEMA = input.int(title = "Slow EMA period", minval = 0, defval = 50)
     
// Calculate moving averages
fastEMA = ta.ema(close, i_FastEMA)
slowEMA = ta.ema(close, i_SlowEMA)

// Plot moving averages
plot(fastEMA, title="Fast SMA", color=color.blue)
plot(slowEMA, title="Slow SMA", color=color.orange)




//STRATEGY SECTION  

// Calculate trading conditions
buy  = ta.crossover(fastEMA, slowEMA)
sell = ta.crossunder(fastEMA, slowEMA)

// STEP 1:
// Configure trail stop loss level with input options (optional)

longTrailPerc = input.float(title="Long Trailing Stop (%)", minval=0.0, step=0.1, defval=7) * 0.01

shortTrailPerc = input.float(title="Short Trailing Stop (%)", minval=0.0, step=0.1, defval=7) * 0.01

//Configure stop loss level with input options (optional)

longStopPerc = input.float(title="Long Stop Loss (%)", minval=0.0, step=0.1, defval=2)*0.01

shortStopPerc = input.float(title="Short Stop Loss (%)", minval=0.0, step=0.1, defval=2)*0.01


// STEP 2:
// Determine trail stop loss prices
longTrailPrice = 0.0, shortTrailPrice = 0.0

longTrailPrice := if (strategy.position_size > 0)
    stopValue = high * (1 - longTrailPerc)
    math.max(stopValue, longTrailPrice[1])
else
    0

shortTrailPrice := if (strategy.position_size < 0)
    stopValue = low * (1 + shortTrailPerc)
    math.min(stopValue, shortTrailPrice[1])
else
    999999

// Determine stop loss prices
entryPrice = 0.0

entryPrice := strategy.opentrades.entry_price(strategy.opentrades - 1)


longLossPrice = entryPrice * (1 - longStopPerc)

shortLossPrice = entryPrice * (1 + shortStopPerc)


// Plot stop loss values for confirmation

plot(series=(strategy.position_size > 0) ? longTrailPrice : na,
     color=color.fuchsia, style=plot.style_cross,
     linewidth=2, title="Long Trail Stop")
plot(series=(strategy.position_size < 0) ? shortTrailPrice : na,
     color=color.fuchsia, style=plot.style_cross,
     linewidth=2, title="Short Trail Stop")

plot(series=(strategy.position_size > 0) ? longLossPrice : na,
     color=color.olive, style=plot.style_cross,
     linewidth=2, title="Long Stop Loss")
plot(series=(strategy.position_size < 0) ? shortLossPrice : na,
     color=color.olive, style=plot.style_cross,
     linewidth=2, title="Short Stop Loss")

// Submit entry orders
if (buy)
    strategy.entry("Buy", strategy.long)

if (sell)
    strategy.entry("Sell", strategy.short)


//Evaluating trailing stop or stop loss to use

longStopPrice = longTrailPrice < longLossPrice ? longLossPrice : longTrailPrice

shortStopPrice = shortTrailPrice > shortLossPrice ? shortLossPrice : shortTrailPrice

// STEP 3:
// Submit exit orders for stop price

if (strategy.position_size > 0)
    strategy.exit(id="Buy Stop", stop=longStopPrice)

if (strategy.position_size < 0)
    strategy.exit(id="Sell Stop", stop=shortStopPrice)


مزید