
এই কৌশলটি মূলত বাজারের দিকনির্দেশনা এবং শক্তি নির্ধারণের জন্য কে-লাইনের উচ্চ-নিম্ন বক্স তৈরির বক্সের ব্রেকআপগুলি পর্যবেক্ষণ করে। যখন একটি ঊর্ধ্বমুখী বক্সের ব্রেকআপ ঘটে তখন কৌশলটি ব্রেকআপের কাছাকাছি একটি ইতিবাচক প্রবেশের পয়েন্ট সেট করে; যখন একটি নীচের দিকে বক্সের ব্রেকআপ ঘটে তখন কৌশলটি ব্রেকআপের কাছাকাছি একটি বিপরীত প্রবেশের পয়েন্ট সেট করে। একবার ট্রেডিং সিগন্যাল তৈরি হয়ে গেলে কৌশলটি পজিশন তৈরি করে এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং স্টপ পয়েন্ট সেট করে।
কৌশলটি একটি ট্রেডিং সময়সীমা নির্ধারণ করে এবং কেবলমাত্র সেই সময়ের মধ্যে ট্রেডিংয়ের সুযোগ খুঁজতে কাজ করে।
কৌশলটি প্রতিটি K লাইন গঠনের পরে বিচার করে যে পূর্ববর্তী দুটি K লাইনের সর্বোচ্চ এবং সর্বনিম্ন দামের মধ্যে উল্লেখযোগ্য ব্রেক রয়েছে কিনা।
২.১ যদি দ্বিতীয় K লাইনের সর্বনিম্ন মূল্য প্রথম K লাইনের সর্বোচ্চ মূল্যের চেয়ে বেশি হয়, তবে একটি ঊর্ধ্বমুখী বক্স ব্রেকআপ ঘটে।
২.২ যদি দ্বিতীয় K লাইনের সর্বোচ্চ মূল্য প্রথম K লাইনের সর্বনিম্ন মূল্যের চেয়ে কম হয়, তাহলে নিচের দিকে বক্স ব্রেকআপ ঘটে।
একটি বক্স ব্রেকিং সিগন্যাল নিশ্চিত করার পরে, কৌশলটি মূল K লাইনের সর্বোচ্চ বা সর্বনিম্ন দামের কাছাকাছি একটি ধনাত্মক বা বিপরীত প্রবেশের পয়েন্ট সেট করে।
একবার পজিশন তৈরি হয়ে গেলে, কৌশলটি ব্রেকআউটের দ্বিগুণ পরিমাণের উপর ভিত্তি করে স্টপ সেট করে, এই পদ্ধতির মাধ্যমে প্রবণতার ত্বরণকে ক্যাপচার করে।
এই কৌশলটি দ্বিতীয় K-রেখার সর্বনিম্ন বা সর্বোচ্চ মূল্যের অবস্থানে স্টপ লস সেট করে, যা ক্ষতির ঝুঁকি হ্রাস করে।
এই কৌশলটির সুবিধাগুলো হলঃ
এটা খুবই সহজ, সহজেই বোঝা যায় এবং সহজেই বাস্তবায়িত হয়।
K-Wire Box Breakthrough ব্যবহার করে বাজারের দিকনির্দেশনা এবং শক্তি নির্ধারণের জন্য উচ্চ নির্ভুলতা রয়েছে।
স্টপ লেভেল সেটিং দ্বারা ট্রেন্ডের ত্বরণ করার সুযোগ ধরা যায়। স্টপ গুণক সামঞ্জস্যযোগ্য।
একটি সুস্পষ্ট স্টপ লজিস্টিক রয়েছে যা একক ক্ষতি নিয়ন্ত্রণ করতে পারে।
কৌশলগত চিন্তাধারা নমনীয় এবং ব্যক্তিগত স্টাইল অনুযায়ী কাস্টমাইজ করা যায়।
তবে, এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
ব্রেকিং সিগন্যাল হতে পারে ভুয়া ব্রেকিং, যার ফলে ক্ষতির সম্ভাবনা পুরোপুরি এড়ানো যায় না।
স্টপ লস পয়েন্টগুলি প্রবেশের কাছাকাছি অবস্থিত, যা বাজারের উগ্রতার দ্বারা সহজেই ট্রিগার করা যেতে পারে।
ট্রেন্ডিং প্যাটার্ন নির্ধারণ করা অসম্ভব, এবং স্টপ লস প্রায়শই ঝড়ের সময় ট্রিগার করা হয়।
ট্রেডিং প্রজাতি এবং সময়কালের পার্থক্যের প্রভাব বিবেচনা করা হয় না।
এই কৌশলটি আরও উন্নত করতে, নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করা যেতে পারেঃ
বিভিন্ন প্রজাতি এবং সময়কালের উপর ভিত্তি করে অভিযোজিত ক্ষতি প্রতিরোধের প্যারামিটার সেট করুন।
প্রবণতা নির্ণয়ের জন্য প্রযুক্তিগত সূচকগুলি যুক্ত করুন এবং ঝড়ের সময় এড়াতে সহায়তা করুন।
ট্রেন্ড চালানোর জন্য পরবর্তীতে পজিশনিং করার সুযোগ তৈরি করুন।
সংমিশ্রণ পরিমাপ একটি ফিল্টারিং সংকেত দিয়ে একটি ব্রেকথ্রু সত্য বা মিথ্যা নির্ণয় করতে পারে।
মেশিন লার্নিং অ্যালগরিদম যুক্ত করা হয়েছে ট্রেন্ডের দিকনির্দেশনা নির্ধারণে সহায়তা করার জন্য।
এই কৌশলটি সহজ ব্রেকথ্রু নীতির উপর ভিত্তি করে ডিজাইন করা হয়েছে, ব্রেকথ্রু পরে ত্বরান্বিত অপারেশন ক্যাপচার করে অতিরিক্ত উপার্জন অর্জন করা। স্টপ লস এবং স্টপস্টপ সেটিং ব্যবহার করে ঝুঁকি নিয়ন্ত্রণ করা। কৌশলটি সহজেই বোঝা এবং বাস্তবায়ন করা যায়, ব্যক্তিগত চাহিদা এবং বাজারের পরিবেশের উপর ভিত্তি করে সামঞ্জস্য করা এবং অনুকূলিতকরণ করা যেতে পারে, এটির শক্তিশালী ব্যবহারিকতা রয়েছে।
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Dvitash
//@version=5
strategy("Casper SMC Silver Bullet", shorttitle = "Casper SB", overlay=true, calc_on_order_fills = true)
startTime = input(defval = "1000", title = "Start Time")
endTime = input(defval = "1600", title = "End Time")
contractAmt = input.int(defval = 2, title = "Contract Amount")
fvgCol = input.color(defval = color.rgb(63, 61, 179, 41), title = "FVG Color")
borderCol = input.color(defval = color.rgb(35, 33, 172, 41), title = "FVG Border Color")
fvgExtendLength = input.int(defval = 0, minval = 0, title = "FVG Extend Length")
allowedTime = not na(time(timeframe.period, startTime + "-" + endTime +":23456", "America/New_York"))
newDay = bool(ta.change(time('D')))
h = hour(time('1'), "America/New_York")
var bool fvgDrawn = na
var float entryPrice = na
var float stopPrice = na
var float tpPrice = na
if newDay
fvgDrawn := false
// a_allBoxes = box.all
// if array.size(a_allBoxes) > 0
// for i = 0 to array.size(a_allBoxes) - 1
// box.delete(array.get(a_allBoxes, i))
if allowedTime and barstate.isconfirmed and h <= 16
//Long FVG
if high[2] < low and not fvgDrawn
// box.new(bar_index[2], low, bar_index + fvgExtendLength, high[2], bgcolor = fvgCol, border_color = borderCol)
stopPrice := low[2]
entryPrice := low
tpPrice := entryPrice + (math.abs(low[2] - entryPrice) * 2)
// log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
strategy.entry("long", strategy.long, contractAmt, limit = entryPrice, comment = "Long Entry")
fvgDrawn := true
if low[2] > high and not fvgDrawn
// box.new(bar_index[2], high, bar_index + fvgExtendLength, low[2], bgcolor = fvgCol, border_color = borderCol)
stopPrice := high[2]
entryPrice := high
tpPrice := entryPrice - (math.abs(high[2] - entryPrice) * 2)
// log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
strategy.entry("short", strategy.short, contractAmt, limit = entryPrice, comment = "Short Entry")
fvgDrawn := true
if h >= 16
strategy.close_all()
strategy.cancel_all()
strategy.exit("long exit", from_entry = "long", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Long Exit")
strategy.exit("short exit", from_entry = "short", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Short Exit")