چگونه می توان تمام وقت TradingView را با اسکریپت کاج بالا گرفت؟

ساخت وبلاگ

ابزارهای TradingView داده های تاریخی زیادی دارند. برخی از نمادها ، مانند SPX (شاخص S& P 500) ، حتی بیش از 120 سال به عقب برمی گردند. با این حال ، نمودارها تعداد محدودی از میله ها دارند. این باعث می شود که نمودارهای داخل روز اغلب نتوانند تاریخ کافی را برای دیدن همه زمانه سازها بدست آورند. یا آنها هستند؟

با کمی کد ، اسکریپت های TradingView می توانند داده های زمانی بالاتر را در پس زمینه بارگیری کنند. هنگامی که کد ما آن داده ها را تجزیه و تحلیل می کند ، می تواند همه زمان سازها را بالا ببرد. بیایید دریابیم که چگونه پیش می رود!

عملکرد بالا تمام وقت

این دو کارکرد سفارشی بالاترین مقدار یک ابزار را برمی گرداند:

اولین عملکرد در این کد GetCharthighest () است. که یکی بالاترین مقدار را برای یک سری داده داده شده برمی گرداند. ما این عملکرد را در دریافت بالاترین مقدار نمودار مورد بحث قرار دادیم ، بنابراین در این درس اجازه می دهیم روی عملکرد دیگر تمرکز کنیم.

این عملکرد GetAlltimeHigh () در یک آرگومان قرار می گیرد: مجموعه داده ها. این یکی می گوید از کدام مجموعه داده ها بالاترین مقدار را می خواهیم. به عنوان مثال می توانیم عملکرد نزدیک قیمت ، قیمت حجم یا میانگین متحرک را به عملکرد ارائه دهیم. سپس بالاترین زمان را برای آن مقادیر برمی گرداند. اگر این آرگومان را تنظیم نکنیم ، عملکرد به طور پیش فرض از قیمت های بالای ساز (بالا) استفاده می کند.

در داخل تابع ما ابتدا داده ها را از بازه زمانی بالاتر با عملکرد درخواست. security () دریافت می کنیم. ما این عملکرد را چندین آرگومان ارائه می دهیم. اولین مورد syminfo. tickerid است که نماد و تبادل ابزار نمودار است. به این ترتیب عملکرد داده ها را برای همان ابزار که در نمودار نشان می دهد ، بارگیری می کند.

استدلال دوم ، "D" ، داده های روزانه ما را می گیرد. مورد سوم ، تماس با عملکرد GetCharthighest () است. این باعث می شود که این عملکرد در چارچوب داده های روزانه که درخواست می کنند محاسبه شود. ما آرگومان داده های GetCharthighest () را ارائه می دهیم. سپس بالاترین مقدار همان استدلالی را که عملکرد GetAllimeHigh () به دست آورد ، برمی گرداند.

ما دو کار برای جلوگیری از آن درخواست انجام می دهیم. اپراتور تاریخ ([]) با مقدار 1 در پشت GetCharthighest () داده های روز گذشته را به ما می دهد. و barmerge. lookahead_on زمان آن میله ها را با میله های نمودار همزمان می کند.

پس از درخواست. Security () کار خود را انجام داد ، متغیر HighESTHTF بالاترین مقدار را از بازه زمانی روزانه در اختیار دارد. سپس متغیر دیگری ، HighestChartTF ایجاد می کنیم. این یکی با تماس با عملکرد GetCharthighest () بالاترین مقدار را از چارچوب زمانی نمودار دریافت می کند.

آخرین دستور تابع دارای تابع math. max () است که بالاترین بازه زمانی بالاتر (highHTF) و نمودار فعلی (highChartTF) را برمی‌گرداند. از آنجا که ما داده‌های روزانه را تا دیروز بارگیری می‌کنیم، احتمال کمی وجود دارد که امروز یک بالاترین رکورد جدید اتفاق بیفتد. با در نظر گرفتن بالاترین دو فریم زمانی، آن احتمال را در نظر می گیریم.

با استفاده از تابع

بیایید ببینیم چگونه از تابع استفاده می کنیم. اگر حداکثر زمان را بخواهیم، تابع GetAllTimeHigh() را بدون آرگومان فراخوانی می کنیم:

اگر بخواهیم بالاترین قیمت بسته شدن ابزار را داشته باشیم، انجام می دهیم:

از آنجایی که GetAllTimeHigh () داده‌های روزانه را با داده‌های نمودار ترکیب می‌کند، این بالاترین بسته شدن تاریخ لزوماً بالاترین بسته روزانه نیست. اگر امروز یک بالاترین رکورد جدید اتفاق بیفتد، این بالاترین نزدیکی نسبت به نمودار فعلی است.

