یہ حکمت عملی کچھی کی تجارت کے تصور کو نککو بیکرز کے مرحلے کے تجزیے کے ساتھ جوڑتی ہے ، جس میں رجحان کی پیروی کے لئے رجحان کی سمت کا تعین کرنے کے لئے مختلف سائیکلوں کے تین حرکت پذیر اوسط استعمال ہوتے ہیں۔ یہ طویل ہوجاتا ہے جب تیز رفتار حرکت پذیر اوسط درمیانی حرکت پذیر اوسط سے تجاوز کرتا ہے اور تینوں حرکت پذیر اوسط ایک ہی اوپر یا نیچے کے رجحان میں ہوتے ہیں۔ یہ مختصر ہوجاتا ہے جب تیز رفتار حرکت پذیر اوسط درمیانی حرکت پذیر اوسط سے نیچے عبور کرتا ہے اور تینوں حرکت پذیر اوسط ایک ہی اوپر یا نیچے کے رجحان میں ہوتے ہیں۔
مختلف سائیکلوں کے تین حرکت پذیر اوسط کا حساب لگائیں: تیز رفتار حرکت پذیر اوسط مدت 8 دن ہے ، درمیانی حرکت پذیر اوسط مدت 21 دن ہے ، اور سست حرکت پذیر اوسط مدت 55 دن ہے۔
داخلہ کی شرائط کا تعین کریں: جب تیز رفتار حرکت پذیر اوسط اوسط کے اوپر عبور کرتا ہے ، اور تینوں حرکت پذیر اوسط اوپر کی طرف بڑھ رہے ہیں تو ، طویل ہوجائیں۔ جب تیز رفتار حرکت پذیر اوسط درمیانی حرکت پذیر اوسط سے نیچے عبور کرتا ہے ، اور تینوں حرکت پذیر اوسط نیچے کی طرف بڑھ رہے ہیں تو ، مختصر ہوجائیں۔
باہر نکلنے کے حالات کا تعین کریں: جب تیز رفتار حرکت پذیر اوسط مخالف سمت میں درمیانے درجے کے حرکت پذیر اوسط کو عبور کرتا ہے تو پوزیشنوں کو بند کریں۔
پوزیشن سائزنگ: فکسڈ پوزیشن سائزنگ کا استعمال کریں ، ہر بار 1 معاہدہ کھولیں۔ اے ٹی آر کا استعمال پوزیشن سائزنگ کو متحرک طور پر ایڈجسٹ کرنے کے لئے بھی کیا جاسکتا ہے۔
تین حرکت پذیر اوسطوں کا استعمال رجحان کی سمت کا تعین کرنے اور جھوٹے بریک آؤٹ سے بچنے میں مدد کرتا ہے۔
منافع کی صلاحیت کے لئے رجحان کی پیروی.
چلتے ہوئے اوسط کا استعمال مستحکم منافع اور نسبتا small کم کھپت کا نتیجہ ہے۔
کنٹرول شدہ سٹاپ نقصان کی حکمت عملی بڑے نقصانات کے امکان کو کم کرتی ہے۔
متعدد چھوٹے نقصانات کا شکار، منافع کی کارکردگی کو کم کرنا.
چلتی اوسط پیچھے رہ جاتی ہے اور رجحان کی تبدیلی کے مقامات کو یاد کر سکتی ہے۔
فکسڈ پوزیشن سائزنگ مؤثر طریقے سے خطرات کو کنٹرول نہیں کر سکتی، مارکیٹ میں اہم اتار چڑھاؤ کے دوران مارجن کال کا سبب بن سکتی ہے۔
پیرامیٹرز کی غلط اصلاح سے زیادہ تجارت ہوتی ہے، تجارتی اخراجات میں اضافہ ہوتا ہے اور سلائڈج ہوتا ہے۔
تجارتی آلہ کی خصوصیات کے مطابق چلتی اوسط مدت کو بہتر بنائیں۔
متحرک طور پر پوزیشن سائزنگ کو ایڈجسٹ کرنے کے لئے اے ٹی آر کا استعمال کریں.
سٹاپ نقصان کی حکمت عملی شامل کریں.
رجحانات کی وشوسنییتا کا تعین کرنے کے لئے تجارتی حجم کے اشارے شامل کریں۔
یہ حکمت عملی روایتی تکنیکی اشارے اور کچھی ٹریڈنگ کے فلسفہ کو مربوط کرتی ہے ، جس میں رجحانات کو ٹریک کرنے کے لئے تین حرکت پذیر اوسط استعمال ہوتے ہیں۔ پیرامیٹر کی مناسب اصلاح کے ساتھ ، یہ اچھی منافع حاصل کرسکتا ہے۔ لیکن اس میں کچھ خطرات بھی ہیں۔ خطرات کو کنٹرول کرنے اور اس مقداری تجارتی حکمت عملی سے طویل مدتی مستحکم منافع حاصل کرنے کے لئے اسٹاپ نقصان ، پوزیشن سائزنگ اور دیگر اقدامات کا استعمال کرنے کی ضرورت ہے۔
/*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