MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1685

 
MakarFX #:
これのどこが悪いんだ?

yes to everyone、それは質問と回答の形式に合わないし、それは愚かな書式設定です、次の行に持っていかずにテキストにコードの行を挿入することはできません、あなたはコードの一部を適切に引用することはできません:全体のメッセージは、ポケットから貼り付けられています。

 
Nerd Trader #:

1から、OrdersTotalは注文がない場合、0を返す。しかし、なぜか

for ( int i = OrdersTotal() ; i > 0 ; i -- )

は無限ループを与えるので、>= ではない。

mqlに関するコミュニケーションに、もっと便利なプラットフォームはないのでしょうか?

プラットフォームとMQL言語の開発者のウェブサイトです。

他にどこが一番正確な答えが得られるのでしょうか?

そして、ご質問の内容は、配列の扱い方を誤解している辺りからです。

 
Aleksei Stepanenko #:

ループが正しく設定されていない。

はこうでなければならない。

なぜ?みんなイコールで書くけど、それでいいのか?位置が0の場合、なぜループを1回繰り返す必要があるのでしょうか?
 
Nerd Trader #:

1から、OrdersTotalは注文がない場合、0を返す。しかし、なぜか

for ( int i = OrdersTotal() ; i > 0 ; i -- )

は無限ループを与えるので>= ではない。

S.W. mqlのコミュニケーションに、もっと便利なプラットフォームはないのでしょうか?
なぜ無限ループになるのでしょうか?
 
いや、いいんです。ポジションがない場合、i=OrdersTotal()-1 は -1 となる。また、ループ条件i>=0はすぐには実行されない。また、プログラムがループに入ることはありません。
 
は以上である。なぜなら,配列の 最初の要素も 数える必要があり,その配列中のインデックスが 0 であるからである。
 
Aleksei Stepanenko #:
は以上である。これは,配列の 最初の要素も 考慮する必要があり,その配列中のインデックスが 0 であるためである。
そうなんですか、ありがとうございます。でも、それはもちろん松葉づえです。もちろんmql全体と同じように。
 

こんにちは。

変数の宣言は以下の通りです。

input  string startHour ="00:20";
input  string endHour ="23:40";
datetime startTime, endTime;

mql4のコードでは、以下のような行になっています。

startTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ",startHour));
endTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ", endHour));

mql5コンパイラは、'(TimeToString' - variable expected),warning(implicit conversion from 'number' to 'string')' というエラーを出す。

修正方法を教えていただけませんか?

 
grimc124 #:

...

どうすれば直るのか、教えてください。

コードを重複させない(原則DRY=Don't Repeat Yourself)関数を使用する。例えば、こんな感じです。

datetime SetTime(datetime dtime, string stime) {
    return StringToTime(TimeToString(dtime, TIME_DATE) + " " + stime);
}

無効な文字列は、ゼロ時刻に変換されます。

 
Artyom Trishkin #:

プラットフォームとMQL言語の開発者のウェブサイトです。

他にどこが一番正確な答えが得られるのでしょうか?

あなたの質問は、配列の扱い方を理解していないことを表しています。

OrdersTotalは、注文が1件の時は1を返し、0件は返しません。

"プラットフォーム "と "MQL言語 "の開発者のサイトです。他にどこが一番正確な答えが得られるのでしょうか?"

- 開発者向けのリソースだからといって、質問回答形式に特化したリソースがあるわけではありません。