初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 700

 
Vitalie Postolache:
リアルに急げ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
急ぎませんので、まず私にコピーをください。)
 
Treder9:
50ドルで本物を手に入れたい。

そんなクオカードで盛り上がれるんですね。

"でも誰も出来ない

と答えます!
 
Taras Slobodyanik:

パラメータを追加する必要があります。

request.type_time=ORDER_TIME_DAY;


ありがとうございます。ただ、追加する方法がわかればいいのですが...。

 

High[]を5で表現する方法がわからないのですが?

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

High[]を5で表現する方法がわからないのですが?

このように表現すると、正しく書けていないかもしれませんが、うまくいくのです。

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-:

High[]を5で表現する方法がわからないのですが?

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


その後、必要に応じて、次のように呼び出します: rates[x].high.
 
Vitaly Muzichenko:

このように表現すると、正しく書き表せないかもしれませんが、うまくいくのです。

でも、なぜ5回でこんなに失敗したのか......。

ヴィタリー・ポストラッシュ

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


そして、必要に応じて、次のように呼び出します: 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,rates);


を呼び出す必要があります: rates[x].high.

OK、あなたは現在の文字について解決策を持っていますが、私は複数の記号を検索しています。

質問:私は正しく理解しているのでしょうか、それともコードにバグがあるのでしょうか?

-Aleks- です。

に困惑しています。

MQL5では、チャート期間(H1から始まる)の定数の数値がバーの分数と一致 しないことに注意が必要です(例えば、MQL5ではPERIOD_H1=16385ですが、MQL4ではPERIOD_H1=60です)。このため、MQL4で計算用に数値を使用していた場合、MQL5への移行時に注意が必要です。

チャートの指定期間の分数を知るには、PeriodSeconds 関数の値を 60 で割ります。

16385という数字はどこから来ているのか、その 論理はどこにある のか。

量子物理学を勉強しなければならない、そこから価値が生まれるに違いない
 
-Aleks-:

私もそうでした。でも、なぜ5であんなに失敗したのか......。

そして、人々がすべての価値観をコピーしがちなのはなぜでしょうか。このコピーの利点は全くないのですか?4の時よりメモリ消費量は少ないですか?

なぜ、すべて?一度に100本のバーの情報を完成させる(もちろん、もっと少ない本数でも指定可能です)。Highだけでは足りない時に便利。

しかし、Vitaly Muzichenkoが 示したように、別にダウンロードすることもできる。

ヴィタリー・ムジチェンコ

なるほど、現在のシンボルに対する解決策があるのですね、私はマルチシンボル機能をもっています。

質問:正しいのか、それとも私のコードにバグがあるのか?

NULLの代わりに文字を指定するだけで、この解決策をマルチシンボルに「変える」ことは簡単です。まあ、必要ならTFも、あなたの例のように。

コードの正しさについては、ヘルプに例があるので(CopyHighを見て ください)、そこではグローバルレベルの配列だけです。

 
-Aleks-:

バラバラになる .........。

それはありますね。

最初はちょっとチクチクするんですよ。ただし、MT4からの書き換えは問題ありません。

他の人はどうかわかりませんが、4-Rockは考えるのが早いんです。

また、4Rkaでできたものは問題なくマーケットに入りますが、MT4からMT5に書き換えたものは、マーケットが割り当てられた時間内に同一の製品をテストする時間がないため、通らないことがあります。

理由: