چگونه می توان خط "سفارش (3000) را برطرف کرد" در استراتژی های TradingView به خطای رسید؟

ساخت وبلاگ

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

در این مقاله:

# خطای سفارش (3000) # TradingView به خطای رسید

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

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

Example of TradingView

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

# معامله با "محدودیت سفارش (3000) به دست آمد"

در اینجا خبرهای بدی وجود دارد: هیچ راه حل واقعی برای خطای "سفارش سفارش (3000)" TradingView وجود ندارد. این خطا به سادگی هنگامی اتفاق می افتد که استراتژی ما بیش از 3،000 سفارش را در پس آزمون خود ارسال می کند. و این یک محدودیت TradingView است ، نه یک اشتباه برنامه نویسی.

اما ما می توانیم با انجام برخی از تنظیمات استراتژی ، خطا را برطرف کنیم. این چیزی است که می توانید هنگام رسیدگی به خطای "سفارش (3000)" TradingView ، امتحان کنید:

  • ابتدا کد استراتژی خود را بررسی کنید. آیا ممکن است اشتباهی وجود داشته باشد که باعث شود اسکریپت سفارشات بیشتری را از آنچه که باید ارسال کند ، ارسال کند؟
    • بگویید که شما می خواستید به جای EMA (نزدیک ، 30) ، EMA 30 نوار اما به طور تصادفی کدگذاری شده (نزدیک ، 3) را تجارت کنید. رفع این اشتباه یک پیروزی آسان است که باعث می شود کمتر به "حد سفارش (3000) برسد".
    • تنظیمات هرمی استراتژی را پایین تر یا کاملاً غیرفعال کنید. به این ترتیب فقط یک تجارت برای هر موقعیت طولانی یا کوتاه وجود دارد.
    • یک فیلتر زمان اضافه کنید تا استراتژی تمام میله های قیمت را در نمودار قرار دهد.(مثال زیر را ببینید.)
    • استراتژی را در یک بازه زمانی بالاتر اجرا کنید. اگر در یک نمودار 1 دقیقه ای به "سفارش (3000) رسیده اید" رسیدید ، در نظر بگیرید که به یک نمودار 3 یا 5 دقیقه ای تغییر دهید.
    • عملکرد استراتژی را فقط در موقعیت های طولانی و کوتاه تنها پشت سر بگذارید. به این ترتیب شما اغلب می توانید سفارشات استراتژی را به نصف کاهش دهید.
    • از استراتژی خود بخواهید فقط در مدت زمان مشخصی از روز سفارشات را ارسال کنید. اگر قصد دارید استراتژی را با دست تجارت کنید ، پس از آن تنظیماتی که در نیمه شب اتفاق می افتد می تواند با خیال راحت از بین برود.
    • اگر نکات فوق کار نمی کند یا برای استراتژی شما مناسب نیست ، متأسفانه نیاز به تنظیم جدی استراتژی دارید. این بدان معناست که شما باید ایده استراتژی اصلی خود را تجدید نظر کنید و به یکی از مواردی که سفارشات کمتری تولید می کند ، برسید تا TradingView بتواند آن را پشت سر بگذارد.

    استراتژی. entry () ، Strateg. Exit () و استراتژی. order () همه آنها را ارسال می کنند (TradingView ، n. d.). اما این معاملات با موقعیت ها متفاوت است. از این گذشته ، یک موقعیت طولانی یا کوتاه می تواند از سفارشات ورودی و/یا خروج چندگانه استفاده کند.

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

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

    اکنون بیایید برخی از نمونه های کد را کشف کنیم. هر یک از این نشان می دهد که چگونه می توانیم در مورد خطای "سفارش سفارش (3000)" در مورد TradingView کار کنیم. اما توجه داشته باشید که هر استراتژی ، ابزار و بازه زمانی منحصر به فرد است: آنچه به یک استراتژی کمک می کند ممکن است به دیگری کمک نکند.

    # مثال خطا: هرمی که باعث محدودیت سفارش TradingView می شود

    کدگذاری یک استراتژی معاملاتی که اهرام در موقعیت ها در TradingView آسان است: فقط آرگومان هرمی را به عملکرد استراتژی () اضافه کنید یا گزینه استراتژی مربوطه را با دست فعال کنید. متأسفانه ، دریافت خط "سفارش (3000)" خطای TradingView با Pyramiding نیز بسیار آسان است.

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

    TradingView

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

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

    گزینه دیگر غیرفعال کردن pyramiding است. ما احتمالاً به 10 ورودی در یک جهت نیاز نداریم تا بدانیم آیا ورودی اولیه معتبر بوده است یا خیر. اگر استراتژی خود را بدون هرمی آزمایش کنیم و نتایج بک‌آزمون امیدوارکننده باشد، در آن صورت همیشه می‌توانیم هرم را دوباره روشن کرده و یک پنجره زمانی کوچک‌تر را آزمایش کنیم.

    و بنابراین برای رفع خطای «حدت سفارش (3000) رسید»، آرگومان pyramiding را از تابع استراتژی () حذف می‌کنیم. به این ترتیب تابع استراتژی (خط 2) مثال تبدیل می شود:

    # مثال خطا: رفع خطای محدودیت سفارشات با فیلتر زمان

    دلیل خطای «حد سفارش (3000) رسیده است» TradingView سفارشات بسیار زیاد در نمودار است. اما TradingView یک استراتژی را به‌طور پیش‌فرض روی تمام داده‌های نموداری که به دست آورده‌ایم بک تست می‌کند. از آنجایی که نمی‌توانیم در تنظیمات استراتژی پیکربندی کنیم که چه بازه زمانی بک‌آزمایی انجام شود، باید راه‌های دیگری را که پنجره بک‌آست را محدود می‌کند، جستجو کنیم.

    بیایید ببینیم چگونه با اسکریپت استراتژی اشتباه زیر:

    Example of TradingView

    یکی از رفع خطاهای «حد سفارش (3000) رسیده است» که این استراتژی ایجاد می‌کند فیلتر زمان برنامه‌ای است. با محدود کردن زمانی که استراتژی معاملات ایجاد می کند، تعداد دفعات معامله آن در طول کل بک تست را محدود می کنیم.

    چالش این راه حل، ارائه یک فیلتر زمان خوب است. ما نمی‌خواهیم استراتژی خود را خیلی محدود کنیم: با یک آزمون پشتیبان تنها در یک پنجره زمانی کوچک نمی‌توانیم بگوییم که ایده استراتژی کار می‌کند یا خیر. ما همچنین نمی‌توانیم هیچ دوره زمانی را محدود کنیم: اگر در نهایت یک بازار نزولی را حذف کنیم، نتایج استراتژی نیز قابل اعتماد نیستند.

    اما در واقعیت، گاهی اوقات یک فیلتر زمان مجبور است داده‌های زیادی را حذف کند تا از خطای «حداقل سفارش (3000) TradingView» جلوگیری کند. استراتژی مثال بالا در نمودار 1 دقیقه ای آنقدر فعال بود که فقط این فیلتر زمان کار کرد:

    زمانی که تاریخ نوار بین 19 جولای 2018 و پایان سال باشد، متغیر TimeFilter Boolean که در اینجا ایجاد می‌کنیم صادق است. ما آن فیلتر را به هر دو متغیر enterLong و enterShort اضافه می کنیم. این متغیرها همان چیزی هستند که استراتژی برای تعیین اینکه آیا باید سفارش ارسال کند یا خیر، استفاده می کند.

    به هر حال ، وقتی این مثال را نوشتم ، تاریخ 26 ژوئیه 2018 بود. این بدان معنی است که استراتژی تجارت در نمودار 1 دقیقه ای یورو/USD بسیار فعال بود که نمی توانست بیش از یک هفته از داده ها بدون استفاده از TradingView ، از آن استفاده کند. خطای "سفارش (3000) رسید".

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

    • (year == 2018) and (month >= 7) فقط از ژوئیه 2018 به بعد فقط به پشتی.
    • سال == 2018 فقط به سال کامل سال 2018.
    • ((year == 2017) and (month >6)) و (سال == 2018) و (ماه< 7)) to backtest from July 2017 to the end of June 2018.

    # مثال خطا: با تغییر منطق استراتژی ، خطای حد سفارش را برطرف کنید

    بعضی اوقات وقتی هرم را خاموش می کنیم و پنجره زمانی استراتژی را به طرز تهاجمی محدود می کنیم ، هنوز به خط "سفارش (3000) رسیدیم" به خطای TradingView رسید. این امر به ویژه در مورد استراتژی های نسبی با فرکانس بالا که به طور فعال در بازارها پوست سر دارند ، صادق است.

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

    بگویید ما این اسکریپت مثال را گرفتیم:

    Example of TradingView

    آنچه باعث می شود TradingView باعث شود خط "سفارش (3000) به سرعت برسد" به سرعت رسیده است ، فعالیت این استراتژی است: این کشور بر اساس بالاترین و کمترین ارزش 3 نوار وارد موقعیت می شود.

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

    برای آزمون من در نمودار 1 دقیقه یورو/USD ، این تغییر برای کار در مورد حد مجاز (3000) به پیام خطای TradingView کافی بود. در حالی که من نیاز به تغییر منطق استراتژی داشتم ، حداقل اکنون کار می کرد.

    # خلاصه

    خط "سفارش (3000) به دست آمد" خطایی اتفاق می افتد که استراتژی TradingView ما بیش از 3000 معاملات ایجاد کند. این خطا متأسفانه محدودیت TradingView را نشان می دهد ، به این معنی که ما باید به طور فعال در اطراف آن کار کنیم.

    چند روش برای مقابله با آن خطا وجود دارد. بهترین سناریو یک اشتباه برنامه نویسی است که تجارت استراتژی را بسیار بیشتر از آنچه که باید انجام داده است. اگر کد استراتژی ما صحیح است ، ما باید به روش های دیگری برای رسیدگی به خطا نگاه کنیم.

    ما می توانیم هرم را غیرفعال کنیم تا این استراتژی هنوز هم همان سیگنال ها را معامله کند ، اما با سفارشات کمتری. یا ما یک فیلتر زمانی اضافه می کنیم تا استراتژی تمام میله های قیمت را در نمودار قرار ندهد. گزینه دیگر این است که یک بازه زمانی کمی بالاتر را پشت سر بگذارید. اگر هیچکدام از این گزینه ها واقعاً به شما کمک نمی کنند ، ما باید به صفحه نقاشی برگردیم و بفهمیم که چگونه می توانیم ایده استراتژی خود را اما با فعالیت تجاری کمتری آزمایش کنیم.

    منابع

    TradingView (n. d.). کتابچه راهنمای مرجع زبان اسکریپت کاج. برگرفته در تاریخ 26 ژوئیه 2018 ، از https://www.tradingview.com/study-script-reference/

    آخرین به روز شده در 22 مه 2019 (منتشر شده در 30 ژوئیه 2018).

    # آموزش های مربوط به TradingView

    با آرگومانهای عملکردی نحوه عملکرد عملکردهای TradingView را پیکربندی می کنیم. اما ما خطای "آرگومان ناشناخته" را برای نام های استدلال نادرست دریافت خواهیم کرد.

    وقتی خطای "پایان خط پایان خط" TradingView را دریافت می کنیم ، مشکلات تورفتگی در نشانگر یا استراتژی اسکریپت کاج ما وجود دارد.

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

    خطاهای TradingView "Session Session" ، "مشخصات بد" ، و "Sessions Sessions Sessions Syntax" همه اتفاق می افتد وقتی که یک جلسه زمانی را نادرست کد می کنیم.

    یک متغیر TradingView فقط یک بار قابل ایجاد است. اگر سعی کنیم دو بار همان متغیر را اعلام کنیم ، خطای "متغیر قبلاً اعلام شده" را دریافت می کنیم.

    در kodify. net خوش آمدید! این وب سایت با هدف کمک به افرادی مانند شما که منحنی برنامه نویسی خود را کاهش می دهند ، کمک می کند. امیدوارم مقالات را با کارهای برنامه نویسی خود مفید پیدا کنید.

    می خواهی بیشتر در مورد من بدانی؟صفحه را بررسی کنید.

    برای کسب اطلاعات در مورد بسیاری از ویژگی های اسکریپت کاج ، به تمام آموزش های TradingView مراجعه کنید

پایگاه های معاملاتی...
ما را در سایت پایگاه های معاملاتی دنبال می کنید

برچسب : نویسنده : فرشته صدرعرفایی بازدید : 62 تاريخ : دوشنبه 7 فروردين 1402 ساعت: 14:44