MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1040 1...103310341035103610371038103910401041104210431044104510461047...1953 新しいコメント 削除済み 2020.01.14 13:40 #10391 Artyom Trishkin: インジケーターデジット(5) ありがとうございました。 削除済み 2020.01.14 14:10 #10392 もうひとつ質問させてください。同指標に基づく。ここでは、インジケータをチャートに 貼り付けると仮定します。Bid1の最初の値を取得する。そして、2つ目の値であるBid2を求める。そして、この2つの値を比較する必要があります。2つ目から1つ目を引いて、1つ目のBid1に足した数を求めます。 Bid1=1.11133 Bid2=1.11135 ビッド2-ビッド1=0.00002 Bid1+0.00002=1.11135 結果は元のインジケータと同じになると理解しています。 実装を見て、コードのロジックを理解したいだけなんです。 Yevhenii Levchenko 2020.01.14 14:23 #10393 Alexey Viktorov: ファイルのプロパティでロックを解除する必要があります。 ありがとうございました。:) jaffer wilson 2020.01.15 12:32 #10394 jaffer wilson : 2つのステートメント。 プリント:22.33 И プリント:2.00000 なぜ出力が違うのですか?C / C ++では、上記のステートメントは問題なく動作します。 この問題について、どなたかお心当たりのある方はいらっしゃいますか? Yevhenii Levchenko 2020.01.15 19:22 #10395 mt5 の価格配列について教えてください。インジケーターではわからない。OnCalculateにある、価格を出力しています。 for(int i=10; i>=0; i--) PrintFormat("s- open[%d] = %d",i,open[i]); 変な値段になるんですよ。 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[10] = 1597040639 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[9] = -523642413 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[8] = 1691873517 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[7] = 590987500 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[6] = 1583296744 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[5] = 115448721 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[4] = 360090058 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[3] = -1597040639 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[2] = -856244680 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[1] = 366962006 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[0] = -1209462791 私は逆に、配列を作ってコピーしています(やってみて探しますが、よくわかりません)。 double Open[];//глобальная CopyOpen(NULL,0,0,Bars_To_Process*2,Open); //OnCalculate for(int i=10; i>=0; i--) PrintFormat("Open[%d] = %d",i,Open[i]);//OnCalculate そして、同じような結果を得ることができます。 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[10] = 1356522471 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[9] = -1708366192 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[8] = -729800843 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[7] = 1499458982 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[6] = 167675523 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[5] = -90709709 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[4] = -321607151 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[3] = -314735203 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[2] = -314735203 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[1] = 1663011337 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[0] = -1408749273 デートだとさらに面白いですね。OnCalculateにある日付を印刷するのですが。 for(int i=10; i>=0; i--) PrintFormat("s- time[%d] = %s",i,TimeToString(time[i])); これはわかった。 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[10] = 2015.12.02 10:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[9] = 2015.12.02 09:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[8] = 2015.12.02 08:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[7] = 2015.12.02 07:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[6] = 2015.12.02 06:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[5] = 2015.12.02 05:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[4] = 2015.12.02 04:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[3] = 2015.12.02 03:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[2] = 2015.12.02 02:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[1] = 2015.12.02 01:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[0] = 2015.12.02 00:00 そして、それをコピーするとき。 datetime Time[]; CopyTime(NULL,0,0,Bars_To_Process*2,Time); for(int i=10; i>=0; i--) PrintFormat("Time[%d] = %s",i,TimeToString(Time[i])); 問題なくプリントアウトできます。 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[10] = 2020.01.15 10:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[9] = 2020.01.15 11:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[8] = 2020.01.15 12:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[7] = 2020.01.15 13:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[6] = 2020.01.15 14:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[5] = 2020.01.15 15:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[4] = 2020.01.15 16:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[3] = 2020.01.15 17:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[2] = 2020.01.15 18:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[1] = 2020.01.15 19:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[0] = 2020.01.15 20:00 しかし、デートだけでは遠くへは行けません。理解するのを助けてください。正しい始値、終値を得るにはどうしたらよいですか? Igor Makanu 2020.01.15 20:39 #10396 Yevhenii Levchenko: mt5 の価格配列について教えてください。インジケーターではわからない。OnCalculateにある価格を出力しています。 for(int i=10; i>=0; i--) PrintFormat("s- open[%d] = %d",i,open[i]); こんな感じで作ってください。 for(int i=10; i>=0; i--) { Print("s- open[",i,"] = ",open[i]); } フォーマットされた出力で 間違った型指定をしている Yevhenii Levchenko 2020.01.15 21:04 #10397 Igor Makanu: してください。 フォーマットされた出力に 間違った型指定が使用されている イゴールさん、どうもありがとうございました。 fと入れればよかった...。勘違いしてました・・・私もArraySetAsSeriesを随所に入れる必要があります。ちょっと変な感じ...。 Yevhenii Levchenko 2020.01.15 21:32 #10398 Igor Makanu: お願いします もしインジケーターのコードを一から書くのであれば、ArraySetAsSeries()を使うことはお勧めしません(MQL4から移植する場合は別の問題です)。 rate_totalを一番右のバーの数-1として使用すると、MQL5のインジケータのロジックに早く慣れることができます。 ありがとうございました。 ゼロから書くのではなく・・・。mt4のインジケータをmt5に転送しています。 削除済み 2020.01.15 21:46 #10399 Oleg Bondarev: もうひとつ質問させてください。同指標に基づく。ここでは、インジケータをチャートに 貼り付けると仮定します。Bid1の最初の値を取得する。そして、2つ目の値であるBid2を求める。そして、この2つの値を比較する必要があります。2つ目から1つ目を引いて、1つ目のBid1に足した数を求めます。 Bid1=1.11133 Bid2=1.11135 ビッド2-ビッド1=0.00002 Bid1+0.00002=1.11135 結果は元のインジケータと同じになると理解しています。 実装を見て、コードのロジックを理解したいだけなんです。 助けてください。自分一人ではどうにもならない。Bid値を比較するためのバッファx[ ]とプロットするためのバッファy[ ]を2つ作る。そして何もない。 Igor Makanu 2020.01.16 06:55 #10400 Oleg Bondarev: あなたの力が必要です。自分一人では何も動かせない。Bid値を比較するためのバッファx[ ]とプロットするためのバッファy[ ]を2つ作る。そして何もない。 質問が明確でない可能性があります。 1...103310341035103610371038103910401041104210431044104510461047...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
インジケーターデジット(5)
もうひとつ質問させてください。同指標に基づく。ここでは、インジケータをチャートに 貼り付けると仮定します。Bid1の最初の値を取得する。そして、2つ目の値であるBid2を求める。そして、この2つの値を比較する必要があります。2つ目から1つ目を引いて、1つ目のBid1に足した数を求めます。
Bid1=1.11133
Bid2=1.11135
ビッド2-ビッド1=0.00002
Bid1+0.00002=1.11135
結果は元のインジケータと同じになると理解しています。
実装を見て、コードのロジックを理解したいだけなんです。
ファイルのプロパティでロックを解除する必要があります。
2つのステートメント。
プリント:22.33
И
プリント:2.00000
なぜ出力が違うのですか?C / C ++では、上記のステートメントは問題なく動作します。
この問題について、どなたかお心当たりのある方はいらっしゃいますか?
mt5 の価格配列について教えてください。インジケーターではわからない。OnCalculateにある、価格を出力しています。
変な値段になるんですよ。
私は逆に、配列を作ってコピーしています(やってみて探しますが、よくわかりません)。
そして、同じような結果を得ることができます。
デートだとさらに面白いですね。OnCalculateにある日付を印刷するのですが。
これはわかった。
そして、それをコピーするとき。
問題なくプリントアウトできます。
しかし、デートだけでは遠くへは行けません。理解するのを助けてください。正しい始値、終値を得るにはどうしたらよいですか?
mt5 の価格配列について教えてください。インジケーターではわからない。OnCalculateにある価格を出力しています。
こんな感じで作ってください。
フォーマットされた出力で 間違った型指定をしている
してください。
フォーマットされた出力に 間違った型指定が使用されている
イゴールさん、どうもありがとうございました。
fと入れればよかった...。勘違いしてました・・・私もArraySetAsSeriesを随所に入れる必要があります。ちょっと変な感じ...。
お願いします
もしインジケーターのコードを一から書くのであれば、ArraySetAsSeries()を使うことはお勧めしません(MQL4から移植する場合は別の問題です)。
rate_totalを一番右のバーの数-1として使用すると、MQL5のインジケータのロジックに早く慣れることができます。
ゼロから書くのではなく・・・。mt4のインジケータをmt5に転送しています。
もうひとつ質問させてください。同指標に基づく。ここでは、インジケータをチャートに 貼り付けると仮定します。Bid1の最初の値を取得する。そして、2つ目の値であるBid2を求める。そして、この2つの値を比較する必要があります。2つ目から1つ目を引いて、1つ目のBid1に足した数を求めます。
Bid1=1.11133
Bid2=1.11135
ビッド2-ビッド1=0.00002
Bid1+0.00002=1.11135
結果は元のインジケータと同じになると理解しています。
実装を見て、コードのロジックを理解したいだけなんです。
助けてください。自分一人ではどうにもならない。Bid値を比較するためのバッファx[ ]とプロットするためのバッファy[ ]を2つ作る。そして何もない。
あなたの力が必要です。自分一人では何も動かせない。Bid値を比較するためのバッファx[ ]とプロットするためのバッファy[ ]を2つ作る。そして何もない。
質問が明確でない可能性があります。