ٹرپل موونگ ایوریج ٹرینڈ فالونگ اسٹریٹجی


تخلیق کی تاریخ: 2024-02-01 11:02:17 آخر میں ترمیم کریں: 2024-02-01 11:02:17
کاپی: 2 کلکس کی تعداد: 600
1
پر توجہ دیں
1617
پیروکار

ٹرپل موونگ ایوریج ٹرینڈ فالونگ اسٹریٹجی

جائزہ

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

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

  1. تین مختلف دورانیوں کی حرکت پذیری اوسط کا حساب لگائیں: تیز رفتار حرکت پذیری اوسط کی مدت 8 دن ہے ، درمیانی رفتار حرکت پذیری اوسط کی مدت 21 دن ہے ، اور سست رفتار حرکت پذیری اوسط کی مدت 55 دن ہے۔

  2. داخلہ کی شرائط کا فیصلہ: جب تیز رفتار حرکت پذیر اوسط پر درمیانی رفتار حرکت پذیر اوسط سے گزرتا ہے اور تینوں حرکت پذیر اوسط اوپر کی طرف بڑھ رہے ہیں تو زیادہ کام کریں۔ جب تیز رفتار حرکت پذیر اوسط کے نیچے درمیانی رفتار حرکت پذیر اوسط سے گزرتا ہے اور تینوں حرکت پذیر اوسط نیچے کی طرف بڑھ رہے ہیں تو خالی کریں۔

  3. باہر نکلنے کی شرائط کا فیصلہ: فاسٹ منتقل اوسط الٹا منتقل اوسط منتقل اوسط عبور کرتے وقت فلیٹ پوزیشن۔

  4. پوزیشن کنٹرول: فکسڈ پوزیشن کا استعمال کرتے ہوئے ، ہر بار جب آپ پوزیشن کھولتے ہیں تو آپ اے ٹی آر کے مطابق پوزیشن کو ایڈجسٹ کرنے کا انتخاب کرسکتے ہیں۔

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

  1. تین حرکت پذیری اوسط کا استعمال کرتے ہوئے رجحان کی سمت کا تعین کرنے میں مدد ملتی ہے اور جھوٹے ٹوٹنے سے بچنے میں مدد ملتی ہے.

  2. رجحانات کو ٹریک کرنے کے لئے، منافع کی صلاحیت بہت زیادہ ہے.

  3. اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس نے اس کی قیمتوں میں بہت زیادہ اضافہ کیا ہے ، اور اس کی قیمتوں میں بہت زیادہ اضافہ ہوا ہے۔

  4. بڑے پیمانے پر نقصانات کے امکانات کو کم کرنے کے لئے کنٹرول شدہ نقصان کی حکمت عملی.

خطرے کا تجزیہ

  1. چھوٹے چھوٹے نقصانات اور کم منافع بخش ہونے کا امکان۔

  2. ایک بار جب آپ نے اس کی جانچ پڑتال کی ہے تو ، آپ کو یہ معلوم ہوگا کہ آپ نے اس کی جانچ پڑتال کی ہے ، اور آپ کو اس کی جانچ پڑتال کرنی ہوگی۔

  3. فکسڈ پوزیشنوں میں خطرہ کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے اور بڑے پیمانے پر مارکیٹ کے جھٹکے کے دوران پوزیشنوں کو ختم کیا جاسکتا ہے.

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

اصلاح کی سمت

  1. ٹریڈنگ کی اقسام کی خصوصیات کے مطابق منتقل اوسط کی مدت کے پیرامیٹرز کو بہتر بنائیں۔

  2. لاگو اتار چڑھاؤ کے اشارے اے ٹی آر متحرک ایڈجسٹ پوزیشنوں

  3. سٹاپ نقصان کی حکمت عملی میں شامل ہونا۔

  4. ٹرانزیکشن حجم کے اشارے کے ساتھ رجحانات کی وشوسنییتا کا اندازہ لگانا۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// LOVE JOY PEACE PATIENCE KINDNESS GOODNESS FAITHFULNESS GENTLENESS SELF-CONTROL 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © JoshuaMcGowan

//@version=4

// 1. Define strategy settings
strategy(title="Triple Moving Average", overlay=true,
     pyramiding=0, initial_capital=1000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)
     
fastMALen = input(title="Fast MA Length", type=input.integer, defval=8)
medMALen  = input(title="Medium MA Length", type=input.integer, defval=21)
slowMALen = input(title="Slow MA Length", type=input.integer, defval=55)

//endMonth = input(title="End Month Backtest", type=input.integer, defval=11)
//endYear  = input(title="End Year Backtest", type=input.integer, defval=2019)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2016, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true

usePosSize = input(title="Use Position Sizing?", type=input.bool, defval=true)
riskPerc   = input(title="Risk %", type=input.float, defval=0.5, step=0.25)

// 2. Calculate strategy values
fastMA = sma(close, fastMALen)
medMA  = sma(close, medMALen)
slowMA = sma(close, slowMALen)

//Position Sizing
riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? floor(riskEquity / atrCurrency) : 1

//Backtest Window
//tradeWindow = (time <= timestamp(endYear, endMonth, 1, 0, 0))

// 3. Determine long trading conditions
enterLong = crossover(fastMA, medMA) and
     (fastMA > slowMA) and (medMA > slowMA) and
     window() 

exitLong = crossunder(fastMA, medMA)

// 4. Code short trading conditions
enterShort = crossunder(fastMA, medMA) and
     (fastMA < slowMA) and (medMA < slowMA) and
     window() 

exitShort = crossover(fastMA, medMA)

// 5. Output strategy data
plot(series=fastMA, color=color.green, title="Fast MA")
plot(series=medMA, color=color.purple, title="Medium MA")
plot(series=slowMA, color=color.red, title="Slow MA",
     linewidth=2)
     
bgColour =
     enterLong and (strategy.position_size < 1) ? color.green :
     enterShort and (strategy.position_size > -1) ? color.red :
     exitLong and (strategy.position_size > 0) ? color.lime :
     exitShort and (strategy.position_size < 0) ? color.orange :
     na

bgcolor(color=bgColour, transp=85)

// 6. Submit entry orders
if (enterLong)
    strategy.entry(id="EL", long=true, qty=1)

if (enterShort)
    strategy.entry(id="ES", long=false, qty=1)

// 7. Submit exit orders
strategy.close_all(when=exitLong and
     (strategy.position_size > 0))
strategy.close_all(when=exitShort and
     (strategy.position_size < 0))

strategy.close_all(when=not window())

//END