গোলাকার সংখ্যা ট্র্যাকিং কৌশল

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

সারসংক্ষেপ

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

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

এই কৌশলটির প্রধান নিয়ম হল:

  1. যখন বন্ধের মূল্য একটি মূল মূল্যের স্তরের উপরে থাকে এবং গত ১০ বার এই স্তর স্পর্শ করেনি, তখন লম্বা হয়।

  2. মূল্য মূল স্তরটি ভেঙে যাওয়ার পরে গতি অনুসরণ করতে 20 পয়েন্টের ধাপের সাথে একটি ট্রেলিং স্টপ ব্যবহার করুন।

  3. বিক্রয় সংকেত বিপরীত - যখন বন্ধ মূল স্তরের নিচে এবং গত 10 বার এটি স্পর্শ করেনি, সংক্ষিপ্ত যান।

  4. মূল স্তরগুলি হলঃ

    • বন্ধ মূল্যকে পূর্ণসংখ্যায় রূপান্তর করুন
    • 50 দ্বারা বিভক্ত থেকে অবশিষ্ট গণনা করুন (কনফিগারযোগ্য)
    • যদি অবশিষ্ট > ২৫ হয়, তাহলে পরবর্তী ৫০টি পূর্ণসংখ্যাকে মূল স্তর হিসেবে ব্যবহার করুন।
    • অন্যথায় কী স্তর অপরিবর্তিত রাখুন

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

সুবিধা

এই কৌশলটির সুবিধাগুলো হল:

  1. সহজ এবং স্বজ্ঞাত ট্রেডিং সংকেত এবং প্রবেশের নিয়ম।
  2. ইনস্ট্রুমেন্ট-নির্দিষ্ট নিয়মের পরিবর্তে মূল মূল্যের সার্বজনীন প্যাটার্ন ব্যবহার করে।
  3. ট্রেন্ড চালানোর সময় ট্রেনিং স্টপ লাভের ক্ষেত্রে লক করে দেয়।

ঝুঁকি

যেসব ঝুঁকি বিবেচনা করা উচিতঃ

  1. মূল স্তরগুলি সবসময় শক্তিশালী সমর্থন / প্রতিরোধ হিসাবে কাজ করতে পারে না। ভুয়া ব্রেকআউট সম্ভব।
  2. ফিক্সড ১০ বার লুকব্যাক বিভিন্ন যন্ত্রের জন্য উপযুক্ত নাও হতে পারে।
  3. ট্রেলিং স্টপ দূরত্ব খুব বড় হওয়া উচিত নয়, অন্যথায় এটি অকাল থামতে পারে।

সম্ভাব্য সমাধান:

  1. মূল স্তরের শক্তি নির্ধারণের জন্য আরও ফিল্টার যুক্ত করুন, যেমন ভলিউম।
  2. বিভিন্ন যন্ত্রের জন্য লুকব্যাক সময়ের মত প্যারামিটার অপ্টিমাইজ করুন।
  3. আরও অভিযোজনশীল হওয়ার জন্য ট্রেলিং স্টপ মেকানিজমকে অপ্টিমাইজ করুন।

উন্নতির সুযোগ

কৌশলটি নিম্নলিখিতগুলির মাধ্যমে উন্নত করা যেতে পারেঃ

  1. মূল স্তরের গুরুত্ব নিশ্চিত করার জন্য আরও শর্ত যুক্ত করা এবং জালিয়াতি এড়ানো। উদাহরণস্বরূপ, ভলিউমের সাথে একত্রিত করুন।

  2. যন্ত্রের বৈশিষ্ট্যের উপর ভিত্তি করে মূল স্তরের পরিসীমা এবং পুনর্বিবেচনার সময়কালের মতো পরামিতিগুলি অনুকূল করা।

  3. ট্রেলিং স্টপ মেকানিজম উন্নত করা, যেমন স্থির পয়েন্ট ট্রেলের পরিবর্তে গতিশীল ব্যবহার করা।

  4. ঐতিহাসিক তথ্য ব্যবহার করে মূল স্তরের শক্তি নির্ধারণের জন্য মেশিন লার্নিং অন্তর্ভুক্ত করা।

  5. উচ্চতর টিএফ প্রবণতা এবং কম টিএফ ট্র্যাকিং সহ মাল্টি-টাইমফ্রেম সিস্টেমে প্রসারিত হচ্ছে।

সিদ্ধান্ত

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


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Strategy based on the idea that stop loss and take profit are often placed at full price levels or round numbers, whcih acts as resistance and supports levels
//Buy Rules:
//Actual price (close) is above round number.
//Round number level was not touched in previous ten bars (arbitrary value).
//Place a buy and follow the order with a trail step because price can bounce at round number (support) or can go through it.
//Sell Rules are the same of buy rules but inverted.
//
//Need improvement on conditions' logic and round numbers definitions


strategy("dP magnet", overlay=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//Round Levels credit to RKchartest

roundLevel50 = input(500, 'Round Level 1, pips')
//roundLevel100 = input(1000, 'Round Level 2, pips')
deviation = input(1000, 'Max distance, pips', minval=0) 

rDelimeter = 1/syminfo.mintick

intRoundLevel = close[1] * rDelimeter

intRemainder = intRoundLevel % roundLevel50 
toRound = (intRemainder >= roundLevel50/2) ? roundLevel50 : 0
roundLevel = (intRoundLevel - intRemainder + toRound) / rDelimeter
plot(roundLevel, title='Round Level 1', color=black, style=line, transp=0, linewidth=1, trackprice=false)

//intRemainder2 = intRoundLevel % roundLevel100
//toRound2 = (intRemainder2 >= roundLevel100/2) ? roundLevel100 : 0
//roundLevel2 = (intRoundLevel - intRemainder2 + toRound2) / rDelimeter
//plot((abs(roundLevel2 - close) * rDelimeter < deviation) ? roundLevel2 : na, title='Round Level 2', color=black, style=circles, transp=0, linewidth=1, trackprice=true)

// end

//Start of strategy

distToFullNumber=(close-roundLevel) //can be positive or negative number

distPips=input(100,'Distance in pips to full level',minval=10) //user defined: this distance defines when to open an order at market price


TrailS=input(20,'Trail Step points',minval=10) //trail step that follows the order

longCondition = iff(distToFullNumber>0 and abs(distToFullNumber)<=distPips and lowest(low,10)>roundLevel,true,false)

if (longCondition)
    strategy.entry("LongMagnet", strategy.long)
    strategy.exit("ExitMagnet","LongMagnet",trail_points=TrailS)

shortCondition = iff(distToFullNumber<0 and abs(distToFullNumber)<=distPips and highest(high,10)<roundLevel,true,false)

if (shortCondition)
    strategy.entry("ShortMagnet", strategy.short)
    strategy.exit("Exit_Magnet","ShortMagnet",trail_points=TrailS)
    

আরো