রিসোর্স লোড হচ্ছে... লোডিং...

ট্রেনিং স্টপ লস সহ ট্রেন্ড অনুসরণকারী কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি ট্রেন্ড অনুসরণকে ট্রেলিং স্টপ লস এবং লাভের যুক্তিকে লাভের জন্য ধারাবাহিকভাবে চালিত করার সাথে একত্রিত করে। এটি ট্রেন্ডের দিকনির্দেশ নির্ধারণ করতে এবং যখন দাম এমএ লাইনগুলি ভেঙে যায় তখন ট্রেডিং সংকেত উত্পন্ন করতে চলমান গড় ব্যবহার করে। দীর্ঘ অবস্থানে প্রবেশের পরে, কৌশলটি এটিআর মানের উপর ভিত্তি করে স্টপ লস সেট করে এবং ট্রেন্ডটি অনুসরণ করতে ট্রেলিং স্টপ লস লজিকের সাথে এটি সামঞ্জস্য করে। যখন দাম একটি নির্দিষ্ট স্তরে উঠে যায়, তখন কিছু লাভ লক করতে আংশিক লাভ লাগে।

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

  1. ব্যবহারকারীর ইনপুট উপর ভিত্তি করে ব্যাকটেস্ট শুরু এবং স্টপ টাইমস্ট্যাম্প সেট করুন.

  2. দীর্ঘ এবং সংক্ষিপ্ত স্টপ মূল্য, এবং ট্রেলিং শতাংশ শুরু করুন।

  3. যখন দাম এমএ লাইনের উপরে ভেঙে যায় তখন দীর্ঘ প্রবেশ করুন।

  4. এটিআর দিয়ে স্টপ লস দূরত্ব গণনা করুন এবং স্টপ লস মূল্য সেট করুন।

  5. যখন দাম বাড়তে থাকে, তখন আরও বেশি লাভের জন্য ক্ষতি বন্ধ করে দেয়।

  6. যখন দাম লাভের সীমা অতিক্রম করবে, তখন আংশিক লাভ হবে।

  7. যখন দাম এমএ লাইনের নিচে পড়ে তখন শর্ট এন্ট্রি করুন।

  8. এটিআর দিয়ে স্টপ লস দূরত্ব গণনা করুন এবং স্টপ লস মূল্য সেট করুন।

  9. যখন দাম কমতে থাকে, তখন আরও বেশি লাভের জন্য হ্রাস বন্ধ করে দেয়।

  10. যখন দাম লাভের সীমা অতিক্রম করবে, তখন আংশিক লাভ হবে।

সুবিধা

  • ট্রেজিং স্টপ লস ট্রেন্ড অনুসরণ করতে পারে এবং লাভ রক্ষা করার সময় আরও লাভ অর্জন করতে পারে।

  • গতিশীল এটিআর স্টপ লস ফিক্সড স্টপ লসের চেয়ে বাজারের ওঠানামাতে ভাল প্রতিক্রিয়া দেখায়।

  • আংশিক মুনাফা গ্রহণ কিছু লাভকে লক করতে সাহায্য করে এবং ড্রাউনডাউন ঝুঁকি হ্রাস করে।

  • সহজ এবং সুস্পষ্ট যুক্তি, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়।

ঝুঁকি

  • হঠাৎ প্রবণতা বিপরীতমুখী হলে বড় ক্ষতির কারণ হতে পারে।

  • ATR এর উপর ভিত্তি করে স্টপ লস খুব সংবেদনশীল হতে পারে এবং অকাল বন্ধ হয়ে যেতে পারে।

  • অপ্রয়োজনীয় আংশিক লাভের অনুপাত প্রবণতা মিস করতে পারে বা ক্ষতি বাড়িয়ে তুলতে পারে।

  • অনেক প্যারামিটার অপ্টিমাইজ করা দরকার, যেমন এটিআর সময়কাল, ট্রেলিং শতাংশ, মুনাফা গ্রহণের অনুপাত।

  • কৌশলটি শুধুমাত্র এমএ এবং এটিআর-এর উপর নির্ভর করে, ভুল সংকেত দেখা দিতে পারে।

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

  • ট্রেডিং সিগন্যাল ফিল্টার করতে এবং ভুল এমএ সিগন্যাল এড়াতে এমএসিডি, কেডি এর মতো অন্যান্য সূচক যুক্ত করুন।

  • প্রবণতার শক্তির উপর ভিত্তি করে গতিশীল লাভের অনুপাত বিবেচনা করুন।

  • সর্বোত্তম স্থিতিশীলতার জন্য বিভিন্ন ATR সময় পরীক্ষা করুন। অথবা স্টপ লস জন্য অন্যান্য সূচক ব্যবহার করুন।

  • স্বয়ংক্রিয়ভাবে প্যারামিটার অপ্টিমাইজ করতে এবং গতিশীলভাবে সেগুলি সামঞ্জস্য করতে মেশিন লার্নিং চালু করুন।

  • প্রবণতা সনাক্ত করতে এবং স্বয়ংক্রিয়ভাবে সংকেত তৈরি করতে গভীর শেখার মডেল ব্যবহার করুন।

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

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


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
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/
// © felipefs

//@version=4
strategy("Meu Script", overlay=true)
plot(ohlc4)

//Funçao de Datas
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(6, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false

//Funções de Trailing Stop
long_stop_price = 0.0
short_stop_price = 0.0
long_trail_perc = 0
short_trail_perc = 0

long_stop_price := if (strategy.position_size > 0)
    stopValue = close * (1 - long_trail_perc)
    max(stopValue, long_stop_price[1])
else
    0

short_stop_price := if (strategy.position_size < 0)
    stopValue = close * (1 + short_trail_perc)
    min(stopValue, short_stop_price[1])
else
    999999

//Função de Debug
debug(value) =>
    x = bar_index
    y = close
    label.new(x, y, tostring(value))
    
//Take Profit
profit = close * (1 + 0.12)
strategy.entry("Long", true)
strategy.exit("Take Profit 1 Long", from_entry="Long", limit=profit, qty_percent=50.0)
 
//ATR Stop
 
// xATRTrailingStopLong = 0.0
// xATR = atr(nATRPeriod)
// nLossLong = nATRMultipLong * xATR

// if (strategy.position_size > 0)
//     xATRTrailingStopLong := max(nz(xATRTrailingStopLong[1]), close - nLossLong)

আরো