Solcurity

هر آنچه که اراده کنید قابل دست یافتن است. تنها نیاز به تلاش منظم دارد. ما برای هر تلاش منظم خود، پاداش زیادی را دریافت می کنیم.

طبقه بندی موضوعی
۲۷
آذر

پیش از هر چیز یادآوری می کنم که موضوع گفتگوی ما در اینجا MQL4 است. پس اگر به زبان دیگری برنامه نویسی می کنید ممکن است این نوشتار به کارتان نیاید.

بعضی از اکسپرت ها یا اندیکاتور ها به فایل های dll نیاز دارند و حتما باید تیک مربوط به دسترسی آنها به چنین فایل هایی زده شود تا کار کنند.

اما کاربرد این فایل ها چیست و چه کمکی می کنند؟

۱۷
آذر

ممکن است بخواهید اسکریپت، اندیکارتور یا اکسپرتی که می نویسید بر روی چارت یک نشانه را برایتان نمایش دهد. برای این کار باید یک arrow بسازید. با بهره بردن از دستور   ObjectCreate می توانید این کار را انجام دهید سپس باید از کد زیر بهره ببرید.

         ObjectSetInteger(chart_id,name,OBJPROP_ARROWCODE,object_code);

۰۷
اسفند

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

   static datetime New_Time=0;         // Time of the current bar
   if(New_Time!=Time[0])               // Compare time
     {                                          // A new bar detected
      New_Time=Time[0];
      main_func();                        // Now run the main function
     }

۲۱
بهمن

برای محاسبه تعداد کندل ها از یک زمان خاص تا اکنون می توانید از تابعiBarShiftبهره ببرید. در نمونه زیر نخست زمان شروع 5 کندل پیشتر در تایم فریم یک ساعته را به دست آورده ایم و سپس تعداد کندل ها از آن زمان تا زمان حال در تایم فریم یک دقیقه را محاسبه کردیم.

// Get datetime of the 5th candle in H1 timeframe
datetime H1time = iTime(_Symbol,PERIOD_H1,5);

// Get the index of that candle in M1 timeframe
int Bars = iBarShift(_Symbol,PERIOD_M1,H1Time,true);

برای آگاهی بیشتر از این تابع و کارکرد آن می توانید به سایت MQL4 سر بزنید.

۲۳
آذر

در MQL4 ، برای یافتن کمترین و بیشترین مقدار بین سه عدد تابعی وجود ندارد. ناگزیر به دوبار بهره بردن از توابع پیشفرض MathMin و MathMax هستیم. برای نمونه:

// Declare variables
double a = 10; // first variable
double b = 20; // second variable
double c = 15; // third variable

double min = MathMin(MathMin(a, b), c); // minimum value of a, b, and c.
double max = MathMax(MathMax(a, b), c); // maximum value of a, b, and c.

که خروجی آن 10 برای کمترین و 20 برای بیشترین ارزش است.

۲۲
آبان

این سوالیه که من از خیلی ها پرسیدم و پاسخ های متفاوتی دریافت کردم از جواب هایی که واقعا آخرش نفهمیدم چی شد تا جواب های بسیار منطقی

اما در نهایت توانستم تمام این جواب ها را در سه دسته طبقه بندی کنم:

 

  1. پول کافی ندارم/ منتظرم یک سرمایه گذار پیدا شود.
  2. نمی‌دانم چطور نظر مخاطبانم را جلب کنم.
  3. نمی‌دانم چطور مردم حاضر خواهند شد محصول مرا بخرند.