এই কৌশলটি একটি দীর্ঘমেয়াদী হোল্ডিং কৌশল যা সহজ চলমান গড় রেখাগুলির সাথে প্রবণতা দিক নির্ধারণ এবং প্রতিরোধ এবং সমর্থন রেখাগুলির সাথে অগ্রগতির সংকেত গঠনের উপর ভিত্তি করে। মূল্য পিভট হাই এবং পিভট লো পয়েন্টগুলি গণনা করে, প্রতিরোধ এবং সমর্থন লাইনগুলি গ্রাফিং করে, যখন দাম প্রতিরোধের রেখাটি ভেঙে যায় এবং যখন মূল্য সমর্থন রেখাটি ভেঙে যায় তখন অবস্থানগুলি বন্ধ করে দেয়। এই কৌশলটি সুস্পষ্ট প্রবণতা সহ স্টকগুলির জন্য উপযুক্ত এবং একটি ভাল ঝুঁকি-পুরষ্কার অনুপাত পেতে পারে।
এই কৌশলটি সামগ্রিক প্রবণতা দিক নির্ধারণের জন্য সহজ চলমান গড় ব্যবহার করে এবং তারপরে মূল পয়েন্টের অগ্রগতি ব্যবহার করে ট্রেডিং সংকেত তৈরি করে, যা একটি সাধারণ ব্রেকআউট কৌশল। মূল পয়েন্ট এবং প্রবণতা বিচার করে, মিথ্যা ব্রেকআউট কার্যকরভাবে ফিল্টার করা যেতে পারে।
লাইভ ট্রেডিংয়ের মাধ্যমে প্যারামিটারগুলিকে অনুকূল করে এবং স্টপ লস / লাভ গ্রহণের কৌশলগুলি অন্তর্ভুক্ত করে ঝুঁকিগুলি হ্রাস করা যেতে পারে।
সামগ্রিকভাবে, এই কৌশলটি একটি সাধারণ ব্রেকআউট কৌশল যা প্যারামিটার অপ্টিমাইজেশন এবং তরলতার উপর নির্ভর করে, ট্রেন্ড ট্রেডারদের জন্য উপযুক্ত। একটি রেফারেন্স ফ্রেমওয়ার্ক হিসাবে, এটি স্টপ লস / লাভ নিন, ঝুঁকি হ্রাস এবং স্থিতিশীলতা উন্নত করার জন্য সংকেত ফিল্টারিংয়ের মতো প্রক্রিয়া যুক্ত করে প্রকৃত প্রয়োজন অনুযায়ী প্রসারিত করা যেতে পারে।
/*backtest start: 2023-02-14 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h 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/ // © CheatCode1 //@version=5 strategy("Quantitative Trend Strategy- Uptrend long", 'Steady Uptrend Strategy', overlay=true, initial_capital = 1500, default_qty_value = 100, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity) length = input.int(20, minval=1) src = input(close, title="Source") basis = ta.sma(src, length) offset = input.int(0, "Offset", minval = -500, maxval = 500) plot(basis, "Basis", color=#FF6D00, offset = offset) inp1 = input.int(46, 'LookbackLeft') inp2 = input.int(32, 'LookbackRight') l1 = ta.pivothigh(close, inp1, inp2) S1 = ta.pivotlow(close, inp1, inp2) // plot(l1, 'Pivothigh', color.red, 1) // // plot(S1, 'Pivot Low', color.red) l1V = ta.valuewhen(l1, close, 0) S1V = ta.valuewhen(S1, close, 0) Plotl1 = not na(l1) ? l1V : na PlotS1 = not na(S1) ? S1V : na plot(Plotl1, 'Resistance', color.green, 1, plot.style_stepline, true) plot(PlotS1, 'Support', color.red, 1, plot.style_stepline, true) Priceforlong = close > l1V ? true : na Priceforshort = close < S1V ? true : na plotshape(Priceforlong ? high : na, 'p', shape.arrowup, location.abovebar, color.green, size = size.small) plotshape(Priceforshort ? low : na, 's', shape.arrowdown, location.belowbar, color.red, size = size.small) vol = volume volma = ta.sma(vol, 20) Plotl1C = ta.valuewhen(na(Plotl1), l1V, 0) PlotS1C = ta.valuewhen(na(PlotS1), S1V, 0) //Strategy Execution volc = volume > volma Lc1 = Priceforlong Sc1 = Priceforshort sL = Plotl1 < PlotS1 ? close : na sS = PlotS1 > Plotl1 ? close : na if Lc1 strategy.entry('Long', strategy.long) // if Sc1 and C2 // strategy.entry('Short', strategy.short) if Priceforshort strategy.cancel('Long') if Priceforlong strategy.cancel('Short') // Stp1 = ta.crossover(k, d) // Ltp1 = ta.crossunder(k, d) // Ltp = d > 70 ? Ltp1 : na // Stp = d < 30 ? Stp1 : na if strategy.openprofit >= 0 and sL strategy.close('Long') if strategy.openprofit >= 0 and sS strategy.close('Short') takeP = input.float(2, title='Take Profit') / 100 stopL = input.float(1.75, title='Stop Loss') / 100 // // Pre Directionality Stop_L = strategy.position_avg_price * (1 - stopL) Stop_S = strategy.position_avg_price * (1 + stopL) Take_S= strategy.position_avg_price * (1 - takeP) Take_L = strategy.position_avg_price * (1 + takeP) // sL = Plotl1 < PlotS1 ? close : na // sS = PlotS1 < Plotl1 ? close : na // //Post Excecution if strategy.position_size > 0 and not (Lc1) strategy.exit("Close Long", stop = Stop_L, limit = Take_L) if strategy.position_size < 0 and not (Sc1) strategy.exit("Close Short", stop = Stop_S, limit = Take_S)