//--- example 1// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
int count=0;
if(InpBarTime<10)
count=10;
else
count=InpBarTime+1;
2.在MT4中哪个条目元素定义了[h]条目
//--- example 1// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
#property script_show_inputs//--- input parametersint InpBarTime=3; // Bar where we compare the time//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
// А ЕСЛИ ПО ЦИКЛУ ?
int InpBarTime=10;
for(int a=0; a<=InpBarTime; a++)
{
//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
Запустив InpBarTime по циклу будем иметь цикл, но в структуре. Правильно?
最好不要混淆,使用一种方法:要么交易类CSymbolInfo,要么使用SymbolInfoXXXX这样的系统函数。
是的,谢谢你。我还可以澄清一下。
它是否会导致错误,还是只是对编码文化的一种建议?
嗯哼,谢谢你。我还可以澄清一下。
这是否会导致错误,还是说这只是对编码文化的一种建议?
没有人禁止使用油菜花,但是:随着时间的推移,你不会混淆自己的变量名称,你不会记得你在变量中更新或没有更新数据吗?
没有人禁止使用油菜花,但是:随着时间的推移,你不会混淆自己的变量名称,记住你是否更新了变量中的数据?
谢谢你,我明白了)
如果你需要比较同一时间段的几个时间序列,可以使用一个MqlRates 类型的数组->,并使用CopyRates来填充这个数组。
将时间存储在MqlDateTime 结构中是很方便的--使用TimeToStruct 将时间从日期时间 转换为MqlDateTime 结构。
现在你的例子1将看起来像这样。
谢谢你的说明性回答。但也有一些问题...
1.什么是?和。只找到::背景。
2.在MT4中哪个条目元素定义了[h]条目
谢谢你的说明性回答。但也有一些问题...
1.它是什么意思?只找到 :: 上下文
-->
这是一种简略的形式。都是一样的。
2.在MT4中哪个条目元素定义了[h]条目
-->
我认为InpBarTime。你怎么看?
你是什么意思?只找到 :: 上下文
https://www.mql5.com/ru/docs/basis/operators/ternary
这个操作者最近变得很时髦,它被越来越多地使用。
kopeyka2:
谢谢你的说明性回答。但也有一些问题...
1.它是什么意思?只找到 :: 上下文
-->
这是一种简略的形式。都是一样的。
2.在MT4中哪个条目元素定义了[h]条目
-->
我认为InpBarTime。你怎么看?
目前,我几乎不认为,在通常意义上,该状态....我是BLONDING,手里拿着千斤顶)))。
你已经全局声明InpBarTime=3; 而在MT4中[h]是从这里到那里通常是一个循环(对于限制......)。
#property script_show_inputs //--- input parameters int InpBarTime=3; // Bar where we compare the time //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart()
找到了Market_Sessions指标 那里有一个有趣的设计.... 试图把我脑子里剩下的内部对话纳入其中...))))
我现在几乎没有思考,在通常意义上的....。我是金发碧眼,手里拿着千斤顶))))。
而你在全球范围内是这样写的
找到了Market_Sessions指标 那里有一个有趣的结构.... 试图把我脑子里剩下的内部对话纳入其中...))))
啊,对不起,应该这样写的。
你是什么意思?只找到 :: 上下文
https://www.mql5.com/ru/docs/basis/operators/ternary
这种运算法则最近变得很时髦,越来越多的人使用。
好了!!!。
我说对了吗?
好了!!!。
我说对了吗?
你没有搞清楚。我给了你一个工作实例。运行它。忘记MQL4 的写作风格。开始研究代码,看看帮助。