গ্রিড কৌশল অনুসরণকারী প্রবণতা

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

img

সারসংক্ষেপ

এই কৌশলটি গ্রিড কৌশল অনুসরণ করে একটি প্রবণতা যা কেবল দীর্ঘ হয় এবং সংক্ষিপ্ত হয় না, যখন প্রধান প্রবণতা আপ হয় তখন সময়কাল নির্বাচন করে। ডিফল্ট গ্রিডের আকার 1xATR হয়, অর্ডারগুলি তাড়া করার জন্য 1, 2, 3 গ্রিড স্তরগুলি নীচে তৈরি করে এবং 5 ম গ্রিড ক্ষতি বন্ধ করে। যখন খালি অবস্থান পূর্ববর্তী গ্রিডে পৌঁছে যায়, তখন পুরো গ্রিডটি দামটি ট্র্যাক করতে উপরে চলে যায়।

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

  1. প্রধান প্রবণতা দিক বিচার EMA লাইন ব্যবহার করুন, EMA12 EMA144 চেয়ে বড় মানে প্রধান প্রবণতা আপ হয়
  2. প্রধান প্রবণতা বাড়ার সময় শুধুমাত্র লং পজিশন খুলুন
  3. ডিফল্ট গ্রিড আকার 1xATR, গুণক সামঞ্জস্য করা যাবে
  4. দাম ট্র্যাক করতে এবং পৃথকভাবে লং পজিশন খুলতে 1, 2, 3 গ্রিড স্তরগুলি নীচে তৈরি করুন
  5. ৫ম গ্রিডে স্টপ লস পয়েন্ট সেট করুন
  6. পজিশন খোলার পর, স্টপ লস পয়েন্ট সেট করুন এবং লাভ পয়েন্ট নিন
  7. যখন মূল্য বৃদ্ধি পায় তখন মুনাফা গ্রহণের পয়েন্টটি অতিক্রম করে পজিশন বন্ধ করুন
  8. যখন মূল্য পতনের সময় স্টপ লস পয়েন্টে পৌঁছায় তখন পজিশন বন্ধ করুন
  9. সব পজিশন বন্ধ করার পর, যদি মূল্য আবার শেষ গ্রিড মাধ্যমে বিরতি, গ্রিড অবস্থান এবং পরিমাণ পুনরায় হিসাব আপ ট্র্যাক করতে

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

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

  1. প্রধান প্রবণতা দিক নির্ধারণের জন্য ইএমএ ব্যবহার করুন, প্রবণতার বিরুদ্ধে পজিশন খোলা এড়িয়ে চলুন
  2. একক পজিশনের ঝুঁকি কমাতে গ্রিড ট্রেডিং পৃথকভাবে পজিশন খুলতে পারে
  3. স্টপ লস এবং লাভ নিন লাভে লক, সর্বোচ্চ ক্ষতি নিয়ন্ত্রণ
  4. সব পজিশন বন্ধ করার পর, পুনরায় গণনা গ্রিড অনুসরণ অব্যাহত লাভ স্থান প্রসারিত করতে পারেন

প্রধান সুবিধা হল ট্রেন্ড ট্রেডিং এবং গ্রিড ট্রেডিং একত্রিত করা, যা ট্রেন্ডের দিকের সঠিকতা নিশ্চিত করে এবং গ্রিড ট্রেডিংয়ের ঝুঁকি ছড়িয়ে দেওয়ারও অর্জন করে। উপরন্তু, অবস্থান বন্ধ হওয়ার পরে গ্রিডগুলি পুনরায় গণনা করা সীমাহীন তাড়া করার অনুমতি দেয়, যখন একটি বড় সমাবেশ হয় তখন বিশাল মুনাফা অর্জন করে।

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

  1. প্রধান প্রবণতা মূল্যায়ন ভুল হতে পারে, ভুল দিক প্রবেশ
  2. গ্রিডগুলিতে বড় ধরনের ক্ষতির কারণ হয়ে ওঠে এমন উল্লেখযোগ্য পার্শ্বীয় অস্থিরতা
  3. স্টপ লস খুব তাড়াতাড়ি সক্রিয়, সব পজিশন বন্ধ
  4. পলব্যাকের পর অপ্টিম্যাল এন্ট্রি পয়েন্টে পুনরায় প্রবেশ করতে ব্যর্থ

