সুইং পয়েন্ট ব্রেকআউটস কৌশলটি সুইং হাই এবং সুইং লো সনাক্তকরণের উপর ভিত্তি করে একটি দীর্ঘমেয়াদী প্রবণতা ওঠানামা কৌশল। কৌশলটি দীর্ঘ অবস্থানে প্রবেশ করে যখন দামগুলি ইনপুট পরামিতি দ্বারা নির্দিষ্ট সাম্প্রতিক সময়ের সর্বোচ্চ মূল্যটি ভেঙে দেয় এবং যখন দামগুলি সাম্প্রতিক সময়ের সর্বনিম্ন মূল্যটি ভেঙে দেয় তখন শর্ট অবস্থানে প্রবেশ করে।
কৌশলটি ইনপুট পরামিতিগুলির মাধ্যমে সর্বশেষতম এন বার
এছাড়াও, কৌশলটি স্টপ লস সেট করে। লং পজিশন খোলার পরে, স্টপ লসটি সাম্প্রতিক সর্বনিম্ন মূল্যের কাছাকাছি সেট করা হয়। শর্ট পজিশন খোলার পরে, স্টপ লসটি সাম্প্রতিক সর্বোচ্চ মূল্যের কাছাকাছি সেট করা হয়। এটি কার্যকরভাবে ট্রেন্ডিং মার্কেটে বিশাল ক্ষতি এড়ায়।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল যে এটি সুইং উচ্চ এবং নিম্নের চারপাশে মূল ওঠানামা এবং সেই অনুযায়ী মুনাফা ক্যাপচার করে। স্টপ লস সেট করা ঝুঁকিগুলিকে কার্যকরভাবে নিয়ন্ত্রণ করে।
বিশেষ করে এর সুবিধাগুলো হল:
কৌশল যুক্তি স্পষ্ট, প্রবেশ এবং প্রস্থান সুইং উচ্চ / নিম্ন breakouts উপর ভিত্তি করে।
এটি একটি ক্লাসিকাল প্রযুক্তিগত বিশ্লেষণ পদ্ধতি, বিপরীতমুখী সুযোগ সনাক্ত করার জন্য সুইং উচ্চ / নিম্ন ব্যবহার করে।
ঝুঁকি নিয়ন্ত্রণ এবং ট্রেন্ডিং মার্কেটে বিশাল ক্ষতি এড়ানোর জন্য স্টপ লস সেট করা আছে।
কোডটির কাঠামো স্পষ্ট এবং এটি বোঝা এবং পরিবর্তন করা সহজ।
পরামিতি কৌশল অপ্টিমাইজ করার জন্য সামঞ্জস্য করা যেতে পারে, যেমন সুইং উচ্চ / নিম্ন সময়কালের মিটিং।
এই কৌশলটির মূল ঝুঁকিটি ভুল ট্রেডিংয়ের দিকে পরিচালিত অস্পষ্ট সুইং উচ্চ / নিম্ন সনাক্তকরণ থেকে আসে। নির্দিষ্ট ঝুঁকিগুলির মধ্যে রয়েছেঃ
স্যুইং হাই/লস এর ভুল ব্রেকআউট যার ফলে ভুল এন্ট্রি হয়।
বিরাট স্টপ লস হিট ব্রেকআউট পয়েন্টের কাছাকাছি।
ট্রেন্ডিং প্রতীকগুলিকে সুইং পয়েন্ট নির্ধারণের জন্য বিশাল খরচ প্রয়োজন।
ভুল প্যারামিটার টিউনিং কৌশল কর্মক্ষমতা প্রভাবিত করে।
সমাধানগুলির মধ্যে রয়েছেঃ
সুইং উচ্চ/নিম্ন সময়ের মত প্যারামিটার অপ্টিমাইজ করা।
স্টপ লস দূরত্ব বাড়ানো।
ট্রেন্ডিং সিম্বলগুলিতে এটি ব্যবহার করা এড়িয়ে চলুন।
মেশিন লার্নিং গ্রহণ করে প্যারামিটারগুলিকে গতিশীলভাবে অপ্টিমাইজ করা।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
অতিরিক্ত ফিটিং এড়ানোর জন্য স্থির মানের পরিবর্তে সুইং উচ্চ / নিম্ন সময়ের গতিশীল অপ্টিমাইজেশন।
এটিআর এবং অস্থিরতার উপর ভিত্তি করে গতিশীল স্টপ লস/ট্যাক মুনাফা প্রবর্তন।
একাধিক সময়সীমা একত্রিত করে, প্রবণতা নির্ধারণের জন্য উচ্চতর টিএফ এবং প্রবেশের জন্য নিম্ন টিএফ ব্যবহার করে।
সম্ভাব্য সুইং পয়েন্টগুলি পূর্বাভাস দিতে এবং কর্মক্ষমতা উন্নত করতে মেশিন লার্নিং মডেলগুলি অন্তর্ভুক্ত করা।
কার্যকর স্টপ লস বজায় রেখে অপ্রয়োজনীয় হিট এড়ানোর জন্য স্টপ লস অ্যালগরিদমগুলি অপ্টিমাইজ করা।
সুইং পয়েন্ট ব্রেকআউট কৌশলটি সামগ্রিকভাবে একটি ব্যবহারিক দীর্ঘমেয়াদী পরিমাণগত কৌশল। সুইং পয়েন্টগুলির চারপাশে বিপরীতমুখী সুযোগগুলি ক্যাপচার করে এবং ঝুঁকিগুলি নিয়ন্ত্রণের জন্য স্টপ লস সেট করে, এটি লাভ নিশ্চিত করে এবং ড্রডাউনগুলিও নিয়ন্ত্রণ করে। নমনীয় পরামিতি টিউনিং এবং পরিষ্কার যুক্তি সহ, এটি একটি প্রস্তাবিত কৌশল দৃষ্টান্ত যা ব্যবহারের যোগ্য। গতিশীল অপ্টিমাইজেশন এবং মেশিন লার্নিং প্রবর্তন করে আরও উন্নতি করা যেতে পারে।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h 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/ // © tweakerID // Long term strategy for managing a Crypto investment with Swing Trades of more than 1 day. The strategy buys with a // stop order at the Swing High price (green line) and sells with a stop order at the Swing Low price (red line). // The direction of the strategy can be adjusted in the Inputs panel. //@version=4 strategy("Swing Points Breakouts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, commission_value=0.04) direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1) strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long)) //Inputss i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit") i_SwingLow=input(10, title="Swing Low Lookback") i_SwingHigh=input(10, title="Swing High Lookback") i_reverse=input(false, "Reverse Trades") i_SLExpander=input(defval=0, step=1, title="SL Expander") //Strategy Calculations SwingLow=lowest(i_SwingLow) SwingHigh=highest(i_SwingHigh) //SL & TP Calculations bought=strategy.position_size != strategy.position_size[1] LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander) SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander) islong=strategy.position_size > 0 isshort=strategy.position_size < 0 SL= islong ? LSL : isshort ? SSL : na //Entries and Exits strategy.entry("long", true, stop=i_reverse?na:SwingHigh, limit=i_reverse?SwingLow:na) strategy.entry("short", false, stop=i_reverse?na:SwingLow, limit=i_reverse?SwingHigh:na) if i_SL strategy.exit("longexit", "long", stop=LSL) strategy.exit("shortexit", "short", stop=SSL) //Plots plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL") plot(SwingLow, color=color.red) plot(SwingHigh, color=color.green)