エラー、バグ、質問 - ページ 245 1...238239240241242243244245246247248249250251252...3185 新しいコメント Alexey Da 2010.12.24 15:05 #2441 ひょっとして歴史はバウンドするのか?いつも1つのシンボルだけなのか、GBPUSDでもそうなのか?ビルドとは?どのサーバー? vda 2010.12.24 15:33 #2442 ヒストリーバウンドは過去のものです。simbol1でもsimbol2でも全ての通貨ペアでダメです。ビルド370、デモ口座(アルパリデモ)私は一人のトレーダーしか持っていない(上のスクリーンショットより)オーバーシュートがあることに注目したいです。上のスクリーンショットで、1つのインジケータを残すと、再描画があまり目立たなくなることに注目したいです。何度か再描画する可能性があります。パソコンが遅いのかと思ったが、2コアのパソコンでも同じで、チャートがスクロールしないおそらく、アイドルタイムか何かを待っているのでは?夕方、6つの核でテストします!また、他の同じような七面鳥では何も起きていないことを指摘しておきたいと思います。複雑な計算のせいではないはずです。ターンテーブルもシンプルにと、Open価格で動作します。 Yedelkin 2010.12.24 15:47 #2443 alexluek: 助けてインジケータは正常に動作し、すべて表示、計算されますが 新しいティックが来るとリセットされ、ラインが再計算されます。 通信断の時に定期的に出るんです。再接続後、端末が指示値を再計算しますが、再計算には時間がかかります。参考資料より OnCalculate()が返す値と2番目の入力パラメータprev_calculatedの関係に注目する必要がある。こ の関数が呼び出されたときのパラメータ prev_calculated には 、前回の 呼び出し 時に OnCalculate() が 返した 値が格納 される。 これにより、この関数の前回の呼び出し以降に変更されていないバーについて、計算を繰り返すことを避けるために、カスタム・インジケータを 計算するための経済的なアルゴリズムが可能になります。 そのためには、通常、現在の関数呼び出しのバーの数を含む rates_total パラメータの値を返せば十分である。OnCalculate()の最後の呼び出し以降に価格データが変更された場合(より深い履歴が読み込まれたか、履歴の空白が埋められたか)、入力パラメータprev_calculatedの値はターミナルによってゼロに設定 されます。 あなたの状況がどうなのかはわかりませんが、私自身は、このような行動を「歴史の穴埋め」と説明しています。あるいは、ティックの到着ごとに全範囲の値を再計算する、非効率的な動作をするインジケータかもしれません。 vda 2010.12.24 16:15 #2444 接続性の低下やティックの引きすぎもなく、大きなTFほどレアだった。そして、開始日から終了日までの計算方法(3つあることがわかった)なしおそらくそうなる(すべてのバーを再計算する)のでしょうが、まだ正確ではないので、確認方法がわかりません。とはいえ、あくまで思いつきなので、確認してみましょう...。もしかしたら、別のアプローチで解消できるかもしれない...。 Yedelkin 2010.12.24 16:21 #2445 alexluek: 接続性の低下やティックの引きすぎもなく、大きなTFほどレアだった。 そして、開始日から終了日までの計算方法(3つあることがわかった)なし おそらくそうなる(すべてのバーを再計算する)のでしょうが、まだ正確ではないので、確認方法がわかりません。 とはいえ、あくまで思いつきなので、確認してみましょう...。 もしかしたら、別のアプローチで解消できるかもしれない...。 もちろん、アプローチもあります。If(prev_calculated==0),全ての バーについて初期計算を行う。その後、新しいティックごとに(0 < prev_calculated < rates_total の場合)、最後に現れたバーに対してのみ for(int i=prev_calculated-1;i<rates_total;i++) といった計算をします。 vda 2010.12.24 16:25 #2446 Yedelkin: もちろん、アプローチもあります。If(prev_calculated==0),全ての バーについて初期計算を行う。その後、新しいティックごとに(0 < prev_calculated < rates_total の場合)、最後に現れたバーに対してのみ for(int i=prev_calculated-1;i<rates_total;i++) というタイプの計算を実行します。 いいアイデアですね~、やってみましょう、答えてみましょうありがとうございました。 Denis Kirichenko 2010.12.24 16:48 #2447 現在のチャートのタイムフレーム値を文字 列として取得したい。こんな風に書いています。ENUM_TIMEFRAMES period1=Period(); string periodStr; periodStr=PeriodStr(period1);コンパイラが'PeriodStr'-関数が定義されていないと言うのですが・・・。何が言いたいの?同僚、助けてください :-)ヘルプにそのような機能があります。期間 ENUM_TIMEFRAMES列挙 型の値を文字列に変換する。 stringPeriodStr( int val// value) Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления www.mql5.com Основы языка / Типы данных / Целые типы / Перечисления - Документация по MQL5 Mykola Demko 2010.12.24 16:53 #2448 開発者の皆様、オーバーロードされた関数の曖昧な呼び出しとは何か教えてください(コンパイラが悪態をついているのはこのことです)。set' - オーバーロードされた関数へのあいまいな呼び出し。class CA { public: void set(int i,int j,long n){Print("перегрузка long");}; void set(int i,int j,int n){Print("перегрузка int");}; }; void OnStart() { //--- CA a; int Int=3; long Long=4; a.set(1,2,Int); a.set(1,2,Long); }HH 第1、第2パラメーターの定数を変数型intに 置き換えれば、悪態が止まるという方法がわかりました。しかし、私はコンパイラのロジックを理解していません。最初の2つのパラメータは、すべてのオーバーロードで同じであり、デフォルトのパラメータはありません。では、なぜコンパイラは誓うのか、呼び出しの曖昧さは何なのか。 Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long www.mql5.com Основы языка / Типы данных / Целые типы / Типы char, short, int и long - Документация по MQL5 Yedelkin 2010.12.24 16:53 #2449 denkir: 現在のチャートのタイムフレーム値を文字 列として取得したい。こんな風に書いています。 コンパイラが'PeriodStr'-関数が定義されていないと言うのですが・・・。 どうしたんだ?同僚、助けてください :-) ほら、ヘルプファイルにはこんな機能がある。 期間 ENUM_TIMEFRAMESの列挙 値を文字列に変換する。 stringPeriodStr( int val// value) 不思議なことに、このような機能(PeriodStr)はハンドブックに載って いませんでした。 Aleksandr Chugunov 2010.12.24 16:56 #2450 denkir:現在のチャートのタイムフレーム値を文字 列として取得したい。こんな風に書いています。コンパイラが'PeriodStr'-関数が定義されていないと言うのですが・・・。何が問題なのか?同僚、助けてください :-)ヘルプにそのような機能があります。期間 ENUM_TIMEFRAMES列挙 型の値を文字列に変換する。 stringPeriodStr( int val// value)これはクラスメソッドですhttps://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator#include<IndicatorsIndicator.mqh> 1...238239240241242243244245246247248249250251252...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ひょっとして歴史はバウンドするのか?
いつも1つのシンボルだけなのか、GBPUSDでもそうなのか?
ビルドとは?どのサーバー?
ヒストリーバウンドは過去のものです。
simbol1でもsimbol2でも全ての通貨ペアでダメです。
ビルド370、デモ口座(アルパリデモ)
私は一人のトレーダーしか持っていない(上のスクリーンショットより)オーバーシュートがあることに注目したいです。
上のスクリーンショットで、1つのインジケータを残すと、再描画があまり目立たなくなることに注目したいです。
何度か再描画する可能性があります。
パソコンが遅いのかと思ったが、2コアのパソコンでも同じで、チャートがスクロールしない
おそらく、アイドルタイムか何かを待っているのでは?
夕方、6つの核でテストします!
また、他の同じような七面鳥では何も起きていないことを指摘しておきたいと思います。
複雑な計算のせいではないはずです。ターンテーブルもシンプルに
と、Open価格で動作します。
助けてインジケータは正常に動作し、すべて表示、計算されますが
新しいティックが来るとリセットされ、ラインが再計算されます。
通信断の時に定期的に出るんです。再接続後、端末が指示値を再計算しますが、再計算には時間がかかります。参考資料より
OnCalculate()が返す値と2番目の入力パラメータprev_calculatedの関係に注目する必要がある。こ の関数が呼び出されたときのパラメータ prev_calculated には 、前回の 呼び出し 時に OnCalculate() が 返した 値が格納 される。 これにより、この関数の前回の呼び出し以降に変更されていないバーについて、計算を繰り返すことを避けるために、カスタム・インジケータを 計算するための経済的なアルゴリズムが可能になります。
そのためには、通常、現在の関数呼び出しのバーの数を含む rates_total パラメータの値を返せば十分である。OnCalculate()の最後の呼び出し以降に価格データが変更された場合(より深い履歴が読み込まれたか、履歴の空白が埋められたか)、入力パラメータprev_calculatedの値はターミナルによってゼロに設定 されます。
あなたの状況がどうなのかはわかりませんが、私自身は、このような行動を「歴史の穴埋め」と説明しています。あるいは、ティックの到着ごとに全範囲の値を再計算する、非効率的な動作をするインジケータかもしれません。
接続性の低下やティックの引きすぎもなく、大きなTFほどレアだった。
そして、開始日から終了日までの計算方法(3つあることがわかった)なし
おそらくそうなる(すべてのバーを再計算する)のでしょうが、まだ正確ではないので、確認方法がわかりません。
とはいえ、あくまで思いつきなので、確認してみましょう...。
もしかしたら、別のアプローチで解消できるかもしれない...。
接続性の低下やティックの引きすぎもなく、大きなTFほどレアだった。
そして、開始日から終了日までの計算方法(3つあることがわかった)なし
おそらくそうなる(すべてのバーを再計算する)のでしょうが、まだ正確ではないので、確認方法がわかりません。
とはいえ、あくまで思いつきなので、確認してみましょう...。
もしかしたら、別のアプローチで解消できるかもしれない...。
もちろん、アプローチもあります。If(prev_calculated==0),全ての バーについて初期計算を行う。その後、新しいティックごとに(0 < prev_calculated < rates_total の場合)、最後に現れたバーに対してのみ for(int i=prev_calculated-1;i<rates_total;i++) というタイプの計算を実行します。
現在のチャートのタイムフレーム値を文字 列として取得したい。こんな風に書いています。
コンパイラが'PeriodStr'-関数が定義されていないと言うのですが・・・。
何が言いたいの?同僚、助けてください :-)
ヘルプにそのような機能があります。
期間
ENUM_TIMEFRAMES列挙 型の値を文字列に変換する。
stringPeriodStr(
int val// value
)
開発者の皆様、オーバーロードされた関数の曖昧な呼び出しとは何か教えてください(コンパイラが悪態をついているのはこのことです)。
set' - オーバーロードされた関数へのあいまいな呼び出し。
HH 第1、第2パラメーターの定数を変数型intに 置き換えれば、悪態が止まるという方法がわかりました。
しかし、私はコンパイラのロジックを理解していません。最初の2つのパラメータは、すべてのオーバーロードで同じであり、デフォルトのパラメータはありません。
では、なぜコンパイラは誓うのか、呼び出しの曖昧さは何なのか。
現在のチャートのタイムフレーム値を文字 列として取得したい。こんな風に書いています。
コンパイラが'PeriodStr'-関数が定義されていないと言うのですが・・・。
どうしたんだ?同僚、助けてください :-)
ほら、ヘルプファイルにはこんな機能がある。
期間
ENUM_TIMEFRAMESの列挙 値を文字列に変換する。
stringPeriodStr(
int val// value
)
現在のチャートのタイムフレーム値を文字 列として取得したい。こんな風に書いています。
コンパイラが'PeriodStr'-関数が定義されていないと言うのですが・・・。
何が問題なのか?同僚、助けてください :-)
ヘルプにそのような機能があります。
期間
ENUM_TIMEFRAMES列挙 型の値を文字列に変換する。
stringPeriodStr(
int val// value
)
これはクラスメソッドです
https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator
#include<IndicatorsIndicator.mqh>