
এই কৌশলটি স্থির গ্রিড ট্রেডিং পদ্ধতি ব্যবহার করে, প্রাথমিক মূল্য এবং প্রতিটি স্তর গ্রিডের ব্যবধানের অনুপাত সেট করে, তারপরে এই অনুপাতের উপর ভিত্তি করে 10 স্তর স্থির ক্রয় এবং বিক্রয় মূল্য সেট করে, কম কিনতে এবং উচ্চ বিক্রয় করার জন্য গ্রিড ট্রেডিং কৌশল।
এই কৌশলটি প্রথমে প্রারম্ভিক মূল্য sprice এবং প্রতি স্তর গ্রিডের ব্যবধানের অনুপাত gridpercent সেট করে। তারপরে প্রারম্ভিক মূল্য এবং অনুপাতের উপর ভিত্তি করে 10 স্তরের ক্রয় এবং বিক্রয় মূল্য গণনা করা হয়।
ক্রয় মূল্য সূত্রঃ
b1=sprice-(sprice*p1)
b2=sprice-(sprice*p2)
b3=sprice-(sprice*p3)
…
যেখানে p1 থেকে p10 হল গ্রিডপার্সেন্টের উপর ভিত্তি করে স্তর দ্বারা গণনা করা অনুপাত।
বিক্রয় মূল্য সূত্রঃ
s1=b1+(sprice*p1)
s2=b2+(sprice*p1)
s3=b3+(sprice*p1)
…
ক্রয় শর্ত হল যখন ক্রয় মূল্যের তুলনায় ক্রয় মূল্যের নিচে ক্রয় করা হয় তখন ক্রয় শুরু হয়ঃ
if (close
strategy.entry(“b1”, strategy.long, when=(close
একইভাবে, যখন সমাপ্তির মূল্য বিক্রির মূল্যের চেয়ে বেশি হয় তখন বিক্রয় শুরু হয়ঃ
if (close>s1)
strategy.exit(“b1”, when=(close>s1))
এর ফলে ফিক্সড গ্রিডের কম কেনা-বেচা কৌশল বাস্তবায়িত হয়।
ফিক্সড গ্রিডের এই কৌশলটির বেশ কিছু সুবিধা রয়েছেঃ
এটি স্বয়ংক্রিয়ভাবে কম ও বেশি বিক্রি করে, বাজারের সময় নির্ধারণের প্রয়োজন হয় না, যার ফলে লেনদেনের অসুবিধা কমে যায়।
যুক্তিসঙ্গত গ্রিড স্পেসিফিকেশন কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে, এবং ক্রমাগত পতন এড়াতে পারে।
“আপনি যদি আপনার ব্যবসায়ের মূল্য নির্ধারণ করতে চান, তাহলে আপনি আপনার ব্যবসায়ের মূল্য নির্ধারণ করতে পারেন।
বিভিন্ন বাজার পরিস্থিতির সাথে সামঞ্জস্য রেখে গ্রিডের প্যারামিটারগুলি সামঞ্জস্য করতে পারে।
আপনি আপনার গ্রিডের স্তরের সংখ্যা বাড়িয়ে আপনার হোল্ডিংয়ের আকার বাড়াতে পারেন।
এই ধরনের পরিস্থিতিতে, আপনি আপনার অ্যাকাউন্টটি বন্ধ করে দিতে পারেন এবং আপনার অ্যাকাউন্টটি পুনরুদ্ধার করতে পারেন।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
“আমি মনে করি, এই ধরনের ব্যবসায়ের জন্য অর্থ ব্যয় করা উচিত নয়।
শুরুতে দাম এবং গ্রিড সেটআপ অযথা করা হয়, যার ফলে ক্ষতি হতে পারে।
এর অর্থ হল, যদি কোন অপ্রত্যাশিত ঘটনার ফলে দামের পতন হয়, তাহলে ক্ষতি হতে পারে।
মেশিন ট্রেডিং সিস্টেমগুলোতে ট্রেডিং-এর ঝুঁকি রয়েছে।
এই ঘটনার ফলে ক্ষতির মাত্রা বেড়েছে।
এই সমস্যা সমাধানের উপায়ঃ
ট্রেডিং খরচ থেকে বেশি লাভ নিশ্চিত করার জন্য গ্রিডের প্যারামিটারগুলি যুক্তিসঙ্গতভাবে সেট করুন।
ফিডব্যাকের মাধ্যমে অপ্টিমাইজেশন প্যারামিটারগুলি, উপযুক্ত প্রারম্ভিক মূল্য এবং গ্রিড স্পেসিং সেট করুন।
ঝুঁকি নিয়ন্ত্রণে স্টপ লস বাড়ানো।
ঝুঁকি নিয়ন্ত্রণের ব্যবস্থা করুন এবং সর্বোচ্চ ক্ষতির সীমা নির্ধারণ করুন।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
গতিশীলভাবে গ্রিডের দূরত্ব সামঞ্জস্য করুন, যখন তরঙ্গ বাড়বে তখন দূরত্ব বাড়ান, দূরত্ব হ্রাস করুন।
ঐতিহাসিক তথ্যের উপর ভিত্তি করে অস্থিরতার পরিসীমা গণনা করা হয়েছে।
মেশিন লার্নিং মডেল যোগ করা, মূল্যের গতিবিধি পূর্বাভাস, গতিশীল সামঞ্জস্য গ্রিড
উচ্চ ঝুঁকিপূর্ণ পয়েন্টে স্টপ যোগ করুন এবং ঐতিহাসিক স্টপ পয়েন্টগুলি পর্যবেক্ষণ করে স্টপ অবস্থানটি অপ্টিমাইজ করুন।
তহবিল পরিচালনার কৌশল সহ, মুনাফার অবস্থার উপর ভিত্তি করে পজিশনের গতিশীল সমন্বয়।
পজিশন ম্যানেজমেন্ট অপ্টিমাইজ করুন এবং তহবিলের ব্যবহারের দক্ষতা সর্বাধিক করুন।
ট্রেড এক্সিকিউশন অপ্টিমাইজ করুন, টিডব্লিউএপি এবং অন্যান্য অ্যালগরিদম ব্যবহার করুন।
এই কৌশলটি স্থির গ্রিড ট্রেডিং পদ্ধতি গ্রহণ করে, প্রাথমিক মূল্য এবং গ্রিড ব্যবধানের অনুপাতে ক্রয়-বিক্রয় মূল্য নির্ধারণ করে, স্বয়ংক্রিয়ভাবে কম-বিক্রয়-বিক্রয় ব্যবসায়ের জন্য, বাজারের ওঠানামা থেকে লাভের জন্য কার্যকরভাবে ব্যবহার করা যায়। একই সাথে ঝুঁকি নিয়ন্ত্রণের দিকেও মনোযোগ দেওয়া উচিত, প্যারামিটার অপ্টিমাইজেশন, গতিশীল সমন্বয় এবং স্টপ লস দ্বারা লাভের লকিং এবং ক্ষতি নিয়ন্ত্রণ। উন্নত মেশিন লার্নিং এবং তহবিল পরিচালনার সরঞ্জামগুলির সাথে মিলিত, কৌশলটির লাভের হার এবং জয়কে আরও উন্নত করতে পারে।
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 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/
// © Lionkind
//@version=5
strategy("Grid HW", overlay = true, margin_long = 1, margin_short = 1)
// Fix 35k price as starting point and 1% as a distance
sprice=input(40500,"Starting price")
gridpercent=input(1,"Percent")
// calculate the % of the 10 layers
p1=((gridpercent*1)/100)
p2=((gridpercent*2)/100)
p3=((gridpercent*3)/100)
p4=((gridpercent*4)/100)
p5=((gridpercent*5)/100)
p6=((gridpercent*6)/100)
p7=((gridpercent*7)/100)
p8=((gridpercent*8)/100)
p9=((gridpercent*9)/100)
p10=((gridpercent*10)/100)
//set buy prices
b1=sprice-(sprice*p1)
b2=sprice-(sprice*p2)
b3=sprice-(sprice*p3)
b4=sprice-(sprice*p4)
b5=sprice-(sprice*p5)
b6=sprice-(sprice*p6)
b7=sprice-(sprice*p7)
b8=sprice-(sprice*p8)
b9=sprice-(sprice*p9)
b10=sprice-(sprice*p10)
//set sell prices
s1=b1+(sprice*p1)
s2=b2+(sprice*p1)
s3=b3+(sprice*p1)
s4=b4+(sprice*p1)
s5=b5+(sprice*p1)
s6=b6+(sprice*p1)
s7=b7+(sprice*p1)
s8=b8+(sprice*p1)
s9=b9+(sprice*p1)
s10=b10+(sprice*p1)
//Long conditions
lc1=close<b1
lc2=close<b2
lc3=close<b3
lc4=close<b4
lc5=close<b5
lc6=close<b6
lc7=close<b7
lc8=close<b8
lc9=close<b9
lc10=close<b10
//exit conditions
ec1=close>s1
ec2=close>s2
ec3=close>s3
ec4=close>s4
ec5=close>s5
ec6=close>s6
ec7=close>s7
ec8=close>s8
ec9=close>s9
ec10=close>s10
//long orders
if (lc1)
strategy.entry("b1", strategy.long, when=(lc1))
if (lc2)
strategy.entry("b2", strategy.long, when=(lc2))
if (lc3)
strategy.entry("b3", strategy.long, when=(lc3))
if (lc4)
strategy.entry("b4", strategy.long, when=(lc4))
if (lc5)
strategy.entry("b5", strategy.long, when=(lc5))
if (lc6)
strategy.entry("b6", strategy.long, when=(lc6))
if (lc7)
strategy.entry("b7", strategy.long, when=(lc7))
if (lc8)
strategy.entry("b8", strategy.long, when=(lc8))
if (lc9)
strategy.entry("b9", strategy.long, when=(lc9))
if (lc10)
strategy.entry("b10", strategy.long, when=(lc10))
//exit orders
if (ec1)
strategy.exit("b1", when=(ec1), limit=1)
if (ec2)
strategy.exit("b2", when=(ec2), limit=1)
if (ec3)
strategy.exit("b3", when=(ec3), limit=1)
if (ec4)
strategy.exit("b4", when=(ec4), limit=1)
if (ec5)
strategy.exit("b5", when=(ec5), limit=1)
if (ec6)
strategy.exit("b6", when=(ec6), limit=1)
if (ec7)
strategy.exit("b7", when=(ec7), limit=1)
if (ec8)
strategy.exit("b8", when=(ec8), limit=1)
if (ec9)
strategy.exit("b9", when=(ec9), limit=1)
if (ec10)
strategy.exit("b10", when=(ec10), limit=1)
plot(b1,color=color.green)
plot(s1, color=color.red)
plot(b2, color=color.purple)