نمودار زیر جریان عمل ایجاد و اجرای یک شاخص سفارشی را به نمایش می گذارد.
"جدید را باز کنید."منوی سمت راست نوار جستجو و" نشانگر جدید "را انتخاب کنید. اگر گزینه "نشانگر جدید" قبلاً انتخاب شده است ، به سادگی روی آن کلیک کنید.
Ctrader به طور خودکار یک شاخص جدید حاوی کد نمونه ایجاد می کند. شما باید یک پسوند "نشانگر جدید" اضافه شده به لیست شاخص ها مشاهده کنید.
با انتخاب آن و فشار دادن F2 می توانید نشانگر جدید خود را تغییر نام دهید. از طرف دیگر ، روی پسوند جدید راست کلیک کرده و "تغییر نام" را انتخاب کنید.
برای باز کردن پنجره کد ویرایشگر حاوی کد زیر ، روی نشانگر جدید خود کلیک کنید.
همانطور که قبلاً بحث کرده ایم ، ویژگی شاخص (شاخص) به همراه خصوصیات اختیاری آن مانند منطقه زمانی و دسترسی ، پیش از اعلام کلاس نشانگر (NewIndicator) است.
اعلامیه [خروجی ("OutputName")] تعریف آنچه نشانگر شما را نشان می دهد تعریف می کند. پس از استفاده از آن ، لطفاً اطمینان حاصل کنید که املاک مورد نظر بعدی از نوع داده indicatordataseries است. با اضافه کردن یک پارامتر دیگر به اعلامیه [خروجی ("OutputName")] می توانید ظاهر پیش فرض خروجی نشانگر خود را سفارشی کنید.
روش اولیه () هنگام راه اندازی یک شاخص فراخوانی می شود. معمولاً برای اولیه سازی متغیرها و سری هایی مانند شاخص های تو در تو استفاده می شود. به طور کلی ، این روش باید شامل کلیه متغیرهایی باشد که برای جلوگیری از مصرف منابع غیر ضروری باید در راه اندازی نشانگر محاسبه شوند.
به نوبه خود ، از روش محاسبه () برای محاسبه مقدار خاص برای شاخصی که می خواهید نمایش داده شود استفاده می شود. به طور خودکار در هر نوار تاریخی فراخوانی می شود. همچنین در هر کنه ورودی در زمان واقعی فراخوانی می شود. در مورد اجرای چند منظوره/چند پس از نام ، از هر نمادی که شاخص شما وظیفه تجزیه و تحلیل را دارد ، از آن استفاده می شود. به روش محاسبه () به عنوان مکانی در کد خود فکر کنید که در آن باید فرمول نشانگر واقعی را پیاده سازی کنید. به عنوان مثال ، هنگام استفاده از فرمول نشانگر نیمه روند ، از روش محاسبه () برای تعریف تقاطع های متوسط در حال حرکت استفاده می کنید.
این دو روش "نان و کره" از هر شاخص را تشکیل می دهند و نمی توانند حذف شوند. کتابخانه منابع ما را برای کسب اطلاعات بیشتر در مورد کلاس ها ، روش ها و خواصی که می توانید هنگام نشانگرهای کدگذاری استفاده کنید ، کسب کنید. علاوه بر این ، شما همیشه می توانید نوشتن روش های سفارشی را همانطور که در مقدمه ما در C# و . NET نشان داده شده است ، انتخاب کنید.
با توجه به آنچه شما به تازگی آموخته اید و نمونه های ارائه شده در سایر قسمت های این مستندات ، کد نشانگر خود را متناسب با نیازهای خود ویرایش کنید.
در مثال بالا ، روش محاسبه () تفاوت بین قیمت بالا و پایین هر نوار را تعیین می کند. خود میله ها با استفاده از شاخص خود در مجموعه میله ها قابل دسترسی هستند.
کد زیر را دقیقاً زیر اعلامیه فضای نام کپی و جایگذاری کنید تا همان شاخص ایجاد شود.
با کلیک بر روی دکمه "ذخیره" واقع در سمت چپ پنجره کد ویرایشگر کد ، کد خود را ذخیره کنید. از طرف دیگر ، Ctrl + S را فشار دهید. همچنین می توانید در هر نقطه از ویرایشگر کد کلیک راست کرده و از منوی تازه باز شده "ذخیره" را انتخاب کنید.
به طور مشابه با CBOTS ، شاخص ها قبل از استقرار باید ساخته شوند. برای ساختن یک نشانگر ، روی نماد "ساخت" در بالای ویرایشگر کد یا در منوی CBOT کلیک کنید. میانبر صفحه کلید برای این عمل Ctrl + B است.
اگر ساخت موفق شود ، با یک پیام جدید در بیننده "نتیجه ساخت" به شما اطلاع داده می شود. در صورت عدم موفقیت ساخت ، این پنجره خلاصه ای از همه خطاهای روبرو در طی فرآیند ساخت را نشان می دهد. با کلیک بر روی توضیحات خطا در نمایشگر "نتیجه ساخت" ، مکان دقیقی را در کد شما نشان می دهد که این خطا در آن رخ می دهد.
اگر تغییراتی در کد شما از آخرین ساخت وجود دارد ، باید یک علامت قرمز "*" را در کنار نماد "ساخت" مشاهده کنید. در این حالت ، قبل از اجرای آن ، دوباره نشانگر را بسازید.
اگر تمام اقدامات فوق را با موفقیت انجام داده اید ، شاخص شما باید برای استقرار آماده باشد. برای شروع استفاده از آن ، با انجام یکی از اقدامات زیر یک نمونه جدید ایجاد کنید.
شما باید یک نمونه جدید را که مستقیماً در زیر نشانگر خود قرار دارد مشاهده کنید.
اگر پارامترهای قابل تنظیم را در کد خود مشخص کرده اید ، آنها در برگه "پارامترها" واقع در سمت چپ صفحه نمایش "ساعت تجاری" قرار می گیرند. پارامتر "خطوط" برای تمام شاخص هایی که دارای خروجی قابل مشاهده هستند ، جهانی است. همچنین می توانید ظاهر خطوط نشانگر را تنظیم کنید که هرگونه تنظیماتی را که قبلاً در کد نشانگر مشخص کرده اید ، غلبه می کند.
بر خلاف CBOT ، شما نمی توانید پارامترهای نمونه نمونه را از/به پرونده های ذخیره شده محلی وارد یا صادر کنید.
به طور خلاصه ، شاخص ها محاسبات را برای خروجی تصاویر خاص انجام می دهند. در نتیجه ، ضروری است که کد شما به طور دقیق موارد حاشیه و شرایط مرزی را برای محاسبات خروجی کنترل کند.
گزیده ای از کد زیر را که از یک نشانگر در حال خروج از یک نوسان ساز قیمت است ، در نظر بگیرید.
کد فوق حاوی برخی از قوانین کلی برای محاسبه است اما به ویژه هرگونه شرایط مرزی را حذف می کند.
به عنوان مثال ، اگر دوره ها مقدار 10 را داشته باشند و شاخص مقدار خود را در محدوده 0-9 داشته باشد ، محاسبات ما منجر به NAN (نه یک عدد) می شود. شاخص ما به سادگی نمی تواند مقدار مورد نیاز را برای نمودار نوار با شاخص منفی محاسبه کند. برای رفع این مشکل ، ما همیشه می توانیم شرایط زیر را اضافه کنیم.
The code of the simple moving average also has to check that index>= دوره ها. علاوه بر این ، اگر از یک نشانگر تو در تو استفاده کنیم (به عنوان مثال ، نوع دیگری از میانگین متحرک) ، این شرایط باید متفاوت باشد تا تمام محاسبات جدید را به خود اختصاص دهد.
در حالی که می توانید شرایط مرزی را مشخص کرده و موارد حاشیه ای را کشف کنید ، C# وسیله ای برای استفاده آسان برای جلوگیری از این مشکل به طور کامل فراهم می کند.
به طور خاص ، نوع Double Data به طور کامل از حسابی NAN (نه یک عدد) پشتیبانی می کند. ما می توانیم با استفاده از مثال زیر این موضوع را نشان دهیم.
به عبارت دیگر ، هنگامی که محاسباتی را انجام می دهید که حداقل یک متغیر از نوع NAN باشد ، نتیجه این محاسبات همیشه NAN خواهد بود.
خوشبختانه برای ما ، تمام شاخص های CTRADER سفارشی بر روی داده های نوع مجموعه داده ها کار می کنند. هنگامی که مقدار یک عنصر از لیست مجموعه داده ها را با یک شاخص منفی درخواست می کنید ، همیشه NAN را دریافت خواهید کرد ، و ارزش خود به سادگی در نمودار معاملات ترسیم نمی شود.
این شاخص بدون پرتاب یک استثنا ، به طور عادی به کار خود ادامه می دهد. این بدان معناست که ، در بیشتر موارد ، شما می توانید با اطمینان از شرایط مرزی چشم پوشی کرده و قوانین محاسبه کلی را اجرا کنید.
در حالی که Aritheretics NAN کار را با شرایط مرزی ساده می کند ، هنوز موقعیت هایی وجود دارد که در آن مقادیر NAN باید صریح انجام شود. شاخص های بازگشتی یک مورد از این دست را تشکیل می دهند.
هنگام محاسبه یک مقدار ، یک نشانگر بازگشتی محاسبات خود را بر روی مقدار محاسبه شده برای دوره قبلی پایه گذاری می کند. مثال زیر از یک محاسبه میانگین متحرک نمایی را در نظر بگیرید.
اگر نشانگر ما مقداری را برای دوره اول محاسبه کند ، ما باید صریحاً آن را به یک نوع غیر NAN تنظیم کنیم. در غیر این صورت ، تمام محاسبات ما برای تمام دوره های آینده منجر به NAN خواهد شد و شاخص بی فایده خواهد بود.
در کد فوق ، این با استفاده از دو برابر حاصل می شود. روش isnan (previstValue). لطفاً توجه داشته باشید که ما نمی توانیم از اپراتور == (previstValue == double. isnan) استفاده کنیم به دلیل این واقعیت که بیان NAN == x همیشه نادرست باز می گردد حتی اگر x باشد.
پلتفرم های تجاری...
برچسب :
نویسنده : مریم کاویانی
بازدید : <-PostHit->