هشدار

ساخت وبلاگ

هشدارهای TradingView 24x7 را روی سرورهای ما اجرا می کنند و نیازی به ورود کاربران برای اجرای برنامه ندارند. هشدارها از رابط کاربری نمودارها (UI) ایجاد می شوند. شما می توانید تمام اطلاعات لازم را برای درک چگونگی کار هشدارها و چگونگی ایجاد آنها از نمودارهای UI در مرکز راهنما در مورد صفحه هشدارهای TradingView پیدا کنید.

برخی از انواع هشدار موجود در TradingView (هشدارهای عمومی ، هشدارهای ترسیم و هشدارهای اسکریپت در مورد رویدادهای پر از سفارش) از نمادها یا اسکریپت هایی که در نمودار بارگذاری شده اند ایجاد می شوند و در اسکریپت های کاج نیازی به کدگذاری خاصی ندارند. هر کاربر می تواند این نوع هشدارها را از UI نمودارها ایجاد کند.

انواع دیگر هشدارها (هشدارهای اسکریپت باعث ایجاد تماس با عملکرد هشدار () و هشدار هشدار () هشدارها) کد کاج خاص نیاز دارند تا در یک اسکریپت وجود داشته باشد تا یک رویداد هشدار ایجاد کند تا کاربران اسکریپت بتوانند با استفاده از نمودارهای UI هشدارهایی از آنها ایجاد کنند. علاوه بر این ، در حالی که کاربران اسکریپت می توانند هشدارهای اسکریپت ایجاد کنند که باعث ایجاد رویدادهای پر از نمودارهای UI در هر استراتژی بارگذاری شده در نمودار خود می شوند ، رمزگذارهای کاج می توانند پیام های هشدار دهنده صریح را در اسکریپت خود برای هر نوع سفارش پر شده توسط شبیه ساز کارگزار مشخص کنند.

این صفحه روشهای مختلفی را که برنامه نویسان کاج می توانند اسکریپت های خود را برای ایجاد رویدادهای هشدار دهنده که از آن کاربران اسکریپت به نوبه خود قادر به ایجاد هشدارهایی از UI نمودار هستند ، پوشش می دهد. ما پوشش خواهیم داد:

  • نحوه استفاده از عملکرد هشدار () برای هشدار () تماسهای عملکردی در مطالعات یا استراتژی ها ، که می تواند در هشدارهای اسکریپت ایجاد شده از UI نمودارها گنجانده شود.
  • نحوه اضافه کردن پیام های هشدار سفارشی که در هشدارهای اسکریپت گنجانده شده است و باعث می شود سفارشات پر از وقایع استراتژی ها باشد.
  • نحوه استفاده از تابع AlertCondition () برای تولید ، فقط در مطالعات ، AlertCondition () رویدادهایی که می تواند برای ایجاد هشدارهای هشدار دهنده () از UI نمودارها استفاده شود.

به خاطر داشته باشید که:

  • هیچ کد کاج مربوط به هشدار نمی تواند یک هشدار در حال اجرا در نمودارهای UI ایجاد کند. این صرفاً رویدادهای هشدار دهنده ایجاد می کند که می تواند توسط کاربران اسکریپت برای ایجاد هشدارهای در حال اجرا از نمودارهای UI استفاده شود.
  • هشدارها فقط در نوار زمان واقعی شروع می کنند. از این رو دامنه عملیاتی کد کاج که با هر نوع هشدار سروکار دارد ، فقط به میله های زمان واقعی محدود می شود.
  • هنگامی که یک هشدار در UI نمودارها ایجاد می شود ، TradingView یک تصویر آینه ای از اسکریپت و ورودی های آن را به همراه نماد اصلی نمودار و بازه زمانی برای اجرای هشدار روی سرورهای آن ذخیره می کند. تغییرات بعدی در ورودی های اسکریپت شما یا نمودار بر روی هشدارهای اجرا که قبلاً از آنها ایجاد شده بود ، تأثیر نمی گذارد. اگر می خواهید در متن خود تغییراتی در رفتار هشدار در حال اجرا منعکس شود ، باید هشدار را حذف کرده و در متن جدید یک مورد جدید ایجاد کنید.