همچنین می توانیم بالاترین مقدار را از یک متغیر سفارشی دریافت کنیم. به عنوان مثال، این کد بالاترین مقداری را که میانگین متحرک 20 بار به آن رسیده است، دریافت می کند:

اسکریپت نمونه

بیایید ببینیم چگونه می توانیم از دو تابع بالا استفاده کنیم. این اندیکاتور بالاترین رکورد ابزار را در نمودار نشان می دهد:

ابتدا نشانگر را با تابع ()indicator پیکربندی می کنیم. این اسکریپت را نامگذاری می کند و آن را روی ابزار نمودار قرار می دهد.

سپس توابع GetAllTimeHigh() و GetChartHighest() را کپی/پیست می کنیم.

پس از آن تابع plot() را فراخوانی می کنیم. ما کاری می کنیم که این تابع مقدار تابع GetAllTimeHigh() را در نمودار نشان دهد. از آنجایی که نمی گوییم کدام داده ها را تجزیه و تحلیل کنیم، GetAllTimeHigh() از قیمت های بالای ابزار استفاده می کند. ما آن مقادیر را با یک طرح خط منظم سبز (color. green) نشان می دهیم.

نمودارهای نمونه

بیایید چند نمودار را مورد بحث قرار دهیم تا ببینیم شاخص چه کاری انجام می دهد. در این سهام 5 دقیقه‌ای JSC (NASDAQ)، این اندیکاتور بالاترین قیمت تاریخ 24. 00 را نشان می‌دهد:

All-time high from NASDAQ stock in TradingView

جالب اینجاست که بالاترین 24 در این نمودار 5 دقیقه ای دیده نمی شود. از آنجایی که اسکریپت داده های پس زمینه را بارگیری می کند، به داده های بیشتری نسبت به آنچه در نمودار موجود است دسترسی دارد.

اگر به نمودار روزانه برویم، متوجه می‌شویم که اوج 24. 00 بیش از 20 سال پیش، در حباب دات‌کام در 10 مارس 2000 اتفاق افتاده است:

All-time high in TradingView during dot-com bubble

با سازهای دیگر، فیلمنامه نیز با موفقیت به بالاترین حد خود رسیده است. به عنوان مثال کوکا کولا (KO) را در نظر بگیرید. در نمودار 3 دقیقه ای، می بینیم که بالاترین رکورد تاریخ 60. 13 است:

Plotting all-time high of stock in TradingView

این بالاترین هیچ کدام در نمودار درون روز ظاهر نمی شود. اما، خوشبختانه برای سهامداران KO، آن بالا نه چندان دور در 21 فوریه 2020 اتفاق افتاد:

Finding all-time high of stock in TradingView

البته، وقتی یک ساز اخیراً به بالاترین حد خود رسیده است، این نیز چیزی است که فیلمنامه می یابد:

Recent all-time high found by Pine Script code in TradingView

همه سازها و ترکیبات مبادله ای به همان میزان داده های تاریخی ندارند. گاهی اوقات همان ابزار TradingView داده های بیشتری در مورد مبادله خاص نسبت به سایرین دارد.

به عنوان مثال ، در زمان نوشتن بیت کوین (BTCUSD) داده های خود را به آگوست 2011 برای تبادل Bitstamp باز می گرداند. اما BTCUSD Coinbase فقط در دسامبر 2014 آغاز می شود. و فهرست: BTCUSD در ژوئیه 2010 آغاز می شود.

برای تجزیه و تحلیل همه زمانها (یا کمترین زمان) ، ایده خوبی است که ببینیم کدام ابزار دارای بزرگترین دامنه داده در نمودار است و دارای تاریخی ترین داده ها است. در غیر این صورت ممکن است چندین سال داده را از دست بدهیم.

منتشر شده در 27 اکتبر 2021

درمورد من

سلام ، من جوز هستم! در TradingCode اشتیاق خود را برای برنامه نویسی با علاقه خود به بازارهای مالی ترکیب می کنم.

من در مورد چیزهایی که آموخته ام برای کمک به دیگران در موفقیت می نویسم. تجارت در حال حاضر به اندازه کافی چالش برانگیز است. امیدوارم که بتوانم در قسمت برنامه نویسی به شما کمک کنم.

من اولین اسکریپت TradingView خود را در سال 2014 نوشتم. در زمانی که صدها شاخص و استراتژی را در اسکریپت کاج کدگذاری کردم.

فارکس پرشین...
ما را در سایت فارکس پرشین دنبال می کنید

برچسب : نویسنده : دلیله نمازی بازدید : 51 تاريخ : پنجشنبه 18 خرداد 1402 ساعت: 1:44