মূল ঝুঁকি হল প্রধান প্রবণতা দিকের ভুল বিচার, যা প্রবণতার বিরুদ্ধে অবস্থান এবং বিশাল ক্ষতির দিকে পরিচালিত করবে। এছাড়াও, যদি একাধিক গ্রিড আটকে থাকা উচ্চ পার্শ্বীয় অস্থিরতা থাকে তবে ক্ষতি আরও বাড়বে। উপরন্তু, দ্রুত দামের পতন স্টপ লস ট্রিগার করতে পারে এবং সমস্ত অবস্থান বন্ধ করতে পারে, পরবর্তী লাভের সুযোগ হারাতে পারে। পলব্যাকের পরে প্রাথমিক অনুকূল গ্রিড স্তরে পুনরায় প্রবেশ করা কঠিন হবে।

প্রধান প্রবণতা রায়ের নির্ভুলতা EMA পরামিতি অপ্টিমাইজ করার মাধ্যমে উন্নত করা যেতে পারে। গ্রিড ব্যবধান এবং প্রথম এন্ট্রি আকার সামঞ্জস্য করা সামগ্রিক ক্ষতি নিয়ন্ত্রণ করতে পারে। স্টপ লস অবস্থান বাজারের অস্থিরতার ফ্রিকোয়েন্সি বিবেচনা করতে হবে। এছাড়াও, সমস্ত অবস্থান বন্ধ করার পরিবর্তে আংশিক অবস্থানের জন্য মুনাফা গ্রহণ বিবেচনা করা যেতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশলটি নিম্নলিখিত দিকগুলিতেও অপ্টিমাইজ করা যেতে পারেঃ

  1. প্রধান প্রবণতা মূল্যায়নের নির্ভুলতা উন্নত করার জন্য ইএমএ পরামিতিগুলি অপ্টিমাইজ করুন
  2. ঝুঁকি-প্রতিদান অনুপাত অপ্টিমাইজ করার জন্য গ্রিডের ব্যবধান এবং পরিমাণগুলি সামঞ্জস্য করুন
  3. স্টপ লস এবং লাভ নেওয়ার যুক্তি উন্নত করুন, যেমন আংশিক লাভ, ট্রেলিং স্টপ লস ইত্যাদি
  4. প্রত্যাহারের সময় অকাল পুনরায় প্রবেশ এড়াতে পুনরায় প্রবেশের শর্তে আরও বিধিনিষেধ যুক্ত করুন
  5. সর্বোত্তম প্রবেশের সময় নির্ধারণের জন্য আরও সূচক অন্তর্ভুক্ত করুন, উদাহরণস্বরূপ ক্যান্ডেলস্টিক প্যাটার্ন, সূচক সংবেদনশীলতা ইত্যাদি
  6. অস্বাভাবিক বাজার পরিস্থিতিতে বিশাল ক্ষতি এড়ানোর জন্য অস্বাভাবিক সনাক্তকরণ যোগ করুন

এই অপ্টিমাইজেশান ব্যবস্থাগুলির মাধ্যমে, কৌশলটি উল্লেখযোগ্য প্রবণতার সময় বৃহত্তর মুনাফা অর্জন করতে পারে, একই সাথে ঝুঁকি নিয়ন্ত্রণ এবং স্বাভাবিক পার্শ্বীয় অস্থিরতার ক্ষতি হ্রাস করতে পারে।

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

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


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 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/
// © zxcvbnm3260

//@version=5
strategy("grid strategy long", overlay=true)


// 版本更新记录:
// v1.0 2021/11/09 只做多、不做空,选择大趋势向上的时间段。网格大小默认为1倍ATR,往下1、2、3个网格吃单,第5个网格止损。空仓时到达往上一个网格则网格整体抬升。(Only go long, not short, choose a time period when the general trend is up. The default grid size is 1x ATR, the next one, two, and three grids will take orders, and the fifth grid will stop loss. When the empty position reaches the upper grid, the grid as a whole rises.)


X_ATR = input.float(title='网格大小是多少倍ATR?', defval = 1)


// 1.基础变量
ema169 = ta.ema(close, 169)
ema144 = ta.ema(close, 144)
ema12 = ta.ema(close, 12)

ema576 = ta.ema(close, 576)
ema676 = ta.ema(close, 676)

plot(ema169, color=color.new(color.orange, 0), linewidth=2)
// plot(ema144, color=color.orange)
plot(ema12,  color=color.blue)
// plot(ema676, color=color.orange, linewidth=1)

mtr = math.max(high - low, math.abs(close[1] - high), math.abs(close[1] - low))
atr = ta.ema(mtr, 30)

