এটি বিটকয়েনের জন্য একটি কাস্টমাইজড মাল্টি-ফ্রি হেড ট্রেডিং কৌশল। এটি আপনাকে সপ্তাহের বিভিন্ন ট্রেডিং দিনের উপর ভিত্তি করে অতিরিক্ত বা খালি করার অনুমতি দেয়। দামগুলি প্রতি সপ্তাহে বিভিন্ন ট্রেডিং দিনে এক দিকে বা অন্য দিকে চলাফেরা করতে পারে। এই কৌশলটি আপনাকে বিভিন্ন ট্রেডিং দিনের পরীক্ষা করার অনুমতি দেয়।
অনুগ্রহ করে নিশ্চিত করুন যে আপনি কর্মক্ষমতা এবং ট্রেডিং ইতিহাসের রেকর্ডগুলি দেখার সময় একটি তারিখের চার্ট ব্যবহার করেছেন যাতে স্ক্রিপ্টটি প্রত্যাশিত হিসাবে কাজ করে এবং আপনি ট্রেডিং ভিউ থেকে যতটা সম্ভব ঐতিহাসিক তথ্য পান।
এই কৌশলটির মূল যুক্তি হল ব্যবহারকারীকে সপ্তাহের প্রতিটি দিন মাল্টি-ট্রেডিং, ফাঁকা-ট্রেডিং বা কোনও লেনদেন না করার জন্য বেছে নেওয়ার অনুমতি দেওয়া।
প্রথমত, এটি ব্যবহারকারীদের একটি পরিসীমা সেট করার অনুমতি দেয়, যার মধ্যে রয়েছে শুরু মাস, তারিখ, বছর এবং শেষ মাস, তারিখ, বছর।
তারপর, এটি একটি সময়সীমার একটি অ্যারে ব্যবহার করে সপ্তাহের প্রতিটি দিনের জন্য একটি সংখ্যাগত উপস্থাপনা সংরক্ষণ করে, রবিবারের 0 থেকে শনিবারের 6 পর্যন্ত।
আরেকটি অ্যারে timeframes_options ব্যবহার করা হয় প্রতিদিনের ট্রেডিং, খালি সময়, বা না করার জন্য। এটি একটি ইনপুট বিকল্প দ্বারা সেট করা হয়।
For চক্রের মধ্যে, এই কৌশলটি পরীক্ষা করে যে বর্তমান ট্রেডিং দিবসটি টাইমফ্রেমগুলির একটি অ্যারেতে কোনও দিনের সাথে মেলে কিনা। যদি এটি মেলে এবং বিকল্পটি আগের দিনের চেয়ে আলাদা হয় তবে প্রথমে সমস্ত অব্যবহৃত অবস্থান বন্ধ করুন।
যদি অপশনটি বেতার না হয়, তাহলে নির্বাচিত মাল্টি-হেড বা খালি হেডের উপর নির্ভর করে সংশ্লিষ্ট দিকের অবস্থান খুলুন।
এইভাবে, কৌশলটি সেট করা তারিখের মধ্যে, সপ্তাহের প্রতিটি দিনের সেটআপের উপর ভিত্তি করে মাল্টি হেড ট্রেডিং করতে পারে।
এই কৌশলটির প্রধান সুবিধা হল এটি অত্যন্ত কাস্টমাইজড মাল্টি হেড ট্রেডিং প্রদান করে। ব্যবহারকারীরা সপ্তাহের প্রতিটি দিন কোন ট্রেডিং দিকটি বেছে নিতে পারেন।
স্থির সাপ্তাহিক ট্রেডিং কৌশলের বিপরীতে, এই কৌশলটি নমনীয়ভাবে সামঞ্জস্য করা যায়। যদি কিছু দিনের ফলাফল অনুকূল না হয়, তবে কেবল অন্য দিনগুলিতে ট্রেড করা সহজ।
তারিখের পরিসীমাও খুব নমনীয়, যে কোন ব্যবহারকারীর নির্দিষ্ট সময়ের মধ্যে পরীক্ষা করে দেখা যায় কোন তারিখের সংমিশ্রণ সবচেয়ে ভালো কাজ করে।
ট্রেডিং লজিক খুব পরিষ্কার এবং সহজ, সহজে বোঝা যায় এবং পরিবর্তন করা যায়। ব্যবহারকারীরা প্রোগ্রামিং ছাড়াই প্যারামিটারগুলি সামঞ্জস্য করতে পারে।
এই কৌশলটি অপ্রয়োজনীয় ঝুঁকি এড়ানোর জন্য প্রতিদিনের পরিবর্তনের সাথে সাথে স্বয়ংক্রিয়ভাবে অবশিষ্ট অবস্থানগুলিকে প্লেইন করে।
এই কৌশলটির প্রধান ঝুঁকি হল ব্যবহারকারী দ্বারা নির্ধারিত দৈনিক লেনদেনের বিকল্পগুলি সব তারিখের জন্য উপযুক্ত নাও হতে পারে।
উদাহরণস্বরূপ, সপ্তাহান্তে অতিরিক্ত কাজ করা কিছু সময়ের মধ্যে কার্যকর হতে পারে, কিন্তু অন্য সময়ে ব্যর্থ হতে পারে।
সুতরাং, বিভিন্ন তারিখের পরিসীমা পরীক্ষা করার সময় সতর্কতা অবলম্বন করা উচিত, কোনও একক ফলাফলের উপর নির্ভর করা উচিত নয়। প্যারামিটারগুলিকে নির্দিষ্ট বাজারের অবস্থার সাথে সামঞ্জস্য করতে হবে।
আরেকটি ঝুঁকি হল দৈনিক দিক পরিবর্তন হলে সময়মত প্লেইন বন্ধ করা যায় না। এটি ক্ষতির বিস্তার ঘটাতে পারে। তবে এই কৌশলটি স্বয়ংক্রিয় প্লেইন দ্বারা এই সমস্যাটি হ্রাস করার চেষ্টা করে।
সামগ্রিকভাবে, এই কৌশলটি প্যারামিটার অপ্টিমাইজেশনের উপর নির্ভরশীল এবং বিভিন্ন বাজারের অবস্থার জন্য উপযুক্ত প্যারামিটার সমন্বয় খুঁজে পেতে পর্যাপ্ত পরীক্ষার প্রয়োজন।
এই কৌশলটি নিম্নে উল্লেখিত বিষয়গুলির মাধ্যমে উন্নত করা যেতে পারেঃ
প্রতিদিনের দিক পরিবর্তন করার সময়, স্টপ লজিক যুক্ত করুন, মুনাফার অবস্থানে অবস্থান করার সময় চলমান স্টপ সেট করুন, প্রত্যাহার হ্রাস করুন।
একটি ফিল্টার যুক্ত করা হয়েছে, যা একটি নির্দিষ্ট দিনের উচ্চ বা নিম্ন পয়েন্ট অতিক্রম করার সময় একটি সংকেত দেয়, যাতে ট্রেন্ড না থাকলে পুনরাবৃত্তি ট্রেডিং এড়ানো যায়।
উচ্চ অস্থিরতার সময় পজিশনের আকার হ্রাস করুন এবং নিম্ন অস্থিরতার সময় পজিশন বাড়ান, যাতে ঝুঁকি নিয়ন্ত্রণযোগ্য হয়।
ট্রেডিং দিবসের জন্য মেশিন লার্নিং যোগ করা হয়েছে, যা ঐতিহাসিক তথ্যের উপর ভিত্তি করে প্রতিদিনের ট্রেডিংয়ের সম্ভাব্যতা নির্ধারণ করে এবং গতিশীল দৈনিক দিকনির্দেশনা তৈরি করে।
বিপর্যয় মোকাবিলার জন্য আরো যুক্তিসঙ্গত ব্যবস্থাপনা, যেমন বড় আর্থিক ঘটনা ঘটলে লেনদেন স্থগিত করা, যাতে কোন ধরনের জালিয়াতি না হয়।
এই কৌশলটি প্রতিদিনের দিকনির্দেশের মাধ্যমে অত্যন্ত নমনীয় মাল্টি হেড ট্রেডিং ক্ষমতা সরবরাহ করে। ব্যবহারকারীরা সর্বোত্তম প্যারামিটারগুলি খুঁজে পেতে বিনামূল্যে সমন্বয় পরীক্ষা করতে পারেন। তবে এই কৌশলটির উচ্চতর অপ্টিমাইজেশনের প্রয়োজনীয়তা রয়েছে এবং বিভিন্ন বাজারের জন্য উপযুক্ত সেটিংস খুঁজে পেতে প্রচুর পরীক্ষার প্রয়োজন। স্টপ লস, ফিল্টার এবং গতিশীল সামঞ্জস্যের মতো অপ্টিমাইজেশন পদ্ধতিগুলি যুক্ত করা ঝুঁকি হ্রাস করতে পারে এবং স্থিতিশীলতা বাড়িয়ে তুলতে পারে। সতর্কতার সাথে প্যারামিটার অপ্টিমাইজেশনের শর্তে এই কৌশলটি একটি উচ্চ দক্ষ দৈনিক দিকনির্দেশের ট্রেডিং সরঞ্জাম হতে পারে।
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 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/
//@version=4
// strategy("Day of Week Custom Buy/Sell Strategy", overlay=true, currency=currency.USD, default_qty_value=1.0,initial_capital=30000.00,default_qty_type=strategy.percent_of_equity)
frommonth = input(defval = 6, minval = 01, maxval = 12, title = "From Month")
fromday = input(defval = 14, minval = 01, maxval = 31, title = "From day")
fromyear = input(defval = 2021, minval = 1900, maxval = 2100, title = "From Year")
tomonth = input(defval = 12, minval = 01, maxval = 12, title = "To Month")
today = input(defval = 31, minval = 01, maxval = 31, title = "To day")
toyear = input(defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
timeframes = array.new_int(7, 1)
timeframes_options = array.new_string(7, 'None')
array.set(timeframes,0,7)
array.set(timeframes_options,0, input(defval='None', options=['Long','Short','None'], title='sunday'))
array.set(timeframes,1,1)
array.set(timeframes_options,1, input(defval='Long', options=['Long','Short','None'], title='monday'))
array.set(timeframes,2,2)
array.set(timeframes_options,2, input(defval='Long', options=['Long','Short','None'], title='tuesday'))
array.set(timeframes,3,3)
array.set(timeframes_options,3, input(defval='Long', options=['Long','Short','None'], title='wednesday'))
array.set(timeframes,4,4)
array.set(timeframes_options,4, input(defval='None', options=['Long','Short','None'], title='thursday'))
array.set(timeframes,5,5)
array.set(timeframes_options,5, input(defval='None', options=['Long','Short','None'], title='friday'))
array.set(timeframes,6,6)
array.set(timeframes_options,6, input(defval='None', options=['Long','Short','None'], title='saturday'))
for i = 0 to array.size(timeframes) - 1
if dayofweek == array.get(timeframes, i) and array.get(timeframes_options, i) != array.get(timeframes_options, i==0?6:i-1)
strategy.close_all()
if dayofweek == array.get(timeframes, i) and array.get(timeframes_options, i)!='None' and array.get(timeframes_options, i) != array.get(timeframes_options, i==0?6:i-1)
if array.get(timeframes_options, i) == 'Long'
strategy.entry("Long", strategy.long, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
else if array.get(timeframes_options, i) == 'Short'
strategy.entry("Short", strategy.short, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))