エラー、バグ、質問 - ページ 270 1...263264265266267268269270271272273274275276277...3185 新しいコメント Boris 2011.01.19 10:05 #2691 Rosh: そのようなインジケータを走らせれば、自分の目で確認することができます。だからint OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[])open[]も時系列ではないのですか?何も分からないので、時系列の例を教えてください。 Voodoo_King 2011.01.19 10:05 #2692 Voodoo_King:375.バグが本当にひどくて、その結果、すでにかなりの金額を失ってしまった...。端末を閉じたり開いたりしても、EAパラメータが設定値に戻らない。正確には、そのうちの一部(例えば6個中3個)は復元可能で、残りは初期設定にリセットされます。 381を構築する。何も変わっていない !!!端末を再起動するたびに、EAが異なるパラメータ(好きなもの)で初期化されます。 Rashid Umarov 2011.01.19 10:07 #2693 AlexSTAL:この機能は、変化ではなく、方向をチェック します。1) 初期化なし2)初期化あり3) 上記コードのうち、ArrayGetAsSeriesの 配列インデックスの 方向に関する機能のみ サービスデスクで、関数名を単純に間違えた。 はい、コンパイラのエラーがわかりました。メッセージをありがとうございました。次のビルドで修正される予定です。 AndrNuda 2011.01.19 10:11 #2694 BoraBo:だからopen[]も時系列ではないのですか?よくわからないのですが、時系列の例を教えてください。 だから、TCじゃないから何?Setで時系列に設定すれば、TCになります。ターミナルを初めて起動したときでしょうか?あなたにとって、それはとても大きなニュースだということです。今、誰かが、TSを使うか、配列だけを使うか、自分たちのプログラムの中でどう動くかは自分たちで決めるべきだと書いていたように思います。 Boris 2011.01.19 10:13 #2695 joo:だからOnCalculate()でやっているんです。ArrayGetAsSeries(low)がtrueを返すようにするのを手伝ってくれませんか? AndrNuda 2011.01.19 10:15 #2696 BoraBo: ArrayGetAsSeries(low)の出力をtrueに するのを手伝ってもらえますか? もううんざりです :)) 好きなように設定し、こんにちは。確認することは何もありません。:)) Rashid Umarov 2011.01.19 10:41 #2697 BoraBo:だからopen[]も時系列ではないのですか?何もわからないのですが、時系列の例を教えてください。open[]およびOnCalculateの他のすべての配列は、時系列です。MQL5言語が書かれた当初は、ArrayGetAsSeries()はtrueを返し、インデックス作成は時系列と同じように、つまり逆向きに行われました。 しかし、その後、インジケータ・バッファの計算をMQL4スタイルで書くのは非常に不便で不自然であることがわかり、唯一の解決策として、時系列のインデックスを逆にして便利に使えるようにしたのです。この精神でカスタムインジケーターを 書くようになったのです。int OnCalculate (const int rates_total, // размер входных таймсерий const int prev_calculated, // обработано баров на предыдущем вызове const datetime& time[], // Time const double& open[], // Open const double& high[], // High const double& low[], // Low const double& close[], // Close const long& tick_volume[], // Tick Volume const long& volume[], // Real Volume const int& spread[] // Spread) { //---- переворачиваем все таймсерии, чтобы ими было удобно пользоваться, как обычными массивами ArraySetAsSeries(open,false); ArraySetAsSeries(high,false); ArraySetAsSeries(low,false); ArraySetAsSeries(close,false); ArraySetAsSeries(time,false); ArraySetAsSeries(tick_volume,false); ArraySetAsSeries(volume,false); ArraySetAsSeries(spread,false); ArraySetAsSeries(open,false); .... остальной код }しかし、そんなごちゃごちゃとした変換を書くたびに、それもよくないことが判明したのです。そのため、通常の配列と同様にインデックスを付けて渡すことにした。そのため、時系列が時系列らしくインデックス化されないと、このようなパラドックスに陥ってしまうのです。そのため、ヘルプには「インデックスの順番を確認し、必要に応じて設定すること」と書かれています。 Rashid Umarov 2011.01.19 10:46 #2698 BoraBo: ArrayGetAsSeries(low)の出力をtrueに するのを手伝ってください。これはすでに真を返していますが、コンパイラエラーのため、その値がパラメータとして誤って出力されています。このように確認します。#property script_show_inputs input bool isTimeSeria=true; double Ups[]; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- установим для массивов признак таймсерии Print("Установим для массивов признак таймсерии как ",isTimeSeria); ArraySetAsSeries(Ups,isTimeSeria); //--- Проверим таймсерии if(ArrayGetAsSeries(Ups)) { Print("1: ArrayGetAsSeries(Ups)=true"); Print("2: ArrayGetAsSeries(Ups)=",ArrayGetAsSeries(Ups)); } else { Print("ArrayGetAsSeries(Ups)=true!!!"); } } //+------------------------------------------------------------------+結果 Boris 2011.01.19 11:16 #2699 Rosh:コンパイラのエラーにより、パラメータとしての値が正しく出力されないだけで、trueは出力されます。このように確認します。結果ありがとう、わかったよ。条件付き if() 演算子の ArrayIsSeries() とArrayGetAsSeries() は説明の通り動作しますが、Print() は常に false を出力します。 削除済み 2011.01.19 11:23 #2700 デベロッパー1.テスターへの履歴の読み込みを確認してください(今回が初テストです)。EURUSDを H1の標準的なMACDサンプルで間隔「先月」を使ってテストしています。ダウンロードしたデータの57%に到達し、正常にフリーズし、ログにはこの行だけが残っています。2011.01.19 17:16:23 Tester EURUSD: history preliminary downloading started 2.テスターの新ビルドで1:200と1:500のテコ入れを常時行うことは可能でしょうか?特にMT5では、すべての証券会社がそのようなレバレッジを持っているわけではないことは理解していますが、Strategy Testerでは、新しいプラットフォームでストラテジーをテストする方が便利なので、これはおそらく残すべきでしょう。 1...263264265266267268269270271272273274275276277...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そのようなインジケータを走らせれば、自分の目で確認することができます。
だから
open[]も時系列ではないのですか?
何も分からないので、時系列の例を教えてください。
375.バグが本当にひどくて、その結果、すでにかなりの金額を失ってしまった...。
端末を閉じたり開いたりしても、EAパラメータが設定値に戻らない。
正確には、そのうちの一部(例えば6個中3個)は復元可能で、残りは初期設定にリセットされます。
端末を再起動するたびに、EAが異なるパラメータ(好きなもの)で初期化されます。
この機能は、変化ではなく、方向をチェック します。
1) 初期化なし
2)初期化あり
3) 上記コードのうち、ArrayGetAsSeriesの 配列インデックスの 方向に関する機能のみ
サービスデスクで、関数名を単純に間違えた。だから
open[]も時系列ではないのですか?
よくわからないのですが、時系列の例を教えてください。
だからOnCalculate()でやっているんです。
ArrayGetAsSeries(low)がtrueを返すようにするのを手伝ってくれませんか?
ArrayGetAsSeries(low)の出力をtrueに するのを手伝ってもらえますか?
だから
open[]も時系列ではないのですか?
何もわからないのですが、時系列の例を教えてください。
open[]およびOnCalculateの他のすべての配列は、時系列です。MQL5言語が書かれた当初は、ArrayGetAsSeries()はtrueを返し、インデックス作成は時系列と同じように、つまり逆向きに行われました。
しかし、その後、インジケータ・バッファの計算をMQL4スタイルで書くのは非常に不便で不自然であることがわかり、唯一の解決策として、時系列のインデックスを逆にして便利に使えるようにしたのです。この精神でカスタムインジケーターを 書くようになったのです。
しかし、そんなごちゃごちゃとした変換を書くたびに、それもよくないことが判明したのです。そのため、通常の配列と同様にインデックスを付けて渡すことにした。そのため、時系列が時系列らしくインデックス化されないと、このようなパラドックスに陥ってしまうのです。そのため、ヘルプには「インデックスの順番を確認し、必要に応じて設定すること」と書かれています。
ArrayGetAsSeries(low)の出力をtrueに するのを手伝ってください。
これはすでに真を返していますが、コンパイラエラーのため、その値がパラメータとして誤って出力されています。このように確認します。
結果
コンパイラのエラーにより、パラメータとしての値が正しく出力されないだけで、trueは出力されます。このように確認します。
結果
ありがとう、わかったよ。
条件付き if() 演算子の ArrayIsSeries() とArrayGetAsSeries() は説明の通り動作しますが、Print() は常に false を出力します。
デベロッパー
1.テスターへの履歴の読み込みを確認してください(今回が初テストです)。
EURUSDを H1の標準的なMACDサンプルで間隔「先月」を使ってテストしています。
ダウンロードしたデータの57%に到達し、正常にフリーズし、ログにはこの行だけが残っています。
2011.01.19 17:16:23 Tester EURUSD: history preliminary downloading started
2.テスターの新ビルドで1:200と1:500のテコ入れを常時行うことは可能でしょうか?
特にMT5では、すべての証券会社がそのようなレバレッジを持っているわけではないことは理解していますが、Strategy Testerでは、新しいプラットフォームでストラテジーをテストする方が便利なので、これはおそらく残すべきでしょう。