インジケータでのOnDeinit - ページ 4 12345678 新しいコメント Slava 2015.06.15 10:59 #31 eevviill: OKです。Deinitはゼロ化もしない。まだ質問に答えていませんが、バッファをゼロにするというのはどういうことですか?クライアント端末は、インジケータ・バッファの内容をゼロにしない。零点調整はプログラマが行うものとする。バッファは、インジケータがアンロードさ れると自動的にクリアされます 削除済み 2015.06.16 08:21 #32 stringo:まだ質問に答えていませんが、バッファをゼロにするというのはどういうことですか?クライアント端末は、インジケータ・バッファの内容をゼロにしない。零点調整はプログラマが行うものとする。インジケーター読み込み時にバッファを自動削除 ArrayInitialize(body_up,EMPTY_VALUE); ArrayInitialize(body_down,EMPTY_VALUE); ArrayInitialize(shadow_up,EMPTY_VALUE); ArrayInitialize(shadow_down,EMPTY_VALUE); ArrayInitialize(yell_body_up,EMPTY_VALUE); ArrayInitialize(yell_body_down,EMPTY_VALUE); ArrayInitialize(yell_shadow_up,EMPTY_VALUE); ArrayInitialize(yell_shadow_down,EMPTY_VALUE); ininitでもdeinitでもうまくいきません。 Vitalie Postolache 2015.06.16 08:51 #33 eevviill: initでもdeinitでもうまくいきません。 なぜdeinitで必要なのですか?また、なぜ動的な 指標配列を 初期化する必要があるのでしょうか? Slava 2015.06.16 10:15 #34 eevviill: init、deinitのいずれでも動作しません。もう一度言います。総再計算の前にのみ、配列を初期化する必要があります。また、これは配列の 各要素を埋める のではなく、選択的に埋める場合のみです 削除済み 2015.06.17 03:16 #35 stringo:もう1度合計の再計算の前に、配列を初期化するだけです。しかも、それは配列を選択的に埋める場合のみで、次々に要素を埋めるわけではありませんeevviill: これはinitでもdeinitでもうまくいきません。なぜdeinitで必要なのですか?また、なぜ動的な 指標配列を 初期化する必要があるのでしょうか?問題を読みましたか? 削除済み 2015.06.17 04:07 #36 evillive: なぜdeinitに必要なのか?また、なぜインジケーターの動的配列を初期化するのでしょうか?なぜなら、どこかでそうしなければならないからです。イニテはダメだと言っている。0小節しかカウントされないから。ターミナルを閉じた 後、数本のローソク足の後にターミナルを開くと、0バーはターミナルが閉じられた時間のオフセットで+1バーが計算されます。 削除済み 2015.06.17 04:08 #37 stringo:もう1度総再計算の前に、配列を初期化するだけでよい。また、これは配列に選択的に入力する場合のみで、要素ごとに一列に入力するわけではありませんいいですね。要素0だけ埋める。もし、問題が理解できないのであれば、もう一度説明します。 Victor Nikolaev 2015.06.17 04:28 #38 eevviill:なぜなら、どこかでそうしなければならないからです。イニテはダメだと言っている。0小節しかカウントされないから。ターミナルを閉じて、ローソク足数本後に開くと、0本バーが計算される+ターミナルを閉じるまでにシフトしてもう1本計算されていることが判明。 実際には、ゼロバーは正しく計算されていますが、その後、履歴が読み込ま れました。そして、新たなゼロバーが算出されました。 削除済み 2015.06.17 09:31 #39 Vinin: 実はゼロバーは正しく計算されていたのですが、その後、履歴が読み込まれました。そして、新たなゼロバーが算出されました。これです。そのためにバッファーゼロ化をしています。イニテはもう無理だって言ってるじゃん。ダイニットしたい。しかし、そこでもうまくいかない。なぜ? Ilyas 2015.06.17 10:10 #40 もう一度(指をくわえて)説明してみます。前回の起動からX時間後に端末が起動した履歴のダウンロードを開始したが、見つからない(端末が X 分間アイドル状態だった)利用可能な履歴に対してOnCalculateを呼び出す prevtime=最後の既知の履歴時間、インジケータバッファサイズ Nバーサーバーから履歴をダウンロードしている間、チックが入るTime[0]はtick time、prevtimeとして記憶、バッファサイズはN+1本(NとN+1本の間にヒストリーのギャップがある)です。履歴がダウンロードされた後、OnCalculateが再び呼び出されますが、今度は履歴に穴はなく、prevtimeはTime[0]と同じ日付になっています。新しいバーはなく(それぞれ、インディケータのバッファがクリアされていない)、インディケータN+X/タイムフレームのバーのバッファサイズとIndBuffer[0]はステップ5と同じではありません。 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OKです。Deinitはゼロ化もしない。
まだ質問に答えていませんが、バッファをゼロにするというのはどういうことですか?
クライアント端末は、インジケータ・バッファの内容をゼロにしない。零点調整はプログラマが行うものとする。
バッファは、インジケータがアンロードさ れると自動的にクリアされます
まだ質問に答えていませんが、バッファをゼロにするというのはどういうことですか?
クライアント端末は、インジケータ・バッファの内容をゼロにしない。零点調整はプログラマが行うものとする。
インジケーター読み込み時にバッファを自動削除
initでもdeinitでもうまくいきません。
init、deinitのいずれでも動作しません。
もう一度言います。
総再計算の前にのみ、配列を初期化する必要があります。また、これは配列の 各要素を埋める のではなく、選択的に埋める場合のみです
もう1度
合計の再計算の前に、配列を初期化するだけです。しかも、それは配列を選択的に埋める場合のみで、次々に要素を埋めるわけではありません
これはinitでもdeinitでもうまくいきません。
なぜdeinitで必要なのですか?また、なぜ動的な 指標配列を 初期化する必要があるのでしょうか?
問題を読みましたか?
なぜdeinitに必要なのか?また、なぜインジケーターの動的配列を初期化するのでしょうか?
なぜなら、どこかでそうしなければならないからです。イニテはダメだと言っている。
0小節しかカウントされないから。ターミナルを閉じた 後、数本のローソク足の後にターミナルを開くと、0バーはターミナルが閉じられた時間のオフセットで+1バーが計算されます。
もう1度
総再計算の前に、配列を初期化するだけでよい。また、これは配列に選択的に入力する場合のみで、要素ごとに一列に入力するわけではありません
いいですね。要素0だけ埋める。
もし、問題が理解できないのであれば、もう一度説明します。
なぜなら、どこかでそうしなければならないからです。イニテはダメだと言っている。
0小節しかカウントされないから。ターミナルを閉じて、ローソク足数本後に開くと、0本バーが計算される+ターミナルを閉じるまでにシフトしてもう1本計算されていることが判明。
実はゼロバーは正しく計算されていたのですが、その後、履歴が読み込まれました。そして、新たなゼロバーが算出されました。
これです。そのためにバッファーゼロ化をしています。イニテはもう無理だって言ってるじゃん。
ダイニットしたい。しかし、そこでもうまくいかない。なぜ?