Repainting چیست و چگونه اندیکاتورهای Repaint شونده را تشخیص دهیم؟
یکی از مشکلاتی که هنگام استفاده از اندیکاتورها و استراتژیهای معاملاتی در تریدینگویو ممکن است با آن مواجه شوید، Repainting یا «اصلاح سیگنالها و ترسیمات» است.
ممکن است یک اندیکاتور روی نمودار تاریخی، سیگنالهای بسیار دقیق و جذابی نمایش دهد؛ اما وقتی همان اندیکاتور را در زمان واقعی و همزمان با حرکت بازار بررسی میکنید، متوجه شوید که سیگنالها در همان زمان به این شکل وجود نداشتهاند یا بعداً تغییر کردهاند.
این موضوع میتواند باعث شود عملکرد یک اندیکاتور در نگاه اول بسیار بهتر از عملکرد واقعی آن به نظر برسد و معاملهگر را در تصمیمگیری دچار اشتباه کند.
در این آموزش، مفهوم Repainting را بررسی میکنیم و توضیح میدهیم چرا شناخت این موضوع برای افرادی که از اندیکاتورهای آماده ریدینگویو استفاده میکنند نیز اهمیت زیادی دارد.
Repainting چیست؟
به زبان ساده، زمانی که خروجی یک اندیکاتور در گذشته بر اساس اطلاعاتی نمایش داده شود که در آن زمان هنوز در دسترس نبودهاند، با نوعی ریپینتینگ مواجه هستیم.
برای مثال تصور کنید در نمودار تاریخی مشاهده میکنید که یک اندیکاتور در یک نقطه خاص، سیگنال خرید بسیار دقیقی صادر کرده است.
اگر فقط نمودار گذشته را ببینید، ممکن است تصور کنید که معاملهگر دقیقاً در همان نقطه میتوانسته این سیگنال را دریافت کند.
اما ممکن است واقعیت چیز دیگری باشد.
اندیکاتور ممکن است برای تعیین آن نقطه به اطلاعات کندلهای بعدی نیاز داشته باشد. در نتیجه، زمانی که نمودار گذشته را مشاهده میکنیم، سیگنال کامل و دقیق دیده میشود؛ در حالی که در زمان واقعی، هنوز اطلاعات لازم برای ترسیم آن وجود نداشته است.
این اختلاف میان آنچه اکنون روی نمودار گذشته میبینیم و آنچه در زمان واقعی قابل مشاهده بوده است یکی از مهمترین نکات مربوط به Repainting است.
چرا Repainting میتواند مشکلساز باشد؟
مشکل اصلی زمانی ایجاد میشود که معاملهگر عملکرد یک اندیکاتور را فقط با نگاهکردن به نمودار گذشته ارزیابی کند.
فرض کنید یک اندیکاتور روی نمودار گذشته، نقاط ورود و خروج بسیار دقیقی نشان میدهد:
- ورودها تقریباً در کفها قرار دارند.
- خروجها نزدیک سقفها هستند.
- سیگنالهای اشتباه بسیار کم به نظر میرسند.
- نقاط برگشت بازار با دقت زیادی مشخص شدهاند.
در نگاه اول ممکن است چنین اندیکاتوری بسیار قدرتمند به نظر برسد.
اما اگر این ترسیمات با استفاده از اطلاعات آینده ایجاد شده باشند، معاملهگر در زمان واقعی نمیتوانسته همان اطلاعات را در اختیار داشته باشد.
بنابراین عملکردی که روی نمودار تاریخی مشاهده میکنیم الزاماً نشاندهنده عملکرد واقعی اندیکاتور در بازار زنده نیست.
چگونه Repainting اتفاق میافتد؟
برای درک بهتر موضوع، باید به نحوه شکلگیری اطلاعات در نمودار توجه کنیم.
بازار بهصورت لحظهای حرکت میکند و هر کندل نیز در طول تشکیل خود تغییر میکند.
تا زمانی که یک کندل بسته نشده است، قیمت نهایی آن مشخص نیست و ممکن است مقدار Open، High، Low و Close آن تغییر کند.
بنابراین اندیکاتوری که در زمان واقعی محاسبات خود را انجام میدهد ممکن است در طول تشکیل یک کندل، چندین مقدار مختلف تولید کند.
برای مثال ممکن است در ابتدای تشکیل یک کندل، شرایطی برای ایجاد یک سیگنال برقرار باشد و اندیکاتور یک علامت روی نمودار نمایش دهد.
اما چند لحظه بعد، با تغییر قیمت، آن شرایط دیگر برقرار نباشد.
در نتیجه سیگنال قبلی ممکن است ناپدید شود یا در محل دیگری قرار بگیرد.
این موضوع را باید از Repainting ناشی از استفاده از اطلاعات آینده نیز تفکیک کرد؛ زیرا همه تغییرات ظاهری اندیکاتور الزاماً به یک دلیل اتفاق نمیافتند.
تفاوت رفتار اندیکاتور در زمان واقعی و روی دادههای گذشته
یکی از مهمترین نکاتی که باید هنگام بررسی یک اندیکاتور در نظر بگیرید، تفاوت میان دو حالت زیر است:
Historical Data
در این حالت تمام کندلهای گذشته در اختیار اندیکاتور قرار دارند و محاسبات میتوانند با استفاده از اطلاعاتی انجام شوند که در زمان وقوع سیگنال هنوز وجود نداشتهاند.
Real-Time
در این حالت اندیکاتور فقط اطلاعاتی را در اختیار دارد که تا همان لحظه در بازار شکل گرفته است.
این دو حالت ممکن است نتیجه کاملاً متفاوتی ایجاد کنند.
به همین دلیل، مشاهده یک اندیکاتور روی نمودار تاریخی بهتنهایی نمیتواند ثابت کند که سیگنالهای آن در زمان واقعی نیز به همان شکل قابل دریافت بودهاند.
یک مثال ساده از Repainting
فرض کنید اندیکاتوری قرار است نقاط برگشت بازار را مشخص کند.
در نمودار تاریخی، ممکن است مشاهده کنیم که در یک کف، یک علامت خرید قرار گرفته و سپس قیمت بهشدت افزایش یافته است.
اما برای مشخصکردن آن کف، اندیکاتور ممکن است نیاز داشته باشد چند کندل بعدی را نیز بررسی کند.
یعنی اندیکاتور ابتدا منتظر میماند تا حرکت آینده بازار مشخص شود و سپس به گذشته برمیگردد و نقطه برگشت را روی نمودار ترسیم میکند.
در نتیجه، وقتی نمودار گذشته را نگاه میکنیم، یک سیگنال بسیار زیبا و دقیق مشاهده میکنیم.
اما معاملهگری که در همان لحظه در بازار بوده، هنوز نمیدانسته آن نقطه واقعاً یک کف بوده است.
بنابراین سیگنالی که امروز روی نمودار گذشته مشاهده میکنیم، لزوماً سیگنالی نیست که در همان زمان در اختیار معاملهگر قرار داشته است.
چرا برخی اندیکاتورها بعداً سیگنال خود را تغییر میدهند؟
گاهی ممکن است مشاهده کنید که یک اندیکاتور در یک نقطه سیگنال ایجاد میکند، اما بعد از تشکیل چند کندل جدید:
- سیگنال حذف میشود.
- سیگنال به کندل دیگری منتقل میشود.
- محل یک خط یا علامت تغییر میکند.
- یا ترسیمات قبلی اصلاح میشوند.
این رفتار میتواند ناشی از استفاده از اطلاعات جدید در محاسبات اندیکاتور باشد.
در نتیجه، چیزی که اکنون روی نمودار مشاهده میکنیم ممکن است با چیزی که در زمان واقعی دیده میشده متفاوت باشد.
این مسئله مخصوصاً برای اندیکاتورهایی که نقاط سقف و کف، تغییر روند یا سیگنالهای ورود و خروج را مشخص میکنند اهمیت زیادی دارد.
آیا هر تغییری در اندیکاتور به معنی Repainting است؟
هر تغییری که هنگام تشکیل کندل مشاهده میشود را نباید بلافاصله Repainting در نظر گرفت.
برخی اندیکاتورها بهصورت طبیعی از اطلاعات کندل در حال تشکیل استفاده میکنند.
تا زمانی که کندل بسته نشده است، مقدار آن میتواند تغییر کند و در نتیجه خروجی اندیکاتور نیز تغییر کند.
بنابراین باید میان تغییر طبیعی محاسبات در کندل جاری و تغییر سیگنالهای کندلهای گذشته تفاوت قائل شد.
مشکل اصلی زمانی جدیتر میشود که یک اندیکاتور پس از مشخصشدن اطلاعات آینده، خروجی مربوط به گذشته را تغییر دهد و این تغییر باعث شود عملکرد تاریخی اندیکاتور بهتر از چیزی که در زمان واقعی قابل دستیابی بوده به نظر برسد.
Repainting چه تأثیری روی معاملات دارد؟
اگر یک اندیکاتور Repaint شونده باشد، استفاده مستقیم از سیگنالهای آن میتواند نتایج گمراهکنندهای ایجاد کند.
برای مثال ممکن است در بررسی گذشته تصور کنید:
- تعداد زیادی معامله موفق وجود داشته است.
- نقاط ورود بسیار دقیق هستند.
- حد ضررها بهندرت فعال میشوند.
- سیگنالها تقریباً در بهترین نقاط بازار ظاهر شدهاند.
اما در زمان اجرای واقعی، ممکن است بسیاری از این سیگنالها اصلاً به همان شکل وجود نداشته باشند.
در نتیجه، اگر عملکرد اندیکاتور را فقط با مشاهده نمودار گذشته ارزیابی کنید، ممکن است درباره کیفیت واقعی آن قضاوت اشتباهی داشته باشید.
Repainting در Backtest
این موضوع هنگام بکتست نیز اهمیت زیادی دارد.
اگر یک استراتژی یا اندیکاتور از اطلاعات آینده استفاده کند، ممکن است نتیجه بکتست بسیار بهتر از عملکرد واقعی آن باشد.
زیرا در بکتست، دادههای آینده در نهایت در اختیار سیستم قرار میگیرند و اندیکاتور میتواند بر اساس اطلاعاتی محاسبه شود که در زمان اجرای واقعی معامله هنوز وجود نداشتهاند.
در نتیجه ممکن است نتیجه بکتست با نتیجه واقعی در بازار متفاوت باشد.
بنابراین قبل از اعتماد به نتایج یک استراتژی، باید بررسی شود که محاسبات آن بدون استفاده از اطلاعات آینده انجام میشوند.
چگونه یک اندیکاتور Repaint شونده را تشخیص دهیم؟
یکی از روشهای مناسب برای بررسی، استفاده از نمودار در شرایطی است که اطلاعات آینده در اختیار اندیکاتور نباشد.
به جای اینکه فقط نمودار تاریخی را مشاهده کنید، میتوانیم بازار را از یک نقطه مشخص به بعد بررسی کنیم و ببینیم اندیکاتور در همان لحظه چه چیزی نمایش میدهد.
سپس با تشکیل کندلهای جدید، رفتار اندیکاتور را زیر نظر بگیریم.
اگر متوجه شویم که اندیکاتور اطلاعات گذشته را با توجه به اتفاقات آینده تغییر میدهد، باید نسبت به استفاده از سیگنالهای آن با احتیاط بیشتری برخورد کنیم.
قابلیت Replay در تریدینگویو نیز میتواند برای چنین بررسیهایی بسیار مفید باشد؛ زیرا به شما اجازه میدهد نمودار را از یک نقطه مشخص در گذشته دنبال کنید و رفتار اندیکاتور را در شرایطی نزدیکتر به زمان واقعی بررسی کنید.
چرا کاربران عادی TradingView هم باید Repainting را بشناسند؟
شناخت Repainting فقط برای برنامهنویسان Pine Script ضروری نیست.
حتی اگر هیچگونه کدنویسی انجام نمیدهید و صرفاً از اندیکاتورهای آماده TradingView استفاده میکنید، بهتر است با این مفهوم آشنا باشید.
زیرا ممکن است یک اندیکاتور آماده روی نمودار عملکرد بسیار جذابی نشان دهد، اما دلیل این عملکرد، استفاده از اطلاعاتی باشد که در زمان واقعی در دسترس معاملهگر نبوده است.
بنابراین قبل از استفاده از هر اندیکاتور برای معاملات واقعی، بهتر است علاوه بر ظاهر سیگنالها، نحوه تولید و رفتار آنها در زمان واقعی نیز بررسی شود.
نکته مهم درباره اندیکاتورهای آماده
صرف اینکه یک اندیکاتور در تریدینگویو منتشر شده یا روی نمودار عملکرد خوبی نشان میدهد، به این معنی نیست که حتماً برای معاملات واقعی مناسب است.
هنگام بررسی یک اندیکاتور بهتر است به مواردی مانند زیر توجه کنید:
- آیا سیگنالهای گذشته بعداً تغییر میکنند؟
- آیا سیگنال در همان لحظهای که شرایط ایجاد میشود قابل مشاهده است؟
- آیا اندیکاتور از اطلاعات کندلهای آینده استفاده میکند؟
- آیا عملکرد آن در Replay با نمودار تاریخی یکسان است؟
- آیا نتایج بکتست با شرایط واقعی بازار قابل مقایسه هستند؟
پاسخ به این پرسشها میتواند دید بسیار بهتری نسبت به عملکرد واقعی یک ابزار معاملاتی به شما بدهد.
جمعبندی
Repainting یکی از موضوعات مهمی است که هنگام استفاده از اندیکاتورها و استراتژیهای TradingView باید به آن توجه داشت.
گاهی یک اندیکاتور روی نمودار گذشته سیگنالهایی بسیار دقیق نمایش میدهد، اما این سیگنالها ممکن است با استفاده از اطلاعات آینده ایجاد یا بعداً اصلاح شده باشند. در چنین شرایطی، چیزی که امروز روی نمودار گذشته میبینیم الزاماً همان چیزی نیست که در زمان واقعی در اختیار معاملهگر قرار داشته است.
به همین دلیل، صرفاً مشاهده عملکرد یک اندیکاتور روی نمودار تاریخی یا نتیجه یک بکتست نمیتواند برای ارزیابی عملکرد واقعی آن کافی باشد.
شناخت Repainting و بررسی رفتار اندیکاتور در شرایط نزدیک به Real-Time میتواند از بسیاری از برداشتهای اشتباه جلوگیری کند و به شما کمک کند قبل از استفاده از یک اندیکاتور یا استراتژی، ارزیابی دقیقتری از عملکرد واقعی آن داشته باشید.
این موضوع حتی برای افرادی که هیچ آشنایی با برنامهنویسی ندارند و فقط از اندیکاتورهای آماده TradingView استفاده میکنند نیز اهمیت دارد.