در این مقاله یاد میگیرید چگونه با استفاده از زمان باز بسته شدن سشنهای فارکس(مثلا شروع و پایان کار بازار لندن)، قیمت آن بازده زمانی را بدست آورید. مثلا میخواهید بدانید قیمت در شروع بازار لندن چقدر بوده است. (شاید بخواهید در این قیمت یا در پایان یک سشن اردر گذاری کنید.) در ادامه در چند قدم این کار را انجام میدهیم.
ما ابتدا یک تابع مینویسیم تا زمانی که میخواهیم را در متاتریدر بدست آوریم. مثلا میدانیم سشن لندن ساعت ۱۰ و ۳۰ دقیقه باز خواهد شد. تابع زیر را میتوانید در متاادیتور خود کپی کنید و سپس این ساعت را در ورودیهای آن بعدا قرار دهید.
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;
}
در قدم بعدی یک متغیر از جنس datetime تعریف کنید و با تابع بالا مقدار آن را مشخص کنید(در این مثال ساعت ۱۰ و ۳۰ دقیقه صبح امروز). سپس این متغیر را در تابع iBarShift استفاده میکنیم که شماره کندل مورد نظر را پیدا کنیم.
حالا که شماره کندل زمان مورد نظر را داریم با تابع iOpen قیمتی که میخواهیم را بدست میآوریم.
کد زیر را برای تست در تابع onInit کپی کنید و نتیجه را زمانی که اجرا میکنید به صورت کامنت روی چارت مشاهده کنید.
datetime when= SetTimeCandle(TimeCurrent(),10,30);
int whenbar=iBarShift(_Symbol,PERIOD_CURRENT,when);
double Openprice=iOpen(_Symbol,PERIOD_CURRENT,whenbar);
Comment(Openprice,"\n",when);
نویسنده و مدرس اکسپرت نویسی فارکس
لطفا با نظرات خوبتون، ما را در بالا بردن کیفیت یاری کنید. نظرتون را بگید حتی اگر منفی باشه.❤️😊
ما در بورس۹۰ آموزشهای تخصصی در زمینهی اکسپرتنویسی و ابزارهای معاملاتی ارائه میدهیم و به کاربران کمک میکنیم تا با استفاده از استراتژیهای خودکار، عملکرد بهتری در معاملاتشان داشته باشند.
بدون دیدگاه