শেয়ার ট্রেডিংয়ের জন্য বিস্তৃত চলমান গড় পরিসীমা সহ মার্টিনগেল কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-০২ ১৭ঃ১৬ঃ০৮
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি চলমান গড়ের মধ্যে ব্যবধান প্রসারিত করে প্রবণতা সনাক্ত করে। যখন একটি আপ ট্রেন্ড সনাক্ত করা হয়, এটি ধীরে ধীরে প্রবণতা থেকে মুনাফা অর্জনের জন্য দীর্ঘ অবস্থান তৈরি করে। একই সময়ে, ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস পয়েন্টগুলি সেট করা হয়।

কৌশলগত যুক্তি

  1. দুটি চলমান গড়, EMA1 এবং EMA2, সামান্য ভিন্ন সময়ের সাথে সেট করুন, উদাহরণস্বরূপ 55 এবং 89. এটি এমএগুলির মধ্যে একটি বৃহত্তর পরিসীমা তৈরি করে।

  2. যখন দাম এমএ এর উপরে ভেঙে যায়, তখন এটি একটি আপগ্রেড প্রবণতার সংকেত দেয়। তারপর ধীরে ধীরে দীর্ঘ পজিশন তৈরি করা যেতে পারে।

  3. একটি পজিশন নেওয়ার পর, যখন দাম বাড়তে থাকে তখন পিরামিডিং চালিয়ে যান। এটি প্রবণতা থেকে উচ্চ মুনাফা দেয়।

  4. এমএ এর নীচে একটি স্টপ লস পয়েন্ট সেট করুন। যখন দাম এমএ এর নীচে পড়ে, স্টপ লস বন্ধ করতে দীর্ঘ বন্ধ করুন। স্টপ লস প্রবেশের দামের সাথে ভাসমান।

  5. এটি ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করার সময় একটি প্রবণতা থেকে মুনাফা অর্জনের জন্য পিরামিডিং পজিশনগুলিকে অনুমতি দেয়।

সুবিধা বিশ্লেষণ

  1. বৃহত্তর এমএ ব্যাপ্তি স্পষ্টভাবে প্রবণতা সনাক্ত করতে সহায়তা করে।

  2. পিরামিডিং ট্রেন্ড থেকে উচ্চতর রিটার্ন সৃষ্টি করে।

  3. ডায়নামিক স্টপ লস হ্রাসকে সীমাবদ্ধ করার সময় প্রবণতা থেকে মুনাফা নেয়।

  4. দীর্ঘমেয়াদী ট্রেন্ড ট্রেডিং এর জন্য উপযুক্ত।

ঝুঁকি বিশ্লেষণ

  1. প্রবণতা সঠিকভাবে চিহ্নিত করতে হবে, অন্যথায় ক্ষতির গতি ত্বরান্বিত হবে।

  2. মার্জিন কল ঝুঁকি এড়াতে পিরামিডিং নিয়ন্ত্রণ করা উচিত।

  3. স্টপ লসকে যুক্তিসঙ্গতভাবে সেট করতে হবে, খুব বড় ক্ষতি বাড়তে পারে, খুব শক্ত হুইপস এর কারণ হতে পারে।

  4. তরলতা বিবেচনা করা উচিত, নিম্ন তরলতা সম্পদ উপযুক্ত নয়।

অপ্টিমাইজেশন পরামর্শ

  1. প্রবণতা নিশ্চিত করতে আরএসআই, কেডি এর মতো আরও সূচক যুক্ত করুন এবং মিথ্যা ব্রেকআউট এড়ান।

  2. সর্বোত্তম সমন্বয় খুঁজে পেতে সম্পদ বৈশিষ্ট্যগুলির উপর ভিত্তি করে এমএ সময়কাল অপ্টিমাইজ করুন।

  3. অবস্থান আকারের ঝুঁকি নিয়ন্ত্রণের জন্য সর্বোত্তম পিরামিডিং মডেলগুলি গবেষণা করুন।

  4. মুনাফা অর্জন এবং হ্রাস হ্রাস করার জন্য আংশিক মুনাফা গ্রহণ বিবেচনা করুন।

  5. সুরক্ষার ভারসাম্য বজায় রাখতে এবং হুইপস এড়ানোর জন্য সম্পদের অস্থিরতার উপর ভিত্তি করে স্টপ লস সেট করুন।

