ترسیم شکل در متا تریدر

برای این درخواست 16   پیشنهاد توسط فریلنسرهای سایت ارسال شده است.
اگر شما هم نیازمند چنین پروژه ای هستید کافی است عضو شوید و درخواست دهید.


در پارسکدرز کارفرمایان سفارش پروژه می دهند تا توسط متخصصین عضو با قیمتی رقابتی انجام شود.


قیمت توافق شده: 3,300,000 تومان

شرح پروژه:


سلام و خسته نباشید.

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

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

Symbol

LevelUniqueID

Visible

RectangleShapeFormat

Time1

Price1

Price2

Text1

TextFontSize

توضیح در مورد اطلاعات:

Symbol: یکی از نمادهای متاتریدر

LevelUniqueID یک استرینگ است که برای هر سطر منحصربفرد بوده و هیچ دو مورد مشابهی ندارد.

RectangleShapeFormat یک متغیر در خصوص پارامترهای ترسیمی یک مستطیل (بدون مختصات) است.

Visible: متغیر bool

Time1 متغیر از نوع datetime است

Price1 و Price2 متغیر double هستند.

Text1 متغیر str است

TextFontSize هم که نیازی به توضیح به نظرم نداره.

کاری که من میخوام اندیکاتور بکنه این هست:

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

2) ببینه که روی چه چارتی ران شده و بر اساس Symbol اون ستون هایی که مربوط به چارت مورد نظر هست فیلتر بشن. منظورم از این قسمت اینه که فایل اکسل من میتونه اطلاعات متعددی از نمادهای مختلف داشته باشه و من میخوام که اندیکاتور، فقط نمادهایی که مربوط به چارت مورد نظر هست رو برای ترسیم استفاده کنه.  

3) بررسی کنه که آیا بر اساس LevelUniqueID، مستطیلی با این مشخصه داخل چارت وجود داره یا خیر. اگر هست، ببینه مقدار ستون Visible چنده. اگر 1 بود صرفا لازمه موقعیت لبه سمت راست مستطیل بیاد بچسبه به آخرین کندل موجود (در واقع میخوام لبه سمت راست مستطیل های من با زمان بیان جلو). اما اگر 0 بود، مستطیل با مشخصه LevelUniqueID از چارت حذف شود. اگر مستطیلی با مشخصات مذکور داخل چارت نیست، ببینه ستون Visible چنده. اگر 0 بود، که لازم نیست کاری انجام بده، اما اگر 1 بود، میره برای ترسیم مستطیل

4) داخل این مرحله لازمه تا بر اساس اطلاعات داده شده یک مستطیل ترسیم بشه. بر اساس راهنمای MQL5 داده هایی که برای ترسیم یک مستطیل لازم هستند، به شرح فایل پیوست هستند: 

 در مورد  name میشه (یعنی فکر کنم باید) از LevelUniqueID استفاده کرد که بشه بعدا دوباره پیداش کرد. 

قیمت اول و دوم همان دو متغیر Price1 و Price2 هستند که پیشتر به آنها اشاره شد. 

زمان اول همان Time1 است که به آن اشاره شد. Time2 برابر با تایم آخرین کندل روی چارت مورد نظر خواهد بود. 

سایر پارامترهای باقی مانده، مربوط به مشخصات ترسیم مستطیل هست. من میخوام که بتونم این پارامترهای باقی مانده رو از یک فایل با نام مشخص بخونم. من اصرار خاصی به فرمت csv ندارم اما روی این مثال میزنم تا بتونم منظورم رو برسونم: به عنوان مثال فرض کنیم که من میخوام مستطیل ها با 3 فرمت متفاوت ترسیم شوند. فرمت ها رو با شماره های 1 و 2 و 3 مشخص میکنیم- به همین دلیل، سه تا فایل با پسوند csv لازم دارم که مشخصات ترسیمی من رو داخل خودشون دارند. فرض کنیم این فایل ها، با نام های 1.csv و 2.csv و 3.csv در محل مورد نظر برای خوندن برنامه گذاشته شده باشند. من، به عنوان کاربر اندیکاتور، داخل فایل اکسلی که خونده میشه، یک متغیر دارم به نام  RectangleShapeFormat که میخوام، اگر به ترتیب مقادیر 1 و 2 و 3 براش وارد کردم، اندیکاتور، از فایل هایی که بهشون اشاره کردم، مشخصات ترسیمی برای هر سطر اکسل رو استخراج کنه و مستطیل اون سطر رو بر اساس اون مشخصات ترسیمی، رسم کنه. من اصراری روی فرمت csv ندارم و به عهده برنامه نویس گذاشته میشه اما باید فرمتی باشه که من بتونم با notepad به راحتی ادیت کنم؛ نمونه مشابه بسازم و یا فرمت هایی که لازم ندارم رو پاک کنم. 

در عین حال میخوام که محتویات سلول Text1 هم با فونت TextFontSize  روی چارت نوشته بشه.  مختصات متن هم محل برخورد price 1  و Time1 باشه. لازم به ذکره که بودن یا نبودن این تکست روی صفحه مشابه بودن یا نبودن مستطیل مربوطه اشه. یعنی اگر نیست، ترسیم بشه، و اگر هست و متغیر visible مقدارش 0 شده، پاک بشه. تنها تفاوتش با مستطیل اینه که نیازی نیست جابجا بشه و با زمان تغییر کنه. 

فکر نمیکنم نیازی به ذکر این موضوع باشه، اما موارد ترسیمی (مستطیل و متن) باید در تمامی تایم فریم ها قابل مشاهده باشند. 

نکته دیگری که هست، داخل properties  مستطیل های ترسیم شده در متا، یک گزینه Disable Selection هست. خیلی مهمه که این گزینه، از طریق مشخصات داخل فایل csv قابل تنطیم باشه. اگر اشتباه نکنم الیته، همون متغیر InpSelection داخل شکل فوق هست. اما گفتم که جا نمونده باشه. در حالت پیش فرض هم میخوام که این تیک خورده باشه، یعنی قابل select نباشه. 

در ضمن، ممکنه ادیت کردن مستطیل های موجود سخت تر از پاک کردن کل ترسیمات و ترسیم دوباره باشه. اینکه کدوم مسیر ساده تره، تصمیم شما و به انتخاب شماست. من مسلط نیستم.  

همین!

ارادتمند. 


لیست پیشنهادهای فریلنسرها

Saeed.prk

فریلنسر نقره‌ای

فریلنسر نقره‌ای

3,300,000 تومان

امتیاز 9.97 (ممتاز)ممتاز از 23 رای
پروژه موفق : 35
رتبه: 110
هفت ساعت پیش

موج امید

فریلنسر نقره‌ای

فریلنسر نقره‌ای

5,900,000 تومان

امتیاز 9.69 (ممتاز)ممتاز از 14 رای
پروژه موفق : 22
رتبه: 279
نه روز پیش

سعید نویزکی

فریلنسر نقره‌ای

فریلنسر نقره‌ای

300,000 تومان

امتیاز 10.00 (ممتاز)ممتاز از 5 رای
پروژه موفق : 8
رتبه: 850
نه روز پیش
+8500
+112512

پارسکدرز چی هست و چه کارهایی در اون انجام میشه؟

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

فعالیت به عنوان مجری یا فریلنسر

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

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

فعالیت به عنوان کارفرما یا خریدار

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

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