intCopyOpen(
string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time, // по какую дату double open_array[] // массив для копирования цен открытия
);
int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rate)。
如果(copied>0)
{
Print("Copied bars: "+copied);
string format="open = %G, high = %G, low = %G, close = %G, volume = %d" 。
串出。
int size=fmin(copied,10);
for(int i=0;i<size;i++)
{
out=i+": "+TimeToString(rate[i].time);
out=out+"+StringFormat(format,
rates[i].open,
rates[i].high,
rates[i].low。
rates[i].close。
rates[i].tick_volume)。
打印(out)。
}
}
else Print("Failed to get historical data on symbol ",Symbol())。
}
如何删除星期六和星期日?
更准确地说,如何对过去,比如说,250个交易日进行类似的操作?
尝试用这种结构来工作
structMqlDateTime
{
int year; // год int mon; // месяц int day; // день int hour; // час int min; // минуты int sec; // секунды int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота) int day_of_year; // порядковый номер в году (1 января имеет номер 0)
};
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
comp, 2016.03.23 09:49
我如何通过ChartID知道图表周期?ChartGetInteger不允许在一个动作中做到这一点。
到目前为止,我已经想出了一个拐杖式的解决方案,即保存一个模板并解析其中的周期。
如何正常发现?
使用ChartPeriod
图表周期
返回指定图表的周期 值。
ENUM_TIMEFRAMESChartPeriod(
longchart_id=0// 图表ID
);
参数
chart_id=0
[图表的ID。0表示当前的图表。
返回的值
ENUM_TIMEFRAMES类型 的值。如果没有图表,则返回0。
使用ChartPeriod
下午好!
如何确定一键交易面板的状态(展开或折叠)?
告诉我如何在这个初学者的主题中搜索到正确的问题。这个主题已经发展成为一个巨大的问题和答案层,因此手动搜索已经不可能了。问一个问题已经犹豫了,也许它已经在这里回答了很久,而且搜索是在整个网站上进行的,而不是在这个特定的部分 "为初学者"?
在谷歌搜索中输入:搜索网站:https://www.mql5.com/ru/forum/6343
"可搜索 "是你正在寻找的东西。
下午好!
我不知道如何处理过去250个交易时段 的两个小时的条形图,例如从下午3点到下午5点的服务器时间。
能否请您给我一个概念性的建议?
mql5
下午好!
我不知道如何处理过去250个交易时段 的两个小时的条形图,例如从下午3点到下午5点的服务器时间。
能否请您给我一个概念性的建议?
mql5
使用带有时间查询的函数
谢尔盖。
谢谢你的答复!
对于我的任务来说,更方便的做法是
空白的OnStart()
{
datetime start =StringToTime("2016.03.25 15:00")。
datetime stop =StringToTime("2016.03.25 15:55")。
MqlRates rates[];
ArraySetAsSeries(rate,true)。
int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rate)。
如果(copied>0)
{
Print("Copied bars: "+copied);
string format="open = %G, high = %G, low = %G, close = %G, volume = %d" 。
串出。
int size=fmin(copied,10);
for(int i=0;i<size;i++)
{
out=i+": "+TimeToString(rate[i].time);
out=out+"+StringFormat(format,
rates[i].open,
rates[i].high,
rates[i].low。
rates[i].close。
rates[i].tick_volume)。
打印(out)。
}
}
else Print("Failed to get historical data on symbol ",Symbol())。
}
如何删除星期六和星期日?
更准确地说,对过去的,比如说,250个交易日做一个类似的操作?
谢尔盖。
谢谢你的答复!
对于我的任务来说,更方便的做法是
空白的OnStart()
{
datetime start =StringToTime("2016.03.25 15:00")。
datetime stop =StringToTime("2016.03.25 15:55")。
MqlRates rates[];
ArraySetAsSeries(rate,true)。
int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rate)。
如果(copied>0)
{
Print("Copied bars: "+copied);
string format="open = %G, high = %G, low = %G, close = %G, volume = %d" 。
串出。
int size=fmin(copied,10);
for(int i=0;i<size;i++)
{
out=i+": "+TimeToString(rate[i].time);
out=out+"+StringFormat(format,
rates[i].open,
rates[i].high,
rates[i].low。
rates[i].close。
rates[i].tick_volume)。
打印(out)。
}
}
else Print("Failed to get historical data on symbol ",Symbol())。
}
如何删除星期六和星期日?
更准确地说,如何对过去,比如说,250个交易日进行类似的操作?
尝试用这种结构来工作