初学者的问题 MQL5 MT5 MetaTrader 5 - 页 700

 
Vitalie Postolache:
急需到real!!!!!!!!!!!!!
不太着急,先给我一个副本)
 
Treder9:
我想用50块钱买个真的。

你可以从这样的一个硬币中得到一个很好的回报。

但没有人能够做到

我回答!
 
Taras Slobodyanik:

你需要添加一个参数

request.type_time=ORDER_TIME_DAY;


谢谢你,我只是希望我能够弄清楚如何添加...

 

我不知道如何用5来表达High[]?

double High[]
double High[];
int count;        // сколько копируем
ArraySetAsSeries(High,true);
CopyHigh(_Symbol,_Period,0,count,High);
 
-Aleks-:

我不知道如何用5来表达High[]?

我这样表达,可能写得不对,但很有效。

double iOpen(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Open[];
  double open=0;
   ArraySetAsSeries(_Open,true);
   int copied=CopyOpen(symb,tf,0,Bars(symb,tf),_Open);
   if(copied>0 && index<copied) open=_Open[index];
   return(open);
}
double iClose(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Close[];
  double close=0;
   ArraySetAsSeries(_Close,true);
   int copied=CopyClose(symb,tf,0,Bars(symb,tf),_Close);
   if(copied>0 && index<copied) close=_Close[index];
   return(close);
}
double iHigh(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _High[];
  double high=0;
   ArraySetAsSeries(_High,true);
   int copied=CopyHigh(symb,tf,0,Bars(symb,tf),_High);
   if(copied>0 && index<copied) high=_High[index];
   return(high);
}
double iLow(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
  double _Low[];
  double low=0;
   ArraySetAsSeries(_Low,true);
   int copied=CopyLow(symb,tf,0,Bars(symb,tf),_Low);
   if(copied>0 && index<copied) low=_Low[index];
   return(low);
}
 
-Aleks-:

我不知道如何用5来表达High[]?

MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rate)


然后,在需要时,调用:Rates[x].high。
 
Vitaly Muzichenko:

我是这样表达的,可能写得不太正确,但它是有效的。

而我确实做到了--但为什么要在5....,把它搞得如此糟糕?

维塔利-波斯托拉什

MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rate)


然后,在必要时,调用: rates[x].high。

而且,作为一项规则,人们会复制所有的价值观吗?这种抄袭到底有什么好处?它所消耗的内存是否比4中少?

陷入昏迷,因为

应该注意的是,在MQL5中,图表周期(从H1开始)的常数数值与条形图中的分钟数不 一致(例如,在MQL5中PERIOD_H1的数值=16385,而在MQL4中PERIOD_H1=60)。如果在MQL4的程序中使用了计算用的数字值,那么在转移到MQL5时必须考虑到这种情况。

要知道一个图表的指定时段的分钟数,请将PeriodSeconds 函数的值除以60。

16385这个数字是怎么来的--逻辑在哪里?

 
Vitalie Postolache:

MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rate)


然后在必要时调用:Rates[x].high。

好吧,你有一个针对当前字符的解决方案,我有一个多符号检索。

问题:我的写法是否正确,还是代码中存在错误?

-Aleks-

我感到困惑的是

应该注意的是,在MQL5中,图表周期(从H1开始)的常数的数值与条形图中的分钟数不 一致(例如,在MQL5中,PERIOD_H1的数值=16385,而在MQL4中PERIOD_H1=60)。如果在MQL4的程序中使用了计算的数值,那么在转移到MQL5时必须考虑到这种情况。

要知道一个图表的指定时段的分钟数,请将PeriodSeconds 函数的值除以60。

16385这个数字是怎么来的-- 逻辑在哪里

必须研究量子物理学,这一定是价值的来源
 
-Aleks-:

我也是这样做的--但为什么要把它搞得这么糟糕呢?....。

而且,人们倾向于复制所有的价值观,这是什么?这种复制到底有什么好处?它所消耗的内存是否比4中少?

为什么是全部?完整的信息,每次100条(当然,你可以指定更少或更多条)。当你需要的不仅仅是 "高 "时,这很有用。

但它可以单独下载,正如维塔利-穆齐琴科 展示的那样。

维塔利-穆齐琴科

好的,你有当前符号的解决方案,我有一个多符号的能力。

问题:是正确的,还是我的代码中有一个错误?

只要指定一个字符而不是NULL,就可以很容易地把这个方案 "变成 "多符号方案。嗯,还有TF,如果有必要的话,就像你的例子一样。

关于代码的正确性,所以在帮助中也有例子CopyHigh ),只是那里的数组是全局级别的。

 
-Aleks-:

陷入混乱 .........

有这个。

一开始有点刺痛感。然而,从MT4改写是没有问题的。

我不知道其他人的情况,但4-Rka思考得更快。

而在4-Rka上完成的东西在市场上没有任何问题,而从MT4到MT5的改写有时不能通过,只是因为市场没有时间在其分配的时间内测试一个相同的产品。