زمینه¶

روشهای مختلف رمزگذارهای کاج می توانند از امروز برای ایجاد وقایع هشدار در اسکریپت خود استفاده کنند ، نتیجه پیشرفت های پی در پی مستقر در سراسر تکامل کاج است. عملکرد AlertCondition () ، که فقط در مطالعات کار می کند ، اولین ویژگی بود که به برنامه نویسان کاج اجازه می داد تا رویدادهای هشدار ایجاد کنند. سپس سفارش هشدارها برای استراتژی ها آمد ، که وقتی شبیه ساز کارگزار رویدادهای پر کردن سفارش را ایجاد می کند ، باعث می شود. برنامه های پر کردن سفارش نیازی به کد ویژه ای برای کاربران اسکریپت برای ایجاد هشدارهایی در مورد آنها ندارند ، اما از طریق پارامتر Alert_Message برای استراتژی ایجاد سفارشپیام هشدار برای هر تعداد از رویدادهای تحقق سفارش.

عملکرد هشدار () جدیدترین افزودنی به کاج است. کم و بیش از هشدار () استفاده می کند ، و در صورت استفاده در استراتژی ها ، یک مکمل مفید برای هشدارها در مورد رویدادهای پر کردن سفارش فراهم می کند.

کدام نوع هشدار بهترین است؟

برای رمزگذارهای کاج ، عملکرد هشدار () به طور کلی برای کار با آن آسان تر و انعطاف پذیر تر خواهد بود. برخلاف هشدار () ، این امکان را برای پیام های هشدار پویا فراهم می کند ، در هر دو مطالعه و استراتژی کار می کند و برنامه نویس در مورد فراوانی وقایع هشدار () تصمیم می گیرد.

در حالی که تماس های هشدار () می توانند در مورد هر منطقی قابل برنامه ریزی در کاج ایجاد شوند ، از جمله هنگامی که سفارشات در استراتژی ها به شبیه ساز کارگزار ارسال می شوند ، نمی توانند هنگام اجرای سفارشات (یا پر) از آنها رمزگذاری شوند زیرا پس از ارسال سفارشات به شبیه ساز کارگزار، شبیه ساز اعدام آنها را کنترل می کند و گزارش نمی دهد که رویدادهای پر شده را مستقیماً به اسکریپت بازگرداند.

هنگامی که یک کاربر اسکریپت می خواهد هشدار در مورد رویدادهای پر کردن یک استراتژی ایجاد کند ، باید هنگام ایجاد هشدار اسکریپت در مورد استراتژی در کادر گفتگوی "ایجاد هشدار" ، آن رویدادها را درج کند. هیچ کد خاصی در اسکریپت ها لازم نیست تا کاربران بتوانند این کار را انجام دهند. پیام ارسال شده با رویدادهای پر از سفارش ، با این حال ، می تواند توسط برنامه نویسان از طریق استفاده از پارامتر Alert_Message در استراتژی ایجاد سفارش تنظیم شود.*() تماس عملکرد. ترکیبی از تماس های هشدار () و استفاده از آرگومان های Alert_Message سفارشی در استراتژی ایجاد.

عملکرد AlertCondition () برای سازگاری به عقب در کاج باقی مانده است ، اما همچنین می تواند از آن برای تولید هشدارهای متمایز در دسترس برای انتخاب به عنوان موارد جداگانه در قسمت "ایجاد هشدار" کادر "وضعیت" استفاده شود.

هشدارهای اسکریپت

هنگامی که یک کاربر اسکریپت با استفاده از کادر گفتگوی "ایجاد هشدار" هشدار اسکریپت ایجاد می کند ، وقایع قادر به ایجاد هشدار بسته به اینکه آیا هشدار از یک مطالعه یا یک استراتژی ایجاد شده است ، متفاوت خواهد بود.

هشدار اسکریپت ایجاد شده از یک مطالعه باعث می شود که:

  • این مطالعه شامل تماس های هشدار () است.
  • منطق کد اجازه می دهد تا یک هشدار خاص () برای اجرای آن تماس بگیرید.
  • فرکانس مشخص شده در تماس هشدار () به هشدار اجازه می دهد تا شروع کند.

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

