
এই কৌশলটির নাম হল “কে-লাইন ক্লোজিং প্রাইস ওভারফ্লো তুলনা এবং ইএমএ ফিল্টারের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল”। এই কৌশলটি ইএমএ ফিল্টারের সাথে মিলিত হয় এবং ট্রেডিংয়ের সময়কালের সাথে সামঞ্জস্যপূর্ণ হলে ইএমএ ফিল্টারের সাথে মিলিত হয়। এই কৌশলটি সাম্প্রতিক একটি নির্দিষ্ট সময়ের মধ্যে কে-লাইনের ক্লোজিং প্রাইস দ্বারা গঠিত মাল্টি-হেড কে-লাইন এবং খালি হেড কে-লাইনের সংখ্যা পরিসংখ্যান দ্বারা বিচার করে।
এই কৌশলটির কেন্দ্রীয় যুক্তি হল সাম্প্রতিক লুকব্যাক চক্রের মধ্যে উত্থান-প্রান্তিকের K লাইন সংখ্যা upCloseCount এবং পতন-প্রান্তিকের K লাইন সংখ্যা downCloseCount, যদি উত্থান-প্রান্তিকের সংখ্যা বেশি হয় তবে এটি একটি মাল্টি-হেড বাজার হিসাবে বিচার করা হয় এবং যদি পতন-প্রান্তিকের সংখ্যা বেশি হয় তবে এটি একটি খালি বাজার হিসাবে বিচার করা হয়। একই সাথে দামের প্রবণতা নির্ধারণের জন্য ইএমএ সূচক এবং ফিল্টার হিসাবে, কেবলমাত্র যখন দাম ইএমএর চেয়ে বেশি হয় তখনই অতিরিক্ত বিবেচনা করা হয় এবং যখন দাম ইএমএর চেয়ে কম হয় তখনই খালি বিবেচনা করা হয়। তদতিরিক্ত, কৌশলটি ট্রেডিং সময়কাল সেশন 1 এবং সেশন 2 সেট করে, এবং এই সময়কালের মধ্যে কেবলমাত্র দুটি ট্রেডিং হয়।
এই সিদ্ধান্তের যৌক্তিকতা হলঃ
একাধিক সিগন্যাল ট্রিগার শর্তঃ inSession true ((ট্রেডিংয়ের সময়কালের মধ্যে) এবং upCloseCount > downCloseCount ((উপরে ক্লোজড K লাইন বেশি) এবং close > ema ((ক্লোজড দাম ইএমএর চেয়ে বেশি) এবং currentSignal “long” নয় ((বর্তমানে কোন অবস্থান নেই))
খালি মাথা সিগন্যাল ট্রিগার শর্তঃ inSession সত্য এবং downCloseCount > upCloseCount ((নিম্ন বন্ধের K লাইন বেশি) এবং close < ema ((ক্লোজিং মূল্য EMA এর নীচে) এবং currentSignal “শর্ট” নয় ((বর্তমানে কোন অবস্থান নেই))
প্রতিকারঃ
এই কৌশলটি একটি নির্দিষ্ট historicalতিহাসিক সময়ের মধ্যে কে লাইন বন্ধের দামের গঠনের একাধিক এবং খালি কে লাইনের সংখ্যা পরিসংখ্যান করে, ইএমএ সূচকের ফিল্টারিং প্রভাবের সাথে মিলিত হয়, সেট করা নির্দিষ্ট ট্রেডিং সময়ের মধ্যে প্রবণতা সংকেত সনাক্ত করে। এটির একটি নির্দিষ্ট ট্রেডিং ট্র্যাকিং প্রভাব রয়েছে। তবে কিছু ভুল ট্রেডিংয়ের ঝুঁকিও রয়েছে, যা প্যারামিটার অপ্টিমাইজেশন, স্টপ লস কৌশল, ফিল্টারিং সিগন্যাল ইত্যাদির মাধ্যমে উন্নতি করা দরকার, যা পরিমাপের সময় কার্যকারিতা যাচাই করে।
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Up vs Down Close Candles Strategy with EMA and Session Time Frames", shorttitle="UvD Strat EMA Session", overlay=true)
// User input to define the lookback period, EMA period, and session strings for time frames
int lookback = input(20, title="Lookback Period")
int emaPeriod = input(50, title="EMA Period")
string session1 = input("0900-1200", title="Time Frame 1 Session")
string session2 = input("1300-1600", title="Time Frame 2 Session")
// Calculate the EMA
float ema = ta.ema(close, emaPeriod)
// State variable to track the current signal
var string currentSignal = na
// Counting up-close and down-close candles within the lookback period
int upCloseCount = 0
int downCloseCount = 0
if barstate.isnew
upCloseCount := 0
downCloseCount := 0
for i = 0 to lookback - 1
if close[i] > close[i + 1]
upCloseCount += 1
else if close[i] < close[i + 1]
downCloseCount += 1
// Define the long (buy) and short (sell) conditions with EMA filter and session time frame
bool inSession = time(timeframe.period, session1) or time(timeframe.period, session2)
bool longCondition = inSession and upCloseCount > downCloseCount and close > ema and currentSignal != "long"
bool shortCondition = inSession and downCloseCount > upCloseCount and close < ema and currentSignal != "short"
// Enter or exit the market based on conditions
if longCondition
currentSignal := "long"
strategy.entry("Buy", strategy.long)
if shortCondition
currentSignal := "short"
strategy.entry("Sell", strategy.short)
// Exit logic for long and short positions
if currentSignal == "long" and strategy.position_size <= 0
strategy.close("Sell")
if currentSignal == "short" and strategy.position_size >= 0
strategy.close("Buy")
plot(ema, color=color.blue, title="EMA")