সংক্ষিপ্তসার

এই কৌশলটি বৃহত্তর এমএ পরিসীমা সহ প্রবণতা চিহ্নিত করে, প্রবণতা থেকে লাভ অর্জনের জন্য পিরামিড অবস্থান এবং ঝুঁকি নিয়ন্ত্রণের জন্য একটি ভাসমান স্টপ লস সেট করে। এটি প্রবণতায় ভাল রিটার্ন অর্জন করতে পারে তবে বিভিন্ন সম্পদে আরও শক্তিশালী হওয়ার জন্য এন্ট্রি সিগন্যাল, পিরামিডিং, স্টপ লস ইত্যাদিতে আরও অপ্টিমাইজেশনের প্রয়োজন।


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy(title='Super Simple Martingale Buying', shorttitle="Martingale v5",overlay=true, pyramiding = 10, initial_capital=1, calc_on_order_fills = true)


// Revision:        1
// Author:          @ToS_MavericK

// === INPUT SMA ===
EMA1  = input(55)
EMA2  = input(89)

Amount  = input(defval = 6, type = float, title = "Max open Orders", minval = 1, step = 1)
Multiplier  = input(defval = 2  , type = float, title = "Multiplier", minval = 1, step = 0.1)
BuyLvl  = input(defval = 1, type = float, title = "BuyLvl", minval = 0, step = 0.1)
Profit  = input(3)
DoubleUpLimit    = input(2)

// === INPUT BACKTEST RANGE ===
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth   = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear    = input(defval = 2019, title = "From Year", minval = 2012)
ToDay   = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear  = input(defval = 2020, title = "To Year", minval = 2012)

RSIFilter = input(false)
minRSI  = input(defval = 35,  title = "RSI", minval = 1, step = 1)
lengthRSI = input(14, minval=1)
src = input(close, title="RSI Source")

StochRSIFilter = input(false)
lengthStoch = input(14, minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)

rsi = rsi(src, lengthRSI)
k = sma(stoch(rsi, rsi, rsi, lengthStoch), smoothK)
d = sma(k, smoothD)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// === SERIES SETUP ===
vEMA1 = ema(close, EMA1)
vEMA2 = ema(close, EMA2)

buy  =  (rsi < minRSI or RSIFilter == false) and ((crossover(k,d) and k < 20) or StochRSIFilter == false) and ((close < vEMA1 * (1 - BuyLvl/100) and vEMA1 < vEMA2) or (close < vEMA2 * (1 - BuyLvl/100) and vEMA2 < vEMA1))

BuyPrice = strategy.position_avg_price * (1 - DoubleUpLimit/50)
SellPrice = strategy.position_avg_price * (1 + Profit/(100*strategy.opentrades))

// Exit first, due to the limit orders, which can be hit on the same bar
strategy.exit("EMA1", limit = SellPrice, when = window() and strategy.opentrades > 0)
strategy.close("EMA1",when = time > finish) // close positions at the end of the specified time period

// Normal entry
strategy.entry("EMA1", strategy.long,qty = strategy.equity/ (close * pow(2,Amount - 1)), when = window() and strategy.opentrades == 0 and buy)
// Martingale
strategy.entry("EMA1", strategy.long,qty = strategy.position_size, limit = strategy.position_avg_price * (1 - DoubleUpLimit/100), when = window() and strategy.opentrades == 1)
strategy.entry("EMA1", strategy.long,qty = strategy.position_size, limit = BuyPrice, when = window() and strategy.opentrades > 1 and strategy.opentrades < Amount)

plot(vEMA1, title = 'EMA1', color = orange, linewidth = 2, style = line)
plot(vEMA2, title = 'EMA2', color = yellow, linewidth = 2, style = line)
plot(BuyPrice[1], title = 'BuyPrice', color = red, linewidth = 2, style = line)
plot(SellPrice[1], title = 'SellPrice', color = green, linewidth = 2, style = line)

আরো