millionchart
English

واژه‌نامه

واژه‌هایی که هنگام نوشتن اسکریپت به آن‌ها برمی‌خورید، هر کدام در یکی دو جمله، با پیوند به صفحه‌ای که آن را یاد می‌دهد.

واژه‌های این راهنما در یک جا. هر مدخل می‌گوید آن واژه اینجا چه معنایی دارد و به صفحه‌ای پیوند می‌دهد که آن را یاد می‌دهد.

نمودار و داده‌هایش#

  • کندل — یک کندل نمودار: قیمت بازشدن، بالاترین، پایین‌ترین، بسته‌شدن و حجم در یک گام تایم‌فریم. اسکریپت برای هر کندل یک بار اجرا می‌شود، از قدیمی‌ترین. نگاه کنید به درس 1: اولین اسکریپت شما.
  • کندل بسته‌شده — کندلی که زمانش تمام شده است؛ مقدارهایش دیگر تغییر نمی‌کنند.
  • کندل در حال شکل‌گیری — جدیدترین کندل که هنوز باز است: close آن آخرین قیمت است و تا بسته شدن کندل تغییر می‌کند. نگاه کنید به نتیجه‌هایی که زیادی خوب به نظر می‌رسند.
  • سری — مقداری که برای هر کندل یک مقدار دارد، مثل close یا نتیجهٔ tech.sma(close, 20). نگاه کنید به مقدارها و نوع‌ها.
  • تایم‌فریم — طول یک کندل: "15" (15 دقیقه)، "60"، "1D". ورودی از نوع tf به عضو اجازه می‌دهد یکی را انتخاب کند. نگاه کنید به تایم‌فریم‌ها و نمادهای دیگر.
  • نماد — ابزاری که نمودار نشان می‌دهد. اسکریپت فقط نماد خود نمودار را می‌خواند؛ دادهٔ نماد دیگر در این نسخه در دسترس نیست.
  • تیک — کوچک‌ترین گام قیمت یک نماد، symbol.tick. اسپرد و لغزش یک استراتژی بر حسب تیک نوشته می‌شوند. نگاه کنید به واحدها و لیترال‌ها.
  • سشن — ساعت‌های نام‌دار روز در یک منطقهٔ زمانی که با session name = 08:00 .. 16:30 @ "Europe/London" اعلام می‌شود؛ عضوهایش (.active، .high و بقیه) آن را دنبال می‌کنند. نگاه کنید به روز معاملاتی و سشن‌ها.
  • روز معاملاتی — روزِ بازار خود نماد، که لازم نیست از نیمه‌شب شروع شود. prior(day) و state day از آن پیروی می‌کنند.
  • تایم‌فریم بالاتر — تایم‌فریمی بلندتر از تایم‌فریم نمودار که با data.series خوانده می‌شود. به طور پیش‌فرض آخرین کندل بسته‌شدهٔ آن تایم‌فریم را می‌دهد.

