
ধাপে ধাপে ট্রেডিং কৌশলটি বাজারের ধাপে ধাপে এবং বন্টন পর্যায়গুলি সনাক্ত করে, ভিক্টোরিয়াল বিশ্লেষণের নীতিগুলি ব্যবহার করে, সম্ভাব্য ক্রয় এবং বিক্রয়ের সুযোগগুলি অনুসন্ধান করার জন্য রোল-আর্চ এবং বিপরীত-আর্চগুলির বিচার সহ।
বিভিন্ন দৈর্ঘ্যের গড়রেখা ক্রস করে গড় এবং বন্টন পর্যায়গুলি চিহ্নিত করুন। যখন সমাপ্তি মূল্যের উপরে গড় দৈর্ঘ্যটি AccumulationLength হিসাবে অতিক্রম করে, তখন গড় হিসাবে বিচার করুন; যখন সমাপ্তি মূল্যের নীচে গড় দৈর্ঘ্যটি DistributionLength হিসাবে অতিক্রম করে, তখন বন্টন পর্যায়ে বিচার করুন।
বিভিন্ন দৈর্ঘ্যের সমান্তরাল ক্রস ব্যবহার করে বোলিং আকৃতি এবং বিপরীত আকৃতি সনাক্ত করা যায়। যখন নিম্ন বিন্দুতে SpringLength এর সমান্তরাল দৈর্ঘ্য থাকে, তখন বোলিং আকৃতি হিসাবে বিচার করা হয়; যখন উচ্চ বিন্দুতে UpthrustLength এর সমান্তরাল দৈর্ঘ্য থাকে, তখন বিপরীত আকৃতি হিসাবে বিচার করা হয়।
ক্রমবর্ধমান পর্যায়ে যখন বোলিং আউটের আকৃতি দেখা যায়, তখন আরও কিছু করুন; বন্টন পর্যায়ে যখন বিপরীত আকৃতি দেখা যায়, তখন খালি করুন।
স্টপ লেভেল সেট করুন: দীর্ঘ পজিশনের স্টপ হার হল ক্লোজিং প্রাইস (১ - স্টপ হার শতাংশ) এবং ছোট পজিশনের স্টপ হার হল ক্লোজিং প্রাইস (১ + স্টপ হার শতাংশ) ।
গ্র্যাজুয়েশন পর্যায়, বন্টন পর্যায়, বোলিং আকার এবং বিপরীত আকারগুলি চার্টগুলিতে চিহ্নিত করা হয়েছে, যা আকার সনাক্তকরণের জন্য সহজ।
ভিক্টোরিয়াল বিশ্লেষণ পদ্ধতি ব্যবহার করে বাজারের গতিশীলতার ধাপে ধাপে এবং বন্টন পর্যায়গুলি সনাক্ত করা, ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা বাড়িয়ে তুলতে পারে।
ট্রেডিং সিগন্যালের আরও যাচাইকরণের জন্য, বোল্ডিং এবং রিভার্সনের সংমিশ্রণে ট্রেডিং করা যায়।
স্টপ লস সেট করা হয়েছে যাতে একক ক্ষতির উপর নিয়ন্ত্রণ রাখা যায়।
চার্টে চিহ্নিত করে, আপনি স্পষ্টভাবে দেখতে পারেন যে পুরো প্রক্রিয়াটি কীভাবে স্রোত তৈরি হয়।
এই কৌশলটির প্যারামিটারগুলি সামঞ্জস্যযোগ্য এবং বিভিন্ন বাজার এবং ট্রেডিং চক্রের জন্য অপ্টিমাইজ করা যায়।
একত্রিতকরণের ফলে মিডলাইন সিগন্যাল ভুল সিগন্যাল দিতে পারে।
বোলিং ও রিভার্স মোডের ক্ষেত্রেও এই সমস্যা দেখা দিতে পারে।
স্টপ লস অতিক্রম করলে ক্ষতি বাড়তে পারে।
বিভিন্ন বাজারের জন্য প্যারামিটারগুলিকে সামঞ্জস্য করতে হবে, যদি এটি উপযুক্ত না হয় তবে ট্রেডিং সিগন্যাল ত্রুটির কারণ হতে পারে।
মেশিন ট্রেডিং সিস্টেমগুলিকে ম্যানুয়ালি মনিটরিংয়ের প্রয়োজন হতে পারে।
বিভিন্ন বাজারে বিভিন্ন পিরিয়ডের অধীনে পরামিতিগুলির সর্বোত্তম সমন্বয় পরীক্ষা করা যায়।
ট্রেডিং সিগন্যাল নিশ্চিত করার জন্য লেনদেনের পরিমাণ যোগ করার বিষয়টি বিবেচনা করা যেতে পারে।
ডায়নামিক স্টপ লেভেল সেট করা যায়, যা মার্কেটের ওঠানামা অনুযায়ী স্টপ লেভেলকে সামঞ্জস্য করে।
মূলধন যোগ করার বিষয়টি বিবেচনা করা যেতে পারে, যাতে গুরুত্বপূর্ণ সময়ে ভুল লেনদেন না হয়।
মেশিন লার্নিং অ্যালগরিদমের সাথে যুক্ত হতে পারে গতিশীল অপ্টিমাইজেশান প্যারামিটারগুলি।
ক্রমবর্ধমান ব্রেকডাউন ট্রেডিং কৌশলটি ভিক্টর বিশ্লেষণ, গড় লাইন সূচক, আকৃতি সনাক্তকরণ ইত্যাদির মতো একাধিক প্রযুক্তিগত বিশ্লেষণ পদ্ধতিকে সংহত করে, যা কার্যকরভাবে বাজারের শক্তিকে সনাক্ত করতে এবং ট্রেডিং সংকেত তৈরি করতে পারে। এই কৌশলটির নির্ভরযোগ্য ট্রেডিং সংকেত, নিয়ন্ত্রণযোগ্য ঝুঁকি এবং স্পষ্ট ভিজ্যুয়াল প্রদর্শন ইত্যাদির সুবিধাগুলি রয়েছে। তবে যান্ত্রিক ট্রেডিং সিস্টেম হিসাবে, এর ফেরত সময় এবং প্যারামিটার অভিযোজন আরও উন্নত করা দরকার। ভবিষ্যতের অপ্টিমাইজেশনের দিকটি প্যারামিটার প্যাকেজ অপ্টিমাইজেশন, লেনদেনের স্বীকৃতি, ক্ষতির অপ্টিমাইজেশন এবং গুরুত্বপূর্ণ মৌলিক বিষয়গুলি অন্তর্ভুক্ত করা। সামগ্রিকভাবে, এই কৌশলটি কার্যকর সিদ্ধান্ত গ্রহণের সহায়তা সরবরাহ করে।
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
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/
// © deperp
//@version=5
strategy("Wyckoff Range Strategy", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)
// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")
// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))
// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))
// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))
// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust
enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring
// Entry and Exit Conditions
if (enterLong)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long")
if (enterShort)
strategy.entry("Short", strategy.short)
if (exitShort)
strategy.close("Short")
// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)
// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)