چطور قیمت ساعت 6:30 دقیقه را بدست آوریم؟

در این مقاله یاد می‌گیرد چگونه با استفاده از زمان، قیمت آن بازده زمانی را بدست بیارید. مثلا می‌خواهید ببینید قیمت ساعت ۶ و ۳۰ دقیقه صبح با چه قیمتی باز شده است. در ادامه در ۴ حرکت کوتاه این کار را انجام می‌دهیم.

بدست آوردن تایم

ما برای راحتی کارمون یک تابع می‌نویسی که بتوانیم زمانی که می‌خواهیم را به ما نشان دهد. مثلا می‌خوایم ساعت ۶ و ۳۰ دقیقه امروز را به ما نشان دهید. تابع زیر را می‌توانید در متاادیتور خود کپی کنید. 

				
					datetime SetTimeCandle(datetime now, int hour, int minute){

   MqlDateTime nowStruct;
   TimeToStruct(now, nowStruct);
   
   nowStruct.sec=0;
   datetime nowTime= StructToTime(nowStruct);
   
   nowStruct.hour = hour;
   nowStruct.min= minute;
   
   datetime prevTime = StructToTime(nowStruct);
   
   while (prevTime >= nowTime){
      prevTime -= 86400;
     }
   return prevTime;
}
				
			

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

				
					int OnInit()
  {

datetime when= SetTimeCandle(TimeCurrent(),6,30);
int whenbar=iBarShift(_Symbol,PERIOD_CURRENT,when);
double Openprice=iOpen(_Symbol,PERIOD_CURRENT,whenbar);
Comment(Openprice,"\n",when);
   return(INIT_SUCCEEDED);
  }
				
			
Picture of احمد هندیان‌پور

احمد هندیان‌پور

نویسنده و مدرس اکسپرت‌نویسی فارکس