এই কৌশলটি দীর্ঘমেয়াদী আরএমএ গড় এবং স্বল্পমেয়াদী ইএমএ গড়ের সমন্বয় ব্যবহার করে প্রবণতা নির্ধারণ করে এবং উচ্চ-নিম্ন ব্রেকডাউন দিয়ে প্রবণতা ট্র্যাকিং স্টপ লস করে।
দীর্ঘমেয়াদী আরএমএ এবং স্বল্পমেয়াদী ইএমএ ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করুন। স্বল্পমেয়াদী ইএমএ এর নীচে দীর্ঘমেয়াদী আরএমএ পরা একটি উদাসীন সংকেত এবং উপরে পরা একটি পল্টু সংকেত।
যখন দাম সর্বশেষ নির্দিষ্ট চক্রের সর্বোচ্চ মূল্যকে অতিক্রম করে, তখন সর্বোচ্চ মূল্য অনুসরণ করে বন্ধ করা হয়। যখন দাম সর্বশেষ নির্দিষ্ট চক্রের সর্বনিম্ন মূল্যকে অতিক্রম করে, তখন সর্বনিম্ন মূল্য অনুসরণ করে বন্ধ করা হয়।
কোন লেনদেনের অঞ্চল সেট করুন, দামটি এই অঞ্চলে প্রবেশ করে তবে পজিশনটি খুলবে না, যাতে এটি বন্ধ না হয়। এই অঞ্চলটি আরএমএ গড়রেখার দ্বারা নির্ধারিত একটি নির্দিষ্ট অনুপাত দ্বারা নির্ধারিত হয়।
প্রবেশের পরে, একটি নির্দিষ্ট অনুপাতে মুনাফা প্রত্যাহারের জন্য একটি স্টপ মূল্য সেট করুন।
ডাবল-ইউনিভার্সাল প্যারেন্টিং ট্রেন্ডের দিকনির্দেশনা সঠিকভাবে এবং নির্ভরযোগ্যভাবে নির্ধারণ করে।
স্টপ ট্র্যাকিং পদ্ধতিটি স্টপ ট্র্যাকিংকে ট্রেন্ড অনুসরণ করতে দেয়।
ফালতু ব্রেকিং সিগন্যাল ফিল্টার করার জন্য কোন লেনদেনের এলাকা সেট করুন।
স্টপ-অফ সেটিংটি একটি কৌশলকে যখন পর্যাপ্ত মুনাফা অর্জন করে তখন এটিকে পজিশনে নেমে যেতে দেয়।
ডাবল ইভ্যালিউড লাইনে ডেডফোর্ক তৈরির ক্ষেত্রে বিলম্ব হতে পারে, যার ফলে ক্ষতির পরিমাণ বাড়তে পারে।
ট্র্যাকিং স্টপ লস পয়েন্টটি দামের খুব কাছাকাছি থাকলে এটি পূর্ববর্তী শব্দ দ্বারা আঘাত করা হতে পারে।
ট্রেডিং-মুক্ত এলাকাটি খুব বড় করে সেট করা হয়েছে, যার ফলে ট্রেডিংয়ের সুযোগ মিস করা হয়েছে।
সময়মত ক্ষতি বন্ধ না করলে ক্ষতি আরও বাড়তে পারে।
সমাধানঃ
গড়রেখার পরামিতি অপ্টিমাইজ করুন, বিলম্বের সম্ভাবনা কমিয়ে দিন।
“অতি সংবেদনশীলতা” এড়ানোর জন্য স্টপ পয়েন্টগুলি যথাযথভাবে শিথিল করুন।
পরীক্ষামূলকভাবে ট্রেড-ফ্রি অঞ্চলের সীমাবদ্ধতা নির্ধারণ করুন যাতে সুযোগটি মিস না হয়।
অন্যান্য ক্ষতি কমানোর উপায় যোগ করুন, সর্বোচ্চ ক্ষতি সীমাবদ্ধ করুন।
অন্যান্য সমান্তরাল সূচক সমন্বয় পরীক্ষা করুন এবং আরও মিলিত সমন্বয় খুঁজুন।
মূল্য ব্যবধান, MACD এবং অন্যান্য বিচারক সূচক বৃদ্ধি এবং কৌশলগত স্থিতিশীলতা বৃদ্ধি।
মেশিন লার্নিং অ্যালগরিদমের অপ্টিমাইজেশান প্যারামিটারগুলি প্রবর্তন করা যাতে কৌশলগুলি আরও বুদ্ধিমান হয়।
ট্রেডিংয়ে বিপরীতমুখী ট্রেডিং এড়ানোর জন্য প্রবণতা-শক্তিশালী সূচকগুলিকে একত্রিত করুন।
তহবিল ব্যবস্থাপনা কৌশলকে উন্নত করা এবং সাফল্যের হার বাড়ানো।
এই কৌশলটি প্রবণতার দিকনির্দেশের জন্য দ্বি-সমান্তর ব্যবহার করে এবং উচ্চ-নিম্ন পয়েন্টগুলি ট্র্যাক করে স্টপ লস এবং কোনও লেনদেনের অঞ্চল ফিল্টার করে ট্রেন্ড লাভের জন্য লক করে দেয়। কৌশলটির কাঠামোটি সহজ, পরিষ্কার এবং প্রসারণযোগ্য, প্যারামিটার ব্যাপ্তি, স্টপ লস কৌশলটি অনুকূলিতকরণ এবং অন্যান্য সহায়ক বিচার সূচক পদ্ধতি প্রবর্তনের মাধ্যমে অনুকূলিতকরণ করা যেতে পারে, যাতে কৌশলটি বিভিন্ন বাজারে ভাল কাজ করতে পারে
/*backtest
start: 2023-08-24 00:00:00
end: 2023-09-12 00:00:00
period: 3h
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/
// © PatrickGwynBuckley
//@version=5
//var initialCapital = strategy.equity
strategy("PB Trend Scalper", "PB Trend Scalper", overlay = true)
shortma = input.int(55, title="quick ma's")
longma = input.int(100, title="long ma's")
ema55h = ta.ema(high, shortma)
ema55l = ta.ema(low, shortma)
ema200h = ta.rma(high, longma)
ema200l = ta.rma(low, longma)
stock = ta.stoch(close, high, low, 14)
lev = input.int(3, title="leverage")
hhVal = input.int(170, title="Highest high period")
llVal = input.int(170, title="Lowest low period")
hh = ta.highest(high, hhVal)
ll = ta.lowest(low, llVal)
//plot(stock)
plot(hh, color=color.new(color.green, 50))
plot(ll, color=color.new(color.red, 50))
var float downtrade = 0
p = input.float(3.0, title="no trade zone")
l = 3
emadistlong = ema200h + ((ema200h/100)*p)
emadistshort = ema200l - ((ema200h/100)*p)
plot(ema55h)
plot(ema55l)
ntl = plot(emadistlong, color=color.new(color.red, 10))
nts = plot(emadistshort, color=color.new(color.red, 10))
fill(ntl, nts, color=color.new(color.red, 90))
//position size
EntryPrice = close
//positionValue = initialCapital
positionSize = (strategy.equity*lev) / EntryPrice
//plot(strategy.equity)
//standard short
if ema55h < ema200l and close[2] < ema55l and close[1] > ema55l and high[1] < ema55h and close < ema55h and ema55h < emadistshort and strategy.opentrades == 0// and stock > 85
strategy.entry("short", strategy.short, qty=positionSize, comment="short")
downtrade := 1
//reset count
if (ta.crossunder(ema55h, ema200l)) and downtrade == 1
downtrade := 0
//standard long
if ema55l > ema200h and close[2] > ema55h and close[1] < ema55h and low[1] > ema55l and close > ema55l and ema55l > emadistlong and strategy.opentrades <= 1// and stock < 15
strategy.entry("long", strategy.long, qty=positionSize, comment="long")
downtrade := 0
//RESET COUNT ON MA CROSS
if (ta.crossover(ema55l, ema200h)) and downtrade == 0
downtrade := 1
longclose2 = low < ll[1] or low < emadistshort //close < open and open<open[1] and open[2] < open[3] and open[3] < emadistshort//close < ta.lowest(low, 20)//
shortclose2 = high > hh[1] or high>emadistlong//close > open and open>open[1] and open[2]>open[3] and open[3] > emadistlong//high > emadistlong//close > ta.highest(high, 20)//
sl = 3.5
tp = input.float(6.9, title="take profit %")
tp2 = 10
strategy.exit("long exit", "long", profit = (strategy.position_avg_price*(tp)))//, loss = (strategy.position_avg_price*(sl)))
strategy.close("long", when = longclose2, comment = "long exit")
//strategy.close("long", when = (downtrade == 1), comment = "long exit")
//strategy.exit("long exit", "long2", profit = (strategy.position_avg_price*(tp2)))//, loss = (strategy.position_avg_price*(sl)))
//strategy.close ("long2", when = longclose2, comment = "long exit")
//strategy.close("long", when = (downtrade == 1), comment = "long exit")
strategy.exit("short exit", "short", profit = (strategy.position_avg_price*(tp)))//, loss = (strategy.position_avg_price*(sl)))//, loss = 300)
strategy.close("short", when = shortclose2, comment = "short exit")
//strategy.close("short", when = (downtrade == 0), comment = "short exit")
//strategy.exit("short exit", "short2", profit = (strategy.position_avg_price*(tp2)))//, loss = (strategy.position_avg_price*(sl)))
//strategy.close ("short2", when = shortclose2, comment = "short exit")
//strategy.close("short2", when = (downtrade == 0), comment = "short exit")
//if (strategy.exit("long exit", "long"))
//downtrade := 1
//else
// downtrade := 0