এই কৌশলটি স্টপ লস এবং স্টপস্টপ মূল্য পয়েন্টগুলির উপর ভিত্তি করে, যা প্রায়শই পূর্ণসংখ্যা বা মূল মূল্যের স্তরে সেট করা হয়। এই মূল্য পয়েন্টগুলি প্রায়শই সমর্থন এবং প্রতিরোধের হিসাবে কাজ করে। এই মূল মূল্য স্তরগুলি সনাক্ত করে কৌশলটি ক্রয় বা বিক্রয় ক্রিয়াকলাপ পরিচালনা করে যখন দামগুলি কাছাকাছি থাকে।
এই নীতিতে মূলত নিম্নলিখিত নিয়মগুলি অন্তর্ভুক্ত রয়েছেঃ
ক্রয়-বিক্রয় ক্রিয়াকলাপটি যখন সমাপ্তির মূল্যটি মূল মূল্যের স্তরের উপরে থাকে এবং শেষ 10 কে লাইনে এই মূল্যটি স্পর্শ করে না।
তারপর ক্রাইপ ট্র্যাকিং ব্যবহার করা হয় যাতে মূল মূল্যের বিপরীতে মূল্যের গতিবিধি অনুসরণ করা যায়। ক্রাইপটি ২০ পয়েন্ট দীর্ঘ।
বিক্রয় ক্রয়ের বিপরীত, যখন বন্ধের মূল্য মূল মূল্যের নীচে থাকে এবং শেষ 10 টি কে লাইনে এই মূল্যটি স্পর্শ করে না, তখন বিক্রয় করা হয়।
মূল মূল্যের স্তরগুলি চিহ্নিত করার উপায়গুলি হলঃ
এই কৌশলটি মূল্যের মনোবিজ্ঞানের উপর ভিত্তি করে তৈরি করা হয়েছে, যেখানে বলা হয় যে পুরো দাম বা মূল স্তরগুলি প্রায়শই গুরুত্বপূর্ণ অবস্থানগুলির জন্য লড়াই করে, যার ফলে এটি একটি ট্রেডিং সিগন্যাল হিসাবে কার্যকর হয়। একই সময়ে, ক্রাইপ ট্র্যাকিংয়ের মাধ্যমে মূল্যের উত্তরণের পরে প্রবণতা অনুসরণ করা যেতে পারে।
এই কৌশলটির সুবিধাগুলো হলঃ
এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
সমাধানঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
মূলধন পয়েন্টের গুরুত্ব নির্ধারণের জন্য আরো কিছু শর্ত যুক্ত করা হয়েছে, যাতে ভুয়া ব্রেকিংয়ের ঝুঁকি এড়ানো যায়। যেমন, লেনদেনের পরিমাণের সাথে যুক্ত সূচকগুলি।
অপ্টিমাইজেশান প্যারামিটার, বিশেষত মূল মূল্যের অঞ্চলের পদক্ষেপে, কে লাইন চক্র ইত্যাদি প্যারামিটারগুলি। এটি বিভিন্ন জাতের বৈশিষ্ট্যগুলির সাথে আরও উপযুক্ত করে তোলে।
গতিশীল ট্র্যাকিং স্টপ ব্যবহারের পরিবর্তে স্থির ক্রমবর্ধমান স্টপ ব্যবহারের মাধ্যমে ট্র্যাকিং স্টপ প্রক্রিয়াটি অপ্টিমাইজ করুন।
মেশিন লার্নিং অ্যালগরিদম যুক্ত করা হয়েছে, যা সিগন্যালের গুণমান উন্নত করার জন্য গুরুত্বপূর্ণ মূল্য অঞ্চলগুলির শক্তি এবং দুর্বলতা নির্ধারণের জন্য ঐতিহাসিক ডেটা ব্যবহার করে।
সময়কালের উপর ভিত্তি করে কৌশলগুলি প্রসারিত করুন, একই সাথে উচ্চতর সময়কালের প্রবণতা বিচার করুন এবং নিম্নতর সময়কালের জন্য অনুসরণ করুন।
এই কৌশলটি মূলত মূল্যের মূল পয়েন্টগুলির উপর ভিত্তি করে একটি সহজ এবং সহজবোধ্য চিন্তাধারার উপর ভিত্তি করে একটি ট্রেডিং সিগন্যাল গঠনের জন্য সর্বজনীন ট্রেডিং অভ্যাস ব্যবহার করে। কৌশলটির সুযোগ যথেষ্ট, তবে ভুয়া ব্রেকআউটের মোকাবেলায় আরও অপ্টিমাইজেশন প্রয়োজন। প্যারামিটার অপ্টিমাইজেশন এবং মেশিন লার্নিংয়ের মতো উপায়গুলি কৌশলটির স্থিতিশীলতা বাড়িয়ে তুলতে পারে। এই কৌশলটি অভ্যন্তরীণ সংক্ষিপ্ত ট্রেডিংয়ের জন্য ধারণা সরবরাহ করতে পারে এবং চক্র জুড়ে প্রবণতা ট্র্যাকিং কৌশলটি প্রসারিত করতে পারে।
/*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)