نوشتن اسکریپت#

  • اسکریپت — برنامه‌ای کوچک که روی نمودار شما اجرا می‌شود، در اسکریپت‌های من نگه داشته می‌شود و فقط مال حساب شماست. نگاه کنید به اسکریپت خودتان را بنویسید.
  • سرآیند — خط اول، indicator "Name"، strategy "Name" یا module Name، با تنظیماتش که زیرش تورفته نوشته می‌شوند. نگاه کنید به نحو و چیدمان.
  • نسخهٔ زبان (edition) — نسخه‌ای از زبان که اسکریپت برایش نوشته شده است، یعنی edition = 1 در سرآیند. اسکریپت وقتی نسخهٔ بعدی بیاید معنای خودش را حفظ می‌کند.
  • اندیکاتور — اسکریپتی که رسم می‌کند: خط، سطح، علامت، پس‌زمینه، جدول، برچسب.
  • استراتژی — اسکریپتی که سفارش شبیه‌سازی‌شده هم می‌گذارد؛ نمودار معامله‌هایش را علامت می‌زند و جدول نتیجه‌ها را نشان می‌دهد. نگاه کنید به اولین استراتژی شما.
  • ماژول — اسکریپتی که کارش وارد شدن در اسکریپت‌های دیگر است: تابع‌ها و نوع‌ها را صادر می‌کند و خودش چیزی رسم نمی‌کند. نگاه کنید به ماژول‌ها و کتابخانه‌ها.
  • ورودی — تنظیمی که عضو می‌تواند در پنل تنظیمات تغییر دهد و با input اعلام می‌شود. نگاه کنید به ورودی‌ها.
  • شناسه — نامی که نمودار ذخیره‌شده با آن یک ورودی یا یک خط رسم‌شده را دوباره پیدا می‌کند؛ برای ورودی، همان نامِ بعد از input است. نگاه کنید به شناسه‌ها.
  • خط رسم‌شده (plot) — سری‌ای که روی هر کندل رسم می‌شود و با plot(...) ساخته می‌شود. نگاه کنید به خط‌ها و ترسیم‌ها.
  • سطح — خطی افقی در یک مقدار ثابت که با level(...) ساخته می‌شود.
  • سایه (shade) — فضای پرشده میان دو خط رسم‌شده یا دو سطح که با shade(a, b, ...) ساخته می‌شود.
  • علامت — شکل، حرف یا فلشی روی کندل‌هایی که شرطی در آن‌ها درست است: mark.shape، mark.char، mark.arrow.
  • ترسیم — یک شیء تکی که با شمارهٔ کندل و قیمت جای داده می‌شود: label.new، line.new، box.new، polyline.new، یا یک جدول با table.new.
  • پنل — جایی که اسکریپت در آن رسم می‌کند. display = price روی نمودار قیمت رسم می‌کند؛ بدون آن، اسکریپت پنل جدایی زیر نمودار می‌گیرد.
  • قالب‌بند — بخشی از ویرایشگر که اسکریپت را در یک چیدمان استاندارد بازنویسی می‌کند؛ دکمهٔ Format آن را اجرا می‌کند. نگاه کنید به ویرایشگر.

مقدارها و حافظه#

  • let — نامی برای مقداری که در هر اجرا یک بار تعیین می‌شود و در طول آن اجرا هرگز تغییر نمی‌کند. نگاه کنید به let، mut و state.
  • mut — مقداری که در هر اجرا از نو شروع می‌شود و در طول اجرا می‌تواند تغییر کند.
  • state — مقداری که در اولین اجرا تعیین می‌شود و از یک کندل به کندل بعد نگه داشته می‌شود. state day در هر روز معاملاتی از نو شروع می‌شود.
  • تاریخچه — x[n] مقدار x در n کندل قبل است: close[1] قیمت بسته‌شدن کندل قبلی است.
  • na — «بی‌مقدار»: آنچه یک سری پیش از داشتن کندل کافی نگه می‌دارد، یا جایی که نتیجه‌ای وجود ندارد. با is_na(x) آزمایشش کنید؛ x ?? 0 جایش را می‌گیرد. نگاه کنید به na، خطاها و محاسبات عددی.
  • گرم شدن (warm-up) — نخستین کندل‌هایی که محاسبه هنوز روی آن‌ها مقداری ندارد، مثل 19 کندل اول یک میانگین 20 کندلی.
  • تاپل — چند مقدار با هم که یک‌جا برگردانده می‌شوند و با let (a, b) = ... از هم جدا می‌شوند. نگاه کنید به تابع‌ها، نوع‌ها و enum‌ها.
  • رکورد (type) — مقداری از خودتان با فیلدهای نام‌دار که با type اعلام می‌شود. نگاه کنید به نوع‌ها در حالت سایه.
  • enum — فهرست بسته‌ای از نام‌ها که با enum اعلام می‌شود؛ ورودیِ از نوع enum یک فهرست کشویی است.
  • آرایه — فهرستی مرتب که با .at(i) از 0 خوانده می‌شود. نگاشت (map) — مقدارهایی که با کلید نگه داشته می‌شوند. نگاه کنید به مقدارها و نوع‌ها.
  • متن قالب‌دار (f-text) — متنی با مقدارهایی در آکولاد، f"{close:price}"؛ پس از دونقطه قالب می‌آید. نگاه کنید به قالب‌بندی متن و عدد.
  • فراخوانی حالت‌دار — فراخوانی‌ای که کندل‌های قبلی را به یاد دارد، مثل tech.ema یا data.series. برای هر جایی که نوشته شده (محل فراخوانی) یک حافظهٔ جدا نگه می‌دارد. نگاه کنید به فراخوانی‌هایی که حالت نگه می‌دارند.
  • عملگر تنبل — and، or، ?? و شاخه‌های if ... then ... else سمت راستشان را فقط وقتی لازم باشد اجرا می‌کنند، پس فراخوانی حالت‌دار نمی‌تواند آنجا بنشیند (E3302). نگاه کنید به عملگرهای تنبل.