is_0930 = hour(time, 'GMT-4') == 9  and minute(time, 'GMT-4') == 30
is_1500 = hour(time, 'GMT-4') == 15 and minute(time, 'GMT-4') == 00
is_1530 = hour(time, 'GMT-4') == 15 and minute(time, 'GMT-4') == 30

is_yangxian = close>open
is_yinxian = close<open

// 2.基本趋势标记

big_trend  = ema12 >= ema169 ? 1 : 0
big_trend2 = ema12 <= ema169 ? 1 : 0

// 背景的变色处理:
bgcolor(big_trend == 1 ? color.new(color.green, 90) : color.new(color.red, 90) )

// 3.网格点位初始化

grid_size = atr * X_ATR // 网格大小
        
price_entry1 = open - grid_size*1
price_entry2 = open - grid_size*2
price_entry3 = open - grid_size*3
price_stop_loss = open - grid_size*5

price_exit1 = price_entry1 + grid_size*1
price_exit2 = price_entry2 + grid_size*1
price_exit3 = price_entry3 + grid_size*1

qty1 = int(1000/price_entry1)
qty2 = int(1000/price_entry2)
qty3 = int(1000/price_entry3)


// 标出各种点位
slm_lines_time(time, price_entry1, price_entry2, price_entry3, price_stop_loss, price_exit1)=>
    time2 = time + 1000*3600*24*5
    line.new(time, price_stop_loss, time2, price_stop_loss, color=color.red, xloc = xloc.bar_time, width=2)  // 止损位
    line.new(time, price_entry1, time2, price_entry1, color=color.green, xloc = xloc.bar_time)  // 
    line.new(time, price_entry2, time2, price_entry2, color=color.green, xloc = xloc.bar_time)  // 
    line.new(time, price_entry3, time2, price_entry3, color=color.green, xloc = xloc.bar_time)  // 
    line.new(time, price_exit1,  time2, price_exit1,  color=color.green, xloc = xloc.bar_time, width=2)  // 

slm_lines(time, price_entry1, price_entry2, price_entry3, price_stop_loss, price_exit1)=>
    line.new(bar_index, price_stop_loss, bar_index[5], price_stop_loss, color=color.red, xloc = xloc.bar_index, width=2)  // 止损位
    line.new(bar_index, price_entry1, bar_index[5], price_entry1, color=color.green, xloc = xloc.bar_index)  // 
    line.new(bar_index, price_entry2, bar_index[5], price_entry2, color=color.green, xloc = xloc.bar_index)  // 
    line.new(bar_index, price_entry3, bar_index[5], price_entry3, color=color.green, xloc = xloc.bar_index)  // 
    line.new(bar_index, price_exit1,  bar_index[5], price_exit1,  color=color.green, xloc = xloc.bar_index, width=2)  // 


// 4.网格点位更新和下单

is_entry0 = big_trend==1 and year>=2020

var is_entry = false

// 未进场时:
if is_entry0 and not is_entry
    is_entry := true
    
    grid_size := atr * X_ATR // 网格大小
    
    price_entry1 := close - grid_size*1
    price_entry2 := close - grid_size*2
    price_entry3 := close - grid_size*3
    price_stop_loss := close - grid_size*5
    
    price_exit1 := price_entry1 + grid_size*1
    price_exit2 := price_entry2 + grid_size*1
    price_exit3 := price_entry3 + grid_size*1
    
    qty1 := int(1000/price_entry1)
    qty2 := int(1000/price_entry2)
    qty3 := int(1000/price_entry3)
    
    // slm_lines(time, price_entry1, price_entry2, price_entry3, price_stop_loss, price_exit1)
    
    strategy.entry("open1", strategy.long, qty1, limit = price_entry1)
    strategy.entry("open2", strategy.long, qty2, limit = price_entry2)
    strategy.entry("open3", strategy.long, qty3, limit = price_entry3)
    
    strategy.exit("close1", qty = qty1, limit = price_exit1, stop = price_stop_loss)
    strategy.exit("close2", qty = qty2, limit = price_exit2, stop = price_stop_loss)
    strategy.exit("close3", qty = qty3, limit = price_exit3, stop = price_stop_loss)

// 已进场的各类情况

// 1.止损
if is_entry and close <= price_stop_loss
    strategy.close_all()
    is_entry := false

// 2.网格抬升
if is_entry and close >= price_exit1
    is_entry := false
        




আরো