MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 39 1...323334353637383940414243444546...161 新しいコメント Renat Fatkhullin 2013.11.11 19:02 #381 Out of rangeは、明確にコードのエラー、つまり配列の外に出ていることを示します。そこには文字列とエラーの場所が表示されているので、エラーを探します。 TheCore 2013.11.11 20:01 #382 以下はそのコードです。 datetime prevtime0 = 0; double prevVolume0 =0; double prevClose0 =0; void init() { Print("_______Test init"); prevtime0 = iTime(NULL,PERIOD_M1,0); prevVolume0 = iVolume(NULL,PERIOD_M1,0); prevClose0 = iClose(NULL,PERIOD_M1,0); } void start() { Print(" prevtime0!!!!! = ",prevtime0," iTime(NULL,PERIOD_M1,0) =",iTime(NULL,PERIOD_M1,0) ); Print(" prevVolume0!!!!! = ",prevVolume0," iVolume(NULL,PERIOD_M1,0) =",iVolume(NULL,PERIOD_M1,0) ); Print(" prevClose0!!!!! = ",prevClose0," iClose(NULL,PERIOD_M1,0) =",iClose(NULL,PERIOD_M1,0) ); Print(""); prevtime0 = iTime(NULL,PERIOD_M1,0); prevVolume0 = iVolume(NULL,PERIOD_M1,0); prevClose0 = iClose(NULL,PERIOD_M1,0); } 以下は、ターミナルでの実行結果です。 バージョン 4.0 Build 536 2013.11.11 22:53:08 Test EURJPY,M1: prevClose0!!!!!!!= 133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 Test EURJPY,M1: prevVolume0!!!!!!!= 133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 Test EURJPY,M1: prevtime0!!!!!!!= 2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 2013.11.11 22:52:25 Test EURJPY,M1: 2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!!!!= 133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 Test EURJPY,M1: prevVolume0!!!!!!!= 133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 Test EURJPY,M1: prevtime0!!!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 iCloseもiVolumeもiTimeも変化しないことがおわかりいただけると思います。 そうだと思いますし、iで始まる他の関数もそうです。 また、この例のiVolume機能は明らかにVolumeでないことを示しています。 同時にテスターでは、iVolume以外はすべて動作し、変化します。そこもうまくいかない。 注 MetaTrader 4 Build 529 PREDICT time period Any questions from newcomers Алексей Тарабанов 2013.11.11 20:19 #383 thecore: 以下はそのコードです。 以下は、ターミナルでの実行結果です。 バージョン 4.0 Build 536 2013.11.11 22:53:08 Test EURJPY,M1: prevClose0!!!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 Test EURJPY,M1: prevVolume0!!!!!!!iVolume(NULL,PERIOD_M1,0) =133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 Test EURJPY,M1: prevtime0!!!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 2013.11.11 22:52:25 テスト EURJPY,M1: 2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 Test EURJPY,M1: prevVolume0!!!!!!!iVolume(NULL,PERIOD_M1,0) =133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 Test EURJPY,M1: prevtime0!!!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 iCloseもiVolumeもiTimeも変化しないことがおわかりいただけると思います。 iで始まる他の関数も変わらないと思います。 また、この例のiVolume機能では、明らかにVolumeでないことを示しています。 同時にテスターでは、iVolume以外はすべて動作し、変化します。そこもうまくいかない。 注 まあ、そうなんですけどね。どうしたんですか? TheCore 2013.11.11 20:28 #384 tara: まあ、そうなんですけどね。どうしたんですか? そうですね... iTime(NULL,PERIOD_M1,0) 関数は、左側の端子から間違った時刻を出力します。 Terminal は 2013.11.11 22:53:08 と表示し、iTime は 2013.11.11 22:38:00 と表示するはずです。 2013.11.11 22:53:00 iVolume(NULL,PERIOD_M1,0) は、1, 2, 3, 100 のような整数を返すべきであり、そうではありません。 この例のように 133.02 iCloseは最初のケースで133.02、2番目のケースで133.03を出力するはずです。 Алексей Тарабанов 2013.11.11 20:43 #385 これらの機能はすべて、分単位で少しずつ違う動きをします。印刷は刻みで行われます。MTの時間は秒単位でカウントされます。 そして、2番目の端末は、一般的には左側です :) TheCore 2013.11.11 20:57 #386 tara: これらの機能はすべて、分単位で少しずつ違う動きをします。印刷は刻みで行われます。MTの時間は秒単位でカウントされます。 そして、2番目の端末は、一般的には左側です :) あのね、夜になると話し相手がいないのはわかるよ。 そのため、SPECIALの結果をプリントアウトして見せました。 2つの結果を異なる分単位で表示します。 それに、このメッセージはあなたに向けたものではなく、開発者に向けたものです。 削除済み 2013.11.12 03:18 #387 thecore: iVolume(NULL,PERIOD_M1,0) は、1, 2, 3, 100 のような整数を返すべきですが、そうではありません。 この例のように 133.02iVolumeは本当に出来高の代わりに最終価格(終値)を返すようですね。 しかし、ヘルプの記述にはかなり面食らった(1枚目はファイルから、2枚目はウェブサイトから引用)。 1 datetime iVolume( string symbol, // символ int timeframe, // период int shift // сдвиг ); 2 double iVolume(string symbol, int timeframe, int shift) Vladimir Pastushak 2013.11.12 03:42 #388 thecore: そうですね... iTime(NULL,PERIOD_M1,0) 関数は、左側の端子から間違った時刻を出力します。 Terminal は 2013.11.11 22:53:08 と表示し、iTime は 2013.11.11 22:38:00 と表示するはずである。 2013.11.11 22:53:00 iVolume(NULL,PERIOD_M1,0) は、1, 2, 3, 100 のような整数を返すべきであり、そうではありません。 この例のように 133.02 iCloseは最初のケースで133.02を、2番目のケースで133.03を出力するはずです。 RefreshRates()を使用してみてください。OnTickでも同じ問題があり、テスターでは時刻と価格が更新されませんが、RefreshRates()を使用するとすべてうまくいきます ... Igor Semyonov 2013.11.12 04:17 #389 インジケーターの問題が2つ 増えました!サービスデスクをご覧 ください。 Slava 2013.11.12 07:04 #390 thecore: 見ての通り、iCloseもiVolumeもiTimeも変化していません。 iで始まる他の関数も同様だと推測されます。 また、この例のiVolume機能は明らかにVolumeでないことを示しています。 修正しました。ありがとうございました。 1...323334353637383940414243444546...161 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
以下はそのコードです。
以下は、ターミナルでの実行結果です。 バージョン 4.0 Build 536
2013.11.11 22:53:08 Test EURJPY,M1: prevClose0!!!!!!!= 133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevVolume0!!!!!!!= 133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevtime0!!!!!!!= 2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 Test EURJPY,M1:
2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!!!!= 133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevVolume0!!!!!!!= 133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevtime0!!!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
iCloseもiVolumeもiTimeも変化しないことがおわかりいただけると思います。
そうだと思いますし、iで始まる他の関数もそうです。
また、この例のiVolume機能は明らかにVolumeでないことを示しています。
同時にテスターでは、iVolume以外はすべて動作し、変化します。そこもうまくいかない。
注
以下はそのコードです。
以下は、ターミナルでの実行結果です。 バージョン 4.0 Build 536
2013.11.11 22:53:08 Test EURJPY,M1: prevClose0!!!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevVolume0!!!!!!!iVolume(NULL,PERIOD_M1,0) =133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevtime0!!!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 テスト EURJPY,M1:
2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevVolume0!!!!!!!iVolume(NULL,PERIOD_M1,0) =133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevtime0!!!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
iCloseもiVolumeもiTimeも変化しないことがおわかりいただけると思います。
iで始まる他の関数も変わらないと思います。
また、この例のiVolume機能では、明らかにVolumeでないことを示しています。
同時にテスターでは、iVolume以外はすべて動作し、変化します。そこもうまくいかない。
注
まあ、そうなんですけどね。どうしたんですか?
そうですね...
iTime(NULL,PERIOD_M1,0) 関数は、左側の端子から間違った時刻を出力します。
Terminal は 2013.11.11 22:53:08 と表示し、iTime は 2013.11.11 22:38:00 と表示するはずです。
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) は、1, 2, 3, 100 のような整数を返すべきであり、そうではありません。
この例のように 133.02
iCloseは最初のケースで133.02、2番目のケースで133.03を出力するはずです。
これらの機能はすべて、分単位で少しずつ違う動きをします。印刷は刻みで行われます。MTの時間は秒単位でカウントされます。
そして、2番目の端末は、一般的には左側です :)
これらの機能はすべて、分単位で少しずつ違う動きをします。印刷は刻みで行われます。MTの時間は秒単位でカウントされます。
そして、2番目の端末は、一般的には左側です :)
あのね、夜になると話し相手がいないのはわかるよ。
そのため、SPECIALの結果をプリントアウトして見せました。
2つの結果を異なる分単位で表示します。
それに、このメッセージはあなたに向けたものではなく、開発者に向けたものです。
iVolume(NULL,PERIOD_M1,0) は、1, 2, 3, 100 のような整数を返すべきですが、そうではありません。
この例のように 133.02
iVolumeは本当に出来高の代わりに最終価格(終値)を返すようですね。
しかし、ヘルプの記述にはかなり面食らった(1枚目はファイルから、2枚目はウェブサイトから引用)。
1
2
そうですね...
iTime(NULL,PERIOD_M1,0) 関数は、左側の端子から間違った時刻を出力します。
Terminal は 2013.11.11 22:53:08 と表示し、iTime は 2013.11.11 22:38:00 と表示するはずである。
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) は、1, 2, 3, 100 のような整数を返すべきであり、そうではありません。
この例のように 133.02
iCloseは最初のケースで133.02を、2番目のケースで133.03を出力するはずです。
RefreshRates()を使用してみてください。OnTickでも同じ問題があり、テスターでは時刻と価格が更新されませんが、RefreshRates()を使用するとすべてうまくいきます ...
見ての通り、iCloseもiVolumeもiTimeも変化していません。
iで始まる他の関数も同様だと推測されます。
また、この例のiVolume機能は明らかにVolumeでないことを示しています。