پیام‌ها و سقف‌ها#

  • کد تشخیص — کدِ ثابتِ یک پیام، مثل E3171. نگاه کنید به تشخیص‌ها.
  • خطا — کدی که با E شروع می‌شود: اسکریپت تا وقتی درست نشود اجرا نمی‌شود. اخطار — کدی با W-: اسکریپت اجرا می‌شود، اما چیزی ارزش یک نگاه دیگر را دارد. پیشنهاد — کدی با H- که همراه یک خطا می‌آید و می‌گوید چه بنویسید.
  • بودجهٔ اجرا — مقدار کاری که اسکریپت اجازه دارد انجام دهد: 500,000 گام برای یک کندل و 600,000,000 برای کل یک اجرا. نگاه کنید به سقف‌ها و بودجهٔ اجرا.
  • روی نمودار متوقف شد — آنچه ویرایشگر نشان می‌دهد وقتی اسکریپتی که کامپایل شده در حین اجرا می‌ایستد؛ پیام موتور کندل را نام می‌برد. نگاه کنید به پیام‌های موتور.
  • ریپینت — سیگنالی که وقتی کندل در حال شکل‌گیری است می‌آید و می‌رود، یا بعداً تغییر می‌کند.
  • نگاه به آینده (نشت) — نتیجه‌ای که از کندلی استفاده کرده که هنوز اتفاق نیفتاده بود، مثلاً مقدار تایم‌فریم بالاتر که پیش از بسته شدن کندلش خوانده شده. نگاه کنید به نتیجه‌هایی که زیادی خوب به نظر می‌رسند.
  • قطعیت (determinism) — یک اسکریپت روی همان کندل‌ها هر بار همان عددها را می‌دهد. نگاه کنید به قطعیت و سقف‌ها.

استراتژی‌ها#

  • سفارش — درخواستی برای باز یا بسته کردن یک معاملهٔ شبیه‌سازی‌شده: orders.enter، orders.close، orders.exit. نگاه کنید به استراتژی‌ها و سرآیند.
  • کلید سفارش — متنی که یک سفارش را نام می‌برد، مثل "Long" در orders.enter("Long", side.long)؛ بستن یا خروج همان کلید را نام می‌برد.
  • پر شدن (fill) — لحظه و قیمتی که سفارش شبیه‌سازی‌شده در آن انجام می‌شود. به طور پیش‌فرض سفارش بازاری که هنگام بسته شدن یک کندل گذاشته شود، با قیمت بازشدن کندل بعدی پر می‌شود.
  • پوزیشن — معامله‌ای که الان باز است: position.size (برای خرید مثبت) و position.avg_price.
  • اسپرد — فاصلهٔ قیمت خرید و فروش که در بلوک execution: بر حسب تیک تعیین می‌شود.
  • لغزش — حرکت قیمت میان سفارش و پر شدنش، که آن هم بر حسب تیک تعیین می‌شود.
  • کمیسیون (fees) — هزینهٔ هر بار پر شدن که در بلوک setup: تعیین می‌شود، مثلاً fees = fee.per_lot(3.5).
  • افت سرمایه (drawdown) — پایین آمدن حساب شبیه‌سازی‌شده از یک قله؛ جدول نتیجه‌ها بزرگ‌ترینش را نشان می‌دهد.
  • Strategy Lab — پنلی که یک استراتژی را روی تاریخچه آزمایش می‌کند و معامله‌ها و نتیجه‌هایش را گزارش می‌دهد. نگاه کنید به درس 15: آزمایش در Strategy Lab.

ببینید هم: پرسش‌های پرتکرار، برگهٔ خلاصه.