یہ حکمت عملی چلتی اوسط کے ترتیب کی بنیاد پر رجحان کی سمت کا تعین کرنے کے لئے چلتی اوسط کے تین مجموعے کا استعمال کرتی ہے ، تاکہ رجحان کی پیروی حاصل کی جاسکے۔ جب تیز رفتار اوسط ، درمیانی چلتی اوسط ، اور سست چلتی اوسط ترتیب میں ترتیب دیا جاتا ہے تو طویل ہوجائیں۔ جب سست چلتی اوسط ، درمیانی چلتی اوسط ، اور تیز چلتی اوسط ترتیب میں ترتیب دیا جاتا ہے تو مختصر ہوجائیں۔
اس حکمت عملی میں مختلف ادوار کے ساتھ تین حرکت پذیر اوسط استعمال کیے جاتے ہیں ، جن میں تیز رفتار حرکت پذیر اوسط ، درمیانی حرکت پذیر اوسط اور سست حرکت پذیر اوسط شامل ہیں۔
داخلے کی شرائط:
باہر نکلنے کے حالات:
یہ حکمت عملی سادہ اور براہ راست ہے، جس میں مضبوط رجحان کے ساتھ مارکیٹوں کے لئے موزوں رجحان کے بعد ٹریڈنگ کے لئے مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے تین چلتی اوسط کا استعمال کیا جاتا ہے.
ٹریڈنگ کے بعد ٹرینڈ کی سمت کا تعین کرنے کے لئے ٹرپل موونگ ایوریج ٹریڈنگ کی حکمت عملی میں واضح اور سمجھنے میں آسان منطق ہے ، جو ٹریڈنگ کے بعد سادہ رجحان کی سمت کا تعین کرنے کے لئے موونگ ایوریجز کا استعمال کرتی ہے۔ اس کا فائدہ یہ ہے کہ اس کا نفاذ آسان ہے ، اور ایم اے کی مدت کے پیرامیٹرز کو ایڈجسٹ کرنا مختلف دوروں کے مارکیٹ کے حالات کے مطابق ہوسکتا ہے۔ تاہم ، غلط اشاروں کے کچھ خطرات بھی ہیں ، جن کو غیر ضروری نقصانات کو کم کرنے اور حکمت عملی کی منافع بخش صلاحیت کو بہتر بنانے کے ل other دوسرے اشارے یا حالات کو شامل کرکے بہتر بنایا جاسکتا ہے۔ مجموعی طور پر ، یہ حکمت عملی رجحان کی تجارت میں دلچسپی رکھنے والے ابتدائی افراد کے لئے سیکھنے اور مشق کرنے کے لئے موزوں ہے۔
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m 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/ // © Jompatan //@version=5 strategy('Strategy Triple Moving Average', overlay=true, initial_capital = 1000, commission_value=0.04, max_labels_count=200) //INPUTS mov_ave = input.string(defval="EMA", title='Moving Average type:', options= ["EMA", "SMA"]) period_1 = input.int(9, title='Period 1', inline="1", group= "============== Moving Average Inputs ==============") period_2 = input.int(21, title='Period 2', inline="2", group= "============== Moving Average Inputs ==============") period_3 = input.int(50, title='Period 3', inline="3", group= "============== Moving Average Inputs ==============") source_1 = input.source(close, title='Source 1', inline="1", group= "============== Moving Average Inputs ==============") source_2 = input.source(close, title='Source 2', inline="2", group= "============== Moving Average Inputs ==============") source_3 = input.source(close, title='Source 3', inline="3", group= "============== Moving Average Inputs ==============") //EXIT CONDITIONS exit_ma = input.bool(true, title= "Exit by Moving average condition", group="================ EXIT CONDITIONS ================") exit_TPSL = input.bool(false, title= "Exit by Take Profit and StopLoss", group="================ EXIT CONDITIONS ================") TP = input.int(12, title='Take Profit', step=1, group="================ EXIT CONDITIONS ================") SL = input.int(1, title='Stop Loss', step=1, group="================ EXIT CONDITIONS ================") plot_TPSL = input.bool(false, title='Show TP/SL lines', group="================ EXIT CONDITIONS ================") //Date filters desde = input(defval= timestamp("01 Jan 2023 00:00 -3000"), title="From", inline="12", group= "============= DATE FILTERS =============") hasta = input(defval= timestamp("01 Oct 2099 00:00 -3000"), title="To ", inline="13", group= "============= DATE FILTERS =============") enRango = true //COMMENTS //entry_long_comment = input.string(defval=" ", title="Entry Long comment: ", inline="14", group="============= COMMENTS =============") //exit_long_comment = input.string(defval=" ", title="Exit Long comment: ", inline="15", group="============= COMMENTS =============") //entry_short_comment = input.string(defval=" ", title="Entry Short comment:", inline="16", group="============= COMMENTS =============") //exit_short_comment = input.string(defval=" ", title="Exit Short comment: ", inline="17", group="============= COMMENTS =============") //============================================================ //Selecting Moving average type ma1 = mov_ave == "EMA" ? ta.ema(source_1, period_1) : ta.sma(source_1, period_1) ma2 = mov_ave == "EMA" ? ta.ema(source_2, period_2) : ta.sma(source_2, period_2) ma3 = mov_ave == "EMA" ? ta.ema(source_3, period_3) : ta.sma(source_3, period_3) //============================================================ //Entry Long condition: Grouped Moving average from: (ma fast > ma middle > ma slow) long_condition = (ma1 > ma2) and (ma2 > ma3) //Entry Short condition: Grouped Moving average from: (ma fast < ma middle < ma slow) short_condition = (ma1 < ma2) and (ma2 < ma3) //============================================================ cantidad = strategy.equity / close comprado_long = strategy.position_size > 0 comprado_short = strategy.position_size < 0 var long_profit_price = 0.0 var long_stop_price = 0.0 var short_profit_price = 0.0 var short_stop_price = 0.0 //============================================================ //ENTRY LONG if not comprado_long and not comprado_short and long_condition and not long_condition[1] and enRango strategy.entry('Long', strategy.long, qty=cantidad, comment= "Entry Long") if exit_TPSL long_profit_price := close * (1 + TP/100) long_stop_price := close * (1 - SL/100) else long_profit_price := na long_stop_price := na //============================================================ //ENTRY SHORT if not comprado_long and not comprado_short and short_condition and not short_condition[1] and enRango strategy.entry('Short', strategy.short, qty=cantidad, comment= "Entry Short") if exit_TPSL short_profit_price := close * (1 - TP/100) short_stop_price := close * (1 + SL/100) else short_profit_price := na short_stop_price := na //============================================================ //EXIT LONG if comprado_long and exit_ma and long_condition[1] and not long_condition strategy.close('Long', comment='Exit-Long(MA)') if comprado_long and exit_TPSL strategy.exit('Long', limit=long_profit_price, stop=long_stop_price, comment='Exit-Long(TP/SL)') //============================================================ //EXIT SHORT if comprado_short and exit_ma and short_condition[1] and not short_condition strategy.close('Short', comment='Exit-Short(MA)') if comprado_short and exit_TPSL strategy.exit('Short', limit=short_profit_price, stop=short_stop_price, comment='Exit-Short(TP/SL)') //============================================================ //PLOTS plot(ma1, linewidth=2, color=color.rgb(255, 255, 255)) plot(ma2, linewidth=2, color=color.rgb(144, 255, 252)) plot(ma3, linewidth=2, color=color.rgb(49, 167, 255)) //Plot Take Profit line plot(plot_TPSL ? comprado_long ? long_profit_price : comprado_short ? short_profit_price : na : na, color=color.new(color.lime, 30), style= plot.style_linebr) //Plot StopLoss line plot(plot_TPSL ? comprado_long ? long_stop_price : comprado_short ? short_stop_price : na : na, color=color.new(color.red, 30), style= plot.style_linebr)