مطالعات کاج اغلب به عنوان "شاخص" در نمودارهای UI و اسناد کاربر مرکز راهنما گفته می شود.

"هشدار ()" عملکرد رویدادها

عملکرد هشدار () امضای زیر را دارد:

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

"رشته ورودی" که فرکانس تحریک هشدار را مشخص می کند. استدلال های معتبر عبارتند از:

  • Alert. freq_once_per_bar: فقط اولین تماس در هر نوار RealTime باعث هشدار (مقدار پیش فرض) می شود.
  • Alert. freq_once_per_bar_close: هشدار فقط هنگامی که نوار زمان واقعی بسته می شود و یک تماس هشدار () در طی آن تکرار اسکریپت اجرا می شود ، یک هشدار ایجاد می شود.
  • Alert. freq_all: همه تماس ها در طول نوار Realtime باعث هشدار می شوند.

عملکرد هشدار () می تواند در هر دو مطالعه و استراتژی استفاده شود. برای تماس هشدار () برای ایجاد هشدار اسکریپت پیکربندی شده در تماس با عملکرد هشدار () ، منطق اسکریپت باید به تماس هشدار () اجازه دهد تا اجرا شود ، و فرکانس تعیین شده توسط پارامتر FREQ باید هشدار را به وجود آورد.

توجه داشته باشید که به طور پیش فرض ، استراتژی ها در نزدیکی نوار محاسبه می شوند ، بنابراین اگر هشدار () با هشدار فرکانس عمل کند. freq_all یا هشدار. freq_once_per_bar در یک استراتژی استفاده می شود ، سپس آن را بیشتر از یک بار در نزدیکی نوار نامیده نمی شودوادبرای اینکه بتوانید عملکرد هشدار () را در طی فرآیند ساخت نوار فراخوانی کنید ، باید گزینه CALC_ON_EVERY_TICK را فعال کنید.

با استفاده از تمام تماسهای "هشدار ()"

بیایید مثالی را بررسی کنیم که در آن صلیب خط میانی RSI را تشخیص می دهیم:

اگر هشدار اسکریپت از این اسکریپت ایجاد شده است:

  • هنگامی که RSI از خط مرکزی عبور می کند ، هشدار اسکریپت با پیام "Go Long ..." شروع می شود. هنگامی که RSI از خط وسط عبور می کند ، هشدار اسکریپت با پیام "کوتاه ..." شروع می شود.
  • از آنجا که هیچ استدلالی برای پارامتر FREQ در تماس هشدار () مشخص نشده است ، مقدار پیش فرض هشدار استفاده می شود. freq_once_per_bar استفاده می شود ، بنابراین هشدار فقط اولین بار است که هر یک از هشدار () تماس ها در طول نوار واقعی اجرا می شود.
  • پیام ارسال شده با هشدار از دو بخش تشکیل شده است: یک رشته ثابت و سپس نتیجه تماس toString () که شامل مقدار RSI در لحظه ای است که تماس هشدار () توسط اسکریپت اجرا می شود. یک پیام هشدار برای یک صلیب به نظر می رسد: "برو طولانی (RSI 53. 41)".
  • از آنجا که یک هشدار اسکریپت همیشه در هر صورت از یک تماس برای هشدار () ایجاد می کند ، تا زمانی که فرکانس مورد استفاده در تماس امکان پذیر باشد ، این اسکریپت خاص به کاربر اسکریپت اجازه نمی دهد که هشدار اسکریپت خود را فقط به مدت طولانی محدود کند ، به عنوان مثالواد
  • برخلاف یک تماس هشدار دهنده () که همیشه در ستون 0 (در دامنه جهانی اسکریپت) قرار می گیرد ، تماس هشدار () در محدوده محلی یک شاخه IF قرار می گیرد ، بنابراین فقط هنگامی که وضعیت تحریک ما برآورده شود ، اجرا می شود. اگر یک تماس هشدار () در محدوده جهانی اسکریپت در ستون 0 قرار بگیرد ، در همه میله ها اجرا می شود ، که احتمالاً رفتار مطلوب نخواهد بود.
  • یک هشدار دهنده () نتوانست همان رشته ای را که ما برای پیام هشدار خود استفاده می کنیم به دلیل استفاده از تماس toString () استفاده کنیم. پیام های AlertCondition () باید رشته های ثابت باشند.

سرانجام ، از آنجا که پیام های هشدار () می توانند در زمان اجرا به صورت پویا ساخته شوند ، می توانستیم از کد زیر برای تولید رویدادهای هشدار خود استفاده کنیم:

با استفاده از تماسهای انتخابی "هشدار ()"

هنگامی که کاربران در تماس با عملکرد هشدار () هشدار اسکریپت ایجاد می کنند ، هشدار در هر تماس اسکریپت به عملکرد هشدار () ایجاد می کند ، مشروط بر اینکه محدودیت های فرکانس آن برآورده شود. اگر می خواهید به کاربران اسکریپت خود اجازه دهید کدام یک از تماس های عملکردی هشدار () را در اسکریپت خود انتخاب کند ، هشدار اسکریپت را ایجاد می کند ، باید وسیله ای را برای نشان دادن ترجیح آنها در ورودی های اسکریپت خود فراهم کنید و منطق مناسب را در خود کدگذاری کنیدفیلمنامهبه این ترتیب ، کاربران اسکریپت قادر خواهند بود چندین اسکریپت را از یک اسکریپت واحد ایجاد کنند ، هر کدام قبل از ایجاد هشدار در UI نمودار ، متفاوت رفتار می کنند.

فرض کنید ، برای مثال بعدی ما ، که ما می خواهیم گزینه ایجاد هشدارها را فقط در مورد طولانی ، فقط شلوارک یا هر دو فراهم کنیم. شما می توانید اسکریپت خود را مانند این کدگذاری کنید:

  • ما یک شرایط مرکب ایجاد می کنیم که فقط در شرایطی که انتخاب کاربر امکان ورود به آن جهت را فراهم می کند ، برآورده می شود. ورود طولانی به یک متقاطع از خط مرکزی فقط باعث می شود که ورودی های طولانی در ورودی های اسکریپت فعال شوند.
  • ما به کاربر پیشنهاد می کنیم تا ترجیح مجدد وی را نشان دهد. هنگامی که او اجازه نمی دهد محاسبات دوباره رنگ آمیزی شود ، ما منتظر می مانیم تا تأیید نوار باعث ایجاد شرایط ترکیب شود. به این ترتیب ، هشدار و نشانگر فقط در انتهای نوار زمان واقعی ظاهر می شوند.
  • اگر یک کاربر از این اسکریپت می خواست دو هشدار اسکریپت مجزا از این اسکریپت ایجاد کند ، یعنی یکی فقط در Longs و یکی فقط در شلوارک ، پس او نیاز دارد:
    • فقط "Detect Longs" را در ورودی ها انتخاب کنید و اولین هشدار اسکریپت را روی اسکریپت ایجاد کنید.
    • فقط در ورودی ها فقط "Detect Shorts" را انتخاب کرده و هشدار اسکریپت دیگری را روی اسکریپت ایجاد کنید.

    در استراتژی ها

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

    این استراتژی هنگام حرکت RSI در برابر تجارت برای سه میله متوالی ، تماس های عملکردی هشدار () ایجاد می کند:

    اگر یک کاربر هشدار اسکریپت را از این استراتژی ایجاد کرده و شامل هر دو برنامه پر کردن سفارش و تماس های عملکردی هشدار () در هشدار خود باشد ، هشدار هر زمان که سفارش اجرا شود ، یا هنگامی که یکی از هشدار () تماس ها توسط اسکریپت اجرا می شود ، هشدار می شود. در تکرار بسته شدن نوار Realtime ، یعنی وقتی Barstate. IsrealTime و Barstate. isconfirmed هر دو درست هستند. وقایع عملکرد هشدار () در اسکریپت فقط با بسته شدن نوار زمان واقعی ، هشدار را تحریک می کند زیرا Alert. freq_once_per_bar_close آرگومان مورد استفاده برای پارامتر FREQ در هشدار () است.

    سفارش رویدادهای پر کردن

    هنگامی که یک هشدار اسکریپت از یک مطالعه ایجاد می شود ، فقط می تواند در تماس های عملکردی هشدار () ایجاد شود. با این حال ، هنگامی که یک هشدار اسکریپت از یک استراتژی ایجاد می شود ، کاربر می تواند مشخص کند که رویدادهای پر کردن سفارش نیز باعث هشدار اسکریپت می شود. یک رویداد پر کردن سفارش هر رویدادی است که توسط شبیه ساز کارگزار ایجاد می شود که باعث می شود یک دستور شبیه سازی شده اجرا شود. این معادل سفارش تجارت است که توسط یک کارگزار/مبادله پر می شود. سفارشات لزوماً هنگام قرار دادن اجرا نمی شوند. در یک استراتژی ، اجرای سفارشات فقط با تجزیه و تحلیل تغییرات در متغیرهای داخلی مانند Strategy. OpentRades یا Strategy. Position_Size قابل تشخیص و پس از واقعیت است. هشدارهای اسکریپت پیکربندی شده در رویدادهای پر از سفارش از این رو مفید هستند که باعث می شود در لحظه دقیق اجرای یک سفارش ، هشدارها را ایجاد کند ، قبل از اینکه منطق یک اسکریپت بتواند آن را تشخیص دهد.

    رمزگذارهای کاج می توانند پیام هشدار ارسال شده هنگام اجرای سفارشات خاص را سفارشی کنند. در حالی که این یک پیش نیاز برای ایجاد رویدادهای پر از سفارش نیست ، پیام های هشدار سفارشی می توانند مفید باشند زیرا اجازه می دهند نحو سفارشی با هشدارها به منظور هدایت سفارشات واقعی به موتور اجرای شخص ثالث ، به عنوان مثال درج شوند. مشخص کردن پیام های هشدار سفارشی برای رویدادهای پر کردن سفارش خاص با استفاده از پارامتر Alert_Message در توابع که می توانند سفارشات ایجاد کنند: استراتژی.) ، استراتژی. entry () ، استراتژی.) و استراتژی.

    آرگومان مورد استفاده برای پارامتر Alert_Message یک "رشته سری" است ، بنابراین می توان با استفاده از هر متغیر موجود در اسکریپت ، به صورت پویا ساخته شد ، تا زمانی که به قالب رشته تبدیل شود.

    بیایید به یک استراتژی که در آن از پارامتر Alert_Message در هر دو استراتژی خود استفاده می کنیم ، نگاهی بیندازیم.

    • ما از پارامتر stop در فراخوانی های strateg. entry() خود استفاده می کنیم که دستور توقف خرید و توقف فروش را ایجاد می کند. این امر مستلزم آن است که سفارش های خرید فقط زمانی اجرا می شوند که قیمت بالاتر از بالای نواری باشد که در آن سفارش انجام می شود، و سفارش های فروش تنها زمانی اجرا می شوند که قیمت کمتر از پایین ترین قیمت در نواری که در آن سفارش انجام می شود، باشد.
    • فلش های بالا/پایین که با plotchar() رسم می کنیم هنگام سفارش ها ترسیم می شوند. هر تعداد نوار ممکن است قبل از اجرای واقعی سفارش بگذرد و در برخی موارد سفارش هرگز اجرا نمی شود زیرا قیمت شرایط لازم را برآورده نمی کند.
    • از آنجایی که ما از همان آرگومان شناسه برای همه سفارش های خرید استفاده می کنیم، هر سفارش خرید جدیدی که قبل از برآورده شدن شرایط سفارش قبلی انجام شود، جایگزین آن سفارش می شود. همین امر در مورد سفارشات فروش نیز صدق می کند.
    • متغیرهای موجود در آرگومان alert_message زمانی که دستور اجرا می شود، ارزیابی می شوند، بنابراین زمانی که هشدار فعال می شود.

    When the alert_message parameter is used in a strategy’s order-generating strategy.*() function calls, script users must include the> placeholder in the “Create Alert” dialog box’s “Message” field when creating script alerts on order fill events . This is required so the alert_message argument used in the order-generating strategy.*() function calls is used in the message of alerts triggering on each order fill event . When only using the>مکان نگهدار در فیلد "پیام" و پارامتر alert_message فقط در برخی از استراتژی های تولید سفارش وجود دارد. فراخوانی تابع استراتژی.*() از پارامتر alert_message استفاده نمی کند.

    در حالی که سایر مکان ها را می توان در فیلد «پیام» کادر گفتگوی «ایجاد هشدار» توسط کاربران ایجاد هشدار درباره رویدادهای تکمیل سفارش استفاده کرد، نمی توان از آنها در آرگومان alert_message استفاده کرد.

    رویدادهای "alertcondition()"

    تابع ()alertcondition به برنامه نویسان اجازه می دهد تا رویدادهای شرط هشدار فردی را در مطالعات Pine ایجاد کنند. یک مطالعه ممکن است حاوی بیش از یک تماس ()alertcondition باشد. هر فراخوانی به alertcondition() در یک اسکریپت یک هشدار متناظر قابل انتخاب در منوی کشویی "شرط" کادر گفتگوی "Create Alert" ایجاد می کند.

    در حالی که وجود فراخوانی ()alertcondition در یک اسکریپت استراتژی Pine باعث خطای کامپایل نمی شود، نمی توان هشدارهایی از آنها ایجاد کرد.

    تابع alertcondition() دارای امضای زیر است:

    مقدار "سری BOOL" (درست یا نادرست) را شرط می کند که تعیین می کند که هشدار چه زمانی شروع می شود. این یک استدلال مورد نیاز است. هنگامی که مقدار صحیح است ، هشدار باعث می شود. وقتی مقدار نادرست باشد ، هشدار باعث نمی شود. برخلاف تماس های عملکردی () هشدار () ، تماس های هشدار () باید از ستون صفر یک خط شروع شود ، بنابراین نمی توان در بلوک های مشروط قرار گرفت. عنوان A آرگومان اختیاری "Const String" که نام وضعیت هشدار را تنظیم می کند ، همانطور که در قسمت "Create Alert" کادر گفتگوی "وضعیت" در نمودار UI ظاهر می شود. در صورت عدم ارائه استدلالی ، از "هشدار" استفاده می شود. یک آرگومان اختیاری "رشته" را پیام دهید که پیام متنی را برای نمایش در هنگام شروع هشدار مشخص می کند. متن در قسمت "پیام" کادر گفتگوی "ایجاد هشدار" ظاهر می شود ، از جایی که کاربران اسکریپت می توانند هنگام ایجاد هشدار ، آن را تغییر دهند. از آنجا که این استدلال باید یک "رشته" باشد ، باید در زمان تلفیقی شناخته شود و بنابراین نمی تواند نوار را متفاوت کند. با این حال ، این می تواند دارای متغیرهایی باشد که در زمان اجرا توسط مقادیر پویا جایگزین می شوند که ممکن است نوار را به نوار تغییر دهد. برای یک لیست به بخش Flailers این صفحه مراجعه کنید.

    عملکرد AlertCondition () شامل یک پارامتر FREQ نیست. فراوانی هشدارهای هشدار () توسط کاربران در کادر گفتگوی "ایجاد هشدار" تعیین می شود.

    با استفاده از یک شرایط

    در اینجا نمونه ای از ایجاد کد AlertCondition () رویدادها وجود دارد:

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

    اگر می خواستیم مقدار RSI را در هنگام وقوع صلیب درج کنیم ، نمی توانیم به سادگی مقدار آن را با استفاده از toString (R) به رشته پیام اضافه کنیم ، همانطور که می توانستیم در یک تماس () هشدار یا در یک استدلال Alert_Message در یک استراتژی. با این حال ، ما می توانیم آن را با استفاده از یک مکان نگهدارنده بگنجانیم. این دو گزینه دیگر را نشان می دهد:

    • The first line uses the>مکان یابی ، جایی که شماره طرح با ترتیب طرح در فیلمنامه مطابقت دارد.
    • The second line uses the> type of placeholder, which must include the title of the plot() call used in our script to plot RSI. Double quotes are used to wrap the plot’s title inside the>نگهدارنده مکاناین امر مستلزم آن است که ما از نقل قول های منفرد برای بسته بندی رشته پیام استفاده کنیم.
    • با استفاده از یکی از این روشها ، می توانیم هر مقدار عددی را که توسط مطالعه ما ترسیم شده است ، درج کنیم ، اما از آنجا که رشته ها نمی توانند ترسیم شوند ، از متغیر رشته ای نمی توان استفاده کرد.

    با استفاده از شرایط ترکیب

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

    این اسکریپت یکی از راه های انجام آن را نشان می دهد:

    توجه داشته باشید که چگونه تماس AlertCondition () مجاز به ایجاد یکی از دو شرط است. هر شرایط فقط می تواند هشدار را ایجاد کند اگر کاربر قبل از ایجاد هشدار ، آن را در ورودی های اسکریپت فعال کند.

    متقاضیان

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

    توجه داشته باشید که کاربران در حال ایجاد هشدارهای هشدار () از کادر گفتگوی "ایجاد هشدار" در نمودارهای UI همچنین قادر به استفاده از این متغیرها در قسمت "پیام" کادر گفتگو هستند.

    > Exchange of the symbol used in the alert (NASDAQ, NYSE, MOEX, etc.). Note that for delayed symbols, the exchange will end with “_DL” or “_DLY.” For example, “NYMEX_DL.”> Retus the timeframe of the chart the alert is created on. Note that Range charts are calculated based on 1m data, so the placeholder will always retu “1” on any alert created on a Range chart.> ,> ,> ,> ,> Corresponding values of the bar on which the alert has been triggered.> ,> , […],>مقدار شماره نقشه مربوطه. به منظور ظاهر در فیلمنامه ، توطئه ها از صفر تا 19 شماره گذاری می شوند ، بنابراین فقط می توان از یکی از 20 قطعه اول استفاده کرد. به عنوان مثال ، نشانگر "حجم" داخلی دارای دو سری خروجی است: حجم و حجم MA ، بنابراین می توانید از موارد زیر استفاده کنید:

    >این مکان نگهدارنده می تواند در صورت نیاز به مراجعه به طرح با استفاده از آرگومان عنوان مورد استفاده در یک تماس () استفاده شود. توجه داشته باشید که علائم نقل قول مضاعف (") باید در داخل مکان نگهدارنده برای بسته بندی آرگومان عنوان استفاده شود. این امر مستلزم استفاده از یک علامت نقل قول واحد (') برای بسته بندی رشته پیام است:

    <> Ticker of the symbol used in the alert (AAPL, BTCUSD, etc.).> Retus the time at the beginning of the bar. Time is UTC, formatted as yyyy-MM-ddTHH:mm:ssZ , so for example: 2019-08-27T09:56:00Z .> Current time when the alert triggers, formatted in the same way as>واددقت به نزدیکترین دوم ، صرف نظر از بازه زمانی نمودار است.

    اجتناب از تکرار با هشدارها

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

    • محاسبات مورد استفاده در شرط ایجاد هشدار می تواند در نوار زمان واقعی متفاوت باشد. این مورد در مورد هر محاسبه با استفاده از بالا ، کم یا نزدیک ، به عنوان مثال ، که تقریباً تمام شاخص های داخلی را شامل می شود ، اتفاق می افتد. همچنین در نتیجه هرگونه تماس امنیتی () با استفاده از یک بازه زمانی بالاتر از نمودار ، هنگامی که نوار فعلی بازه زمانی بالاتر هنوز بسته نشده است ، مورد خواهد بود.
    • هشدار می تواند قبل از بسته شدن نوار زمان واقعی ، با هر فرکانس غیر از "یک بار در هر نوار نزدیک" شروع شود.

    ساده ترین راه برای جلوگیری از این نوع بازپرداخت ، پیکربندی فرکانس تحریک هشدارها است ، بنابراین آنها فقط در بسته شدن نوار زمان واقعی شروع می کنند. هیچ پاناسه وجود ندارد. اجتناب از این نوع بازپرداخت همیشه مستلزم انتظار برای اطلاعات تأیید شده است ، این بدان معنی است که معامله گر برای دستیابی به قابلیت اطمینان باید فوری را فدا کند.

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

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

برچسب : نویسنده : احمد شاملو بازدید : 46 تاريخ : چهارشنبه 27 ارديبهشت 1402 ساعت: 12:53