پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

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

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

تعداد بازدید: 1542

کد پروژه: 324465


شرح پروژه

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

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

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

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 نباشه. 

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

همین!

ارادتمند. 

این پروژه شامل 1 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


مبلغ پروژه

3,300,000 تومان

مهلت برای انجام

10روز

وضعیت مناقصه

انجام شده


درباره کارفرما

عضویت پنج سال پیش

24 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 33%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

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

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

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

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار