エラー、バグ、質問 - ページ 1011 1...100410051006100710081009101010111012101310141015101610171018...3185 新しいコメント A100 2013.07.06 11:00 #10101 //Test.mqh class A { public: virtual int f() { return ( 1 ); } };//TestLib.mq5 #property library #include "Test.mqh" int g( A* pA ) export { return ( 5 ); } //Test.mq5 #include "Test.mqh" #import "TestLib.ex5" int g( A* pA ); #import void OnStart() { A* pA = new A(); Print( g( pA )); delete( pA ); } ここまでは順調なのですが、Test.mq5に挿入した途端に、例えばclass B : public A { }; という実行エラーが すぐに発生します。 Nikolai Karetnikov 2013.07.06 19:21 #10102 Silent:datetime は既に存在するArraySize - バーの数、ArraySize-1 - 最後のバー、ArraySetAsSeries はインデックスの方向を設定し、セル番号 = バー、左または右を設定します。ここに テストスクリプトがあります。 ありがとうございました。試してみます。 Nikolai Karetnikov 2013.07.06 19:23 #10103 こんにちは。TimeCurrent については、MarketWatch から最後のティックの時刻を返すと指定されている。試しに使ってみると、最後のティックが22:59:57なのに、20:30と返されるなぜ、そうなるのでしょうか。ありがとうございました。 Konstantin Gruzdev 2013.07.06 19:38 #10104 ns_k:こんにちは。TimeCurrent については、MarketWatch から最後のティックの時刻を返すと指定されている。試しに使ってみると、最後のティックが22:59:57なのに、20:30と返されるなぜ、そうなるのでしょうか。ありがとうございました。ヘルプよりOnTick()ハンドラでは 、 この関数は、処理中の受信ティックの時刻を返します 。 その他の場合( 例えば、 OnInit()、OnDeinit()、OnTimer() ハンドラなど)は、 「Market Watch」ウィンドウで利用できる任意のシンボルの最終気配値の到着時刻 で 、このウィンドウのヘッダに表示されている時刻と同じ です。 Nikolai Karetnikov 2013.07.06 20:38 #10105 Lizar:参考文献よりありがとうございました。では、onCalculateで最後の見積もりの到着時刻を取得 するにはどうすればよいのでしょうか。 Nikolai Karetnikov 2013.07.06 22:06 #10106 ns_k:ありがとうございました。では、onCalculateで最後の見積もりの到着時刻を取得するにはどうすればよいのでしょうか。Time Pink Floydを聴いて理解した :)if(SymbolInfoTick(Symbol(),last_tick)) { Print(last_tick.time,": Bid = ",last_tick.bid, " Ask = ",last_tick.ask," Volume = ",last_tick.volume); } else Print("SymbolInfoTick() failed, error = ",GetLastError()); lEnd=last_tick.time; denmax 2013.07.07 17:45 #10107 こんにちは。ArrayResize は、静的な クラス/構造体メンバの グローバル初期化フェーズでは機能しないようです。 struct Test{静的な文字列arr[]。 Test() { ArrayResize(arr,5) ; if (ArraySize(arr)!=5) Alert("We have a bug");}};テストテスト。 adilbek 2013.07.08 06:19 #10108 次のような悩みをお持ちの方はいらっしゃいませんか?端末のバージョンとビットWindows 8、MetaTrader 5 - Alpari UK、Build 821、64ビット。問題の内容H1のインジケーターがM1のインジケーターを呼び出す。CopyBuffer コマンドは間違ったデータをコピーします。この問題はストラテジーテスターでのみ発生します。端末では、すべてのデータがエラーなくコピーされています。M1インジケータは、データを第1バッファにコピーします。一連の動作ストラテジーテスターで、SampleCopyBufferインジケータを H1でテスト するよう選択します。期間は2013-05-01から2013-07-07までとしました。スタート]をクリックし、ログのエラーメッセージを読みます。結果が出る。そして、ログのエラーメッセージを読みました。M1からのインジケータバッファ値がCopyHigh値と一致しない。 。 期待される結果CopyBufferとCopyHighの値は等しくなければならない。その他の情報 起動時の端末のエラーはありません。ストラテジーテスターのみ付録の私の指標をご覧ください。SampleHighsはM1上で動作し、H1上で動作するSampleCopyBufferインジケータから呼び出されます。 ファイル: SampleCopyBuffer.mq5 8 kb SampleHighs.mq5 3 kb Ilyas 2013.07.08 09:06 #10109 denmax:こんにちは。ArrayResize は、静的な クラス/構造体メンバの グローバル初期化フェーズでは機能しないようです。 struct Test{静的な文字列arr[]。 Test() { ArrayResize(arr,5) ; if (ArraySize(arr)!=5) Alert("We have a bug");}};テストテスト。 メッセージありがとうございました、訂正いたします。あなたのコードは、静的文字列 arr[] が見つからないというエラーを発生させます。あなたのコードを正しく動作させるには、Test クラスのインスタンスの前に静的変数を「配置」する必要があります。struct Test{ static string arr[]; Test() { ArrayResize(arr,5) ; if (ArraySize(arr)!=5) Alert("We have a bug"); } }; string Test::arr[]; Test test; Nikolai Karetnikov 2013.07.08 21:00 #10110 こんにちは。私は、自作のカスタムインジケーターの 特性を分析するスクリプトを書いています :)ヘルプではIndicatorCreateを 使用するように指定されています。インジケーターハンドルの受け皿として。ほぼ全て理解しているのですが、スクリプトが使用するチャートにインジケータがある場合、再度インジケータを作成する必要があり、非常に不思議な感じがします。もしかしたら、すでに計算されたインジケータの値をスクリプトで取得する方法があるのでは?ありがとうございました。 1...100410051006100710081009101010111012101310141015101610171018...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
datetime は既に存在する
ArraySize - バーの数、ArraySize-1 - 最後のバー、ArraySetAsSeries はインデックスの方向を設定し、セル番号 = バー、左または右を設定します。
ここに テストスクリプトがあります。
こんにちは。
TimeCurrent については、MarketWatch から最後のティックの時刻を返すと指定されている。試しに使ってみると、最後のティックが22:59:57なのに、20:30と返される
なぜ、そうなるのでしょうか。
ありがとうございました。
こんにちは。
TimeCurrent については、MarketWatch から最後のティックの時刻を返すと指定されている。試しに使ってみると、最後のティックが22:59:57なのに、20:30と返される
なぜ、そうなるのでしょうか。
ありがとうございました。
ヘルプより
OnTick()ハンドラでは 、 この関数は、処理中の受信ティックの時刻を返します 。 その他の場合( 例えば、 OnInit()、OnDeinit()、OnTimer() ハンドラなど)は、 「Market Watch」ウィンドウで利用できる任意のシンボルの最終気配値の到着時刻 で 、このウィンドウのヘッダに表示されている時刻と同じ です。
参考文献より
ありがとうございました。
では、onCalculateで最後の見積もりの到着時刻を取得 するにはどうすればよいのでしょうか。
ありがとうございました。
では、onCalculateで最後の見積もりの到着時刻を取得するにはどうすればよいのでしょうか。
Time Pink Floydを聴いて理解した :)
こんにちは。
ArrayResize は、静的な クラス/構造体メンバの グローバル初期化フェーズでは機能しないようです。
struct Test{次のような悩みをお持ちの方はいらっしゃいませんか?
端末のバージョンとビット
Windows 8、MetaTrader 5 - Alpari UK、Build 821、64ビット。
問題の内容
H1のインジケーターがM1のインジケーターを呼び出す。CopyBuffer コマンドは間違ったデータをコピーします。この問題はストラテジーテスターでのみ発生します。端末では、すべてのデータがエラーなくコピーされています。M1インジケータは、データを第1バッファにコピーします。
一連の動作
ストラテジーテスターで、SampleCopyBufferインジケータを H1でテスト するよう選択します。期間は2013-05-01から2013-07-07までとしました。スタート]をクリックし、ログのエラーメッセージを読みます。
結果が出る。
そして、ログのエラーメッセージを読みました。M1からのインジケータバッファ値がCopyHigh値と一致しない。
。
期待される結果
CopyBufferとCopyHighの値は等しくなければならない。
その他の情報
起動時の端末のエラーはありません。ストラテジーテスターのみ付録の私の指標をご覧ください。SampleHighsはM1上で動作し、H1上で動作するSampleCopyBufferインジケータから呼び出されます。こんにちは。
ArrayResize は、静的な クラス/構造体メンバの グローバル初期化フェーズでは機能しないようです。
struct Test{こんにちは。
私は、自作のカスタムインジケーターの 特性を分析するスクリプトを書いています :)
ヘルプではIndicatorCreateを 使用するように指定されています。
インジケーターハンドルの受け皿として。ほぼ全て理解しているのですが、スクリプトが使用するチャートにインジケータがある場合、再度インジケータを作成する必要があり、非常に不思議な感じがします。もしかしたら、すでに計算されたインジケータの値をスクリプトで取得する方法があるのでは?
ありがとうございました。