افزودن یک اندیکاتور ساده به سیستم ترید برای سرمایهگذاری بهتر
تحقیقات مالی یک زمینه هیجان انگیز بی پایان با بسیاری از لحظات غافلگیرکننده است . ما همیشه به دنبال آن استراتژی طلایی هستیم که خوب کار کند و باعث شود بتوانیم بدون نگرانی ، استرس و غافلگیری کار کنیم . این امری کاملاً طبیعی است .
گاهی اوقات ، سادگی رمز موفقیت است . ما فقط نیاز به شاخص تکنیکال متفاوت که در هرجایی سیگنالهایشان وجود دارد ، نداریم و باید در مورد شاخص های تکنیکال دو چیز را درک کنیم :
آنها مبتنی بر قیمت هستند : این بدان معنی است که آنها قیمت را می گیرند و برای درک برخی از مشخصهها آن را تجزیه می کنند . بنابراین آنها برخی شرایط گذشته را مورد بررسی قرار می دهند نه شرایط آینده را و ما امیدواریم که شرایط گذشته نیز برای شرایط آینده صدق کند . به عنوان مثال ، اگر واگرایی در RSI رامشاهده کنیم ، امیدواریم که مثل همیشه باعث کاهش قیمت ها شود . این واگرایی به آینده نگاه نمی کند ، بلکه صرفاً یک مشاهده ریاضیاتی است .
بعید است اندیکاتورها به تنهایی استراتژی موفقی ارائه دهند . اگر چنین باشد ، پس چه نیازی به متکی شدن به مناطق اشباع خرید / فروش بر روی شاخص است ؟ معاملات بسیار پیچیده تر از آن است و برای یافتن معاملات سودآور به رویکرد دقیق تری نیاز دارد .
با توجه به این نکته ، باید شاخص ها را به عنوان یک كمك در نظر بگیریم اما به عنوان مثال ، وقتی اطلاعات کافی برای یافتن مدت طولانی (خرید) دارایی پیدا کردیم ، می توانیم شاخص های تکنیکال را بررسی کنیم تا ببینیم آیا آنها این موضوع را تأیید می کنند یا خیر . همچنین باید وضعیت فعلی بازار را بررسی کنیم تا بدانیم که آیا این شاخص سیگنال خوبی ارائه می دهد یا خیر . این بدان معناست که وقتی در یک بازار رو به رشد هستیم نباید از شاخص های بازگشت متوسط استفاده کنیم . نمودار زیر دلیل آن را نشان می دهد . این سیگنال های فروش است که توسط RSI در یک بازار روند صعودی به آن داده می شود . به روند قیمت مداوم در داخل مستطیل آبی توجه کنید ، واضح است که کیفیت سیگنال ها کاملاً بد است .
اکنون ، می توانیم از یک ایده بسیار ساده ، یعنی نرمال سازی ، یک شاخص ساده پیدا کنیم . خبر خوب با عادی سازی این است که شرایط خرید و فروش قبلاً مشخص شده و بصری است ، بنابراین ، تنها کاری که ما باید انجام دهیم یافتن یک دوره مناسب (مانند 14 دوره پیش فرض در اندیکاتور RSI) است .
مفهوم عادی سازی
این تکنیک عالی به ما این امکان را می دهد مقادیر را بین 0 و 1 قرار دهیم (یا اگر می خواهیم در 100 ضرب کنیم 0 یا 100) . این مفهوم حول کسر حداقل مقدار در یک دوره بازگشت خاص از مقدار فعلی و تقسیم بر حداکثر مقدار در همان دوره بازگشت منهای مقدار حداقل است .
می توانیم سعی کنیم این فرمول را در پایتون کدنویسی کنیم . تابع زیر یک سری زمانی مشخص از نوع OHLC را عادیسازی می کند :
def normalizer(Data, lookback, onwhat, where):
for i in range(len(Data)):
try:
Data[i, where] = (Data[i, onwhat] – min(Data[i – lookback + 1:i + 1, onwhat])) / (max(Data[i – lookback + 1:i + 1, onwhat]) – min(Data[i – lookback + 1:i + 1, onwhat]))
except ValueError:
pass
Data[:, where] = Data[:, where] * 100
return Data
# The onwhat variable is what to normalize and the where variable is where to print the normalized values, i.e. which colum.
اگر این تابع را با قیمت 50 دلار برای بازپرداخت روزانه EURUSD با 50 دوره بازبینی اعمال کنیم (به این معنی که این تابع 50 مقدار آخر را بررسی می کند و حداقل و حداکثر مقادیر را از آنجا انتخاب می کند) نمودار زیر را خواهیم داشت .
حال ، اگر ما هر زمان که مقدار نرمال شده برابر با 0 و کوتاه هر زمان که مقدار نرمال شده برابر با 100 باشد ، یک استراتژی ساده در اینجا بخریم ، نمودار زیر را به دست می آوریم . به نظر می رسد سیگنال ها برخی از قسمت های بالا و پایین را ضبط می کنند . این ، به خودی خود ، شروع خوبی است زیرا انتخاب 50 کاملاً خودسرانه بود . برای سادهسازی ، می توانیم مقادیر نرمال شده را فراخوانی کنیم : شاخص نرمال (NI) .
با این حال ، ما می خواهیم تا آنجا که می توانیم از این تکنیک خارق العاده یعنی عادی سازی ارزش بدست آوریم .
ما می خواهیم این نیاز را حذف کنیم که بگوییم یک دوره 20 روزه بهتر از یک دوره 50 ساله برای عادی سازی است و به همین ترتیب می توانیم یک شاخص کاملاً عادی (ANI) ایجاد کنیم که از دوره های بازبینی از 2 تا 100 استفاده می کند و آنها را بر این اساس وزن می کند . به این ترتیب ما یک شاخص نرمال شده وزنی خواهیم داشت که مجموعه گسترده ای از دوره های بازگشت را در نظر می گیرد .
اگر شاخص عادی دوره 10 روزه مقدار 40 را نشان می دهد ، مقدار واقعی آن در فهرست نرمال سازی شده 40/100 = 0.40 می شود . بنابراین ، ما نمایه ای بین 0 و 100 متشکل از 100 نمایه ساز عادی خواهیم داشت .
صحبت به زبان پایتونیک ، برای حلقه ای که شاخص All-Normalized (ANI) را ایجاد می کند ، عبارت زیر را خواهیم داشت . به یاد داشته باشید ، ما هنوز در یک ساختار داده OHLC هستیم (ستون 0 برای باز ، ستون 1 برای بالا ، ستون 2 برای پایین و ستون 3 برای بستن) :
از این رو ، شاخص فوق به طور متوسط صد نمایه کننده نرمال است که به ما سیگنالهایی می دهد که به نظر می رسد کمی بهتر هستند (ما همیشه می توانیم آن را بهینه کنیم) . اجازه دهید نمودار سیگنال زیر را بررسی کنیم .
ما می توانیم مواردی را به ANI اضافه کنیم زیرا جزو سیگنال های نادر هستند . در مورد افزودن میانگین متحرک 8 روزه نیز می تواند بر اساس زمانی که میانگین متحرک از ANI عبور می کند ، برخی از سیگنال ها را به ما ارائه دهد . نمودار زیر نکته قبلی را نشان می دهد ، ما سیگنال های بیشتری داریم و میانگین متحرک در حال انجام یک کار خوب و ساده سازی ANI است .
نتیجهگیری
کاربرد این اندیکاتور چیست ؟ سنجش و اندازهگیری روند ، مفهوم کلیدی و مهم در انجام معاملات است و شاخص هنجارسازی شده نیز با استفاده از اطلاعات قیمت پایانی ، عملکرد بینقصی دارد . اگر اندیکاتور اسیلاتور استوکاستیک از نسخه کمی تغییر یافته و اصلاحشده هنجارسازی استفاده کند ، میتواند به ما کمک کند تا روند قیمت پایانی را بهتر مشاهده کنیم .
اگر مقدار ANI از ۹۵ بیشتر باشد ، بیانگر روند صعودی و اگر کمتر از ۵ باشد ، بیانگر روند نزولی است . روش دیگری که میتوانیم از ANI استفاده کنیم از طریق تقاطع آن با میانگین متحرک است . البته میانگین متحرک ۸ روزه یک انتخاب دلخواه بود و میتوانید از دورههای دیگر مدنظر خود نیز استفاده کنید .
دیدگاهتان را بنویسید