ライブラリ: カレンダー - ページ 6 12345678910111213...15 新しいコメント eepatk 2023.01.10 14:20 #51 Automated Trading : カレンダー : 著者:fxsaber fxsaberさん、ありがとうございます、 このライブラリはとても素晴らしいです。 .binファイルはnotepad++で読めますか?私のEAで作成されたファイルはnotepad++では読めませんし、BT中にcalendar.Loadは何も返しません。何かヒントはありますか? ありがとうございます。 fxsaber 2023.01.12 21:54 #52 eepatk #:.binファイルはnotepad++で読めますか?私のEAで作成されたファイルはnotepad++では読めません。また、BT中にcalendar.Loadは何も返しません。何かヒントはありますか? 何が課題なのか、すぐに形にしたほうがいいと思います。 eepatk 2023.01.13 13:53 #53 fxsaber # : 何が課題なのか、すぐに形にしたほうがいい。 申し訳ありません。 基本的に、私はあなたが共有したサンプルコードから始め、.binファイルをダウンロードして作成することができます。 目的は、反復ごとに.binをロードし、クラスにリストされた各通貨のニュース/イベントをチェックすることです。 しかし、バックテストをしていると、Calendar.ToStringは空白を返します。 ありがとうございます、 if ( MQLInfoInteger ( MQL_TESTER )) { NF_Stopped_CCY=""; for(int i=0;i<8;i++) { Calendar.Load(CALENDAR_FILENAME); Print("Raw",Calendar.ToString(0,10,false)); Calendar.FilterByTime(TimeCurrent()-NF_Stop_in_Days*24*60*60,TimeCurrent()+NF_Stop_in_Days*24*60*60); Print("FilterByTime",Calendar.ToString(0,10,false)); Calendar.FilterByCurrency(CCYP[i].Cname); Print("FilterByCCY",Calendar.ToString(0,10,false)); Calendar.FilterByImportance(NF_Stop_Importance); Print("FilterByImp",Calendar.ToString(0,10,false)); CCYP[i].Stop_By_News=Calendar.GetAmount(); if (CCYP[i].Stop_By_News) { int temp=StringConcatenate(NF_Stopped_CCY,NF_Stopped_CCY," ", CCYP[i].Cname); Print(Calendar.ToString(0,-1,false)); } } Print("NF list(BackTest) :",NF_Stopped_CCY); NEWS_RefreshTime.day =CurrentDay.day; } fxsaber 2023.01.13 14:19 #54 eepatk #:バックテスト用に以下のコードを書こうとしています。目的は、クラス内にリストされた各通貨のニュース/イベントをチェックするために、反復ごとに.binをロードすることです。 ファイルから静的変数にデータをロードするのは一度だけです。 #define CALENDAR_FILENAME "Calendar.bin" // カレンダーを読み書きするためのファイル名。 #property tester_file CALENDAR_FILENAME // MT5-Testerがこのファイルをピックアップすることを指定します。 #include <fxsaber\Calendar\Calendar.mqh> //https://www.mql5.com/ja/code/32430 CALENDAR CalendarFull; // カレンダーデータを持つオブジェクト。 int OnInit() { return(CalendarFull.Load(CALENDAR_FILENAME) == -1); // ファイルからイベントをロードする } void OnTick() { CALENDAR Calendar = CalendarFull; //.... } eepatk 2023.01.13 14:40 #55 fxsaber # : ファイルから静的変数にデータをロードするのは一度だけでよい。 ありがとうございます。 eepatk 2023.01.13 15:09 #56 fxsaber # : ファイルからスタティック変数にデータをロードするのは一度だけでよい。 fxaberさん、ありがとうございます、 ご指摘を参考にコードを整理したのですが、やはり.binを読み込んだ後のCalendarFULLも空になってしまいます。 CalendarFULL.Loadは "1 "を返しますが、CalendarFULLの中には何もないようです。 .binのエンコーディングの問題でしょうか? ありがとうございます。 fxsaber 2023.01.13 16:29 #57 eepatk #:カレンダーフル.ロードは "1 "を返しますが、カレンダーフル内部には何もないようです。 MT5ターミナルでこのスクリプトを一度実行し、binファイルを生成します。 #define CALENDAR_FILENAME "Calendar.bin" // カレンダーを読み書きするためのファイル名。 #include <fxsaber\Calendar\Calendar.mqh> //https://www.mql5.com/ja/code/32430 void OnStart() { CALENDAR Calendar; if (Calendar.Set(NULL, CALENDAR_IMPORTANCE_NONE, 0, 0)) // MT5-Terminalから絶対にすべてのイベント(履歴+未来)をロードします。 Calendar.Save(CALENDAR_FILENAME); // ファイルに保存する。 } eepatk 2023.01.13 19:25 #58 fxsaber # : MT5ターミナルでこのスクリプトを一度実行し、binファイルを生成します。 fxsaberさん、ありがとうございます。そうすると7xmbの.binファイルが生成されました。しかし、ロードして印刷しようとすると、空白が返されます。 fxsaber 2023.01.13 21:36 #59 eepatk #: ありがとう、fxsaber。そうしたら7xmbの.binファイルが生成されたよ。しかし、ロードしてプリントアウトしようとすると、空白が返されました。 #define CALENDAR_FILENAME "Calendar.bin" // カレンダーを読み書きするためのファイル名。 #property tester_file CALENDAR_FILENAME // MT5-Testerがこのファイルをピックアップすることを指定します。 #include <fxsaber\Calendar\Calendar.mqh> //https://www.mql5.com/ja/code/32430 const string inSymbols[] = {"EURUSD", "AUDCAD"}; CALENDAR Calendars[]; int OnInit() { CALENDAR Calendar; const bool Res = (Calendar.Load(CALENDAR_FILENAME) != -1); if (Res) for (int i = ArrayResize(Calendars, ArraySize(inSymbols)) - 1; i >= 0; i--) { Calendars[i] = Calendar; Calendars[i].FilterBySymbol(inSymbols[i]); } return(!Res); } string NewsToString( const CALENDAR &Calendar, const datetime From, const datetime To ) { CALENDAR CalendarTmp = Calendar; CalendarTmp.FilterByTime(From, To); return(CalendarTmp.ToString(0, 10)); } #define HALF_INTERVAL (6 * 3600) void OnTick() { string Str = NULL; for (int i = ArraySize(Calendars) - 1; i >= 0; i--) { const datetime From = TimeCurrent() - HALF_INTERVAL; const datetime To = TimeCurrent() + HALF_INTERVAL; Str += "\n\n" + inSymbols[i] + "-news (" + (string)From + " - " + (string)To + "):\n" + NewsToString(Calendars[i], From, To); } Comment(Str); } eepatk 2023.01.15 08:03 #60 fxsaber #: ありがとう、fxsaber、 結局、私のコードに問題があることがわかりました。.mq5がUnicodeとして保存されていたため、filereadが動作しなかったのです。 ありがとう、 12345678910111213...15 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
カレンダー :
著者:fxsaber
何が課題なのか、すぐに形にしたほうがいいと思います。
何が課題なのか、すぐに形にしたほうがいい。
申し訳ありません。
基本的に、私はあなたが共有したサンプルコードから始め、.binファイルをダウンロードして作成することができます。
目的は、反復ごとに.binをロードし、クラスにリストされた各通貨のニュース/イベントをチェックすることです。
しかし、バックテストをしていると、Calendar.ToStringは空白を返します。
ありがとうございます、
バックテスト用に以下のコードを書こうとしています。目的は、クラス内にリストされた各通貨のニュース/イベントをチェックするために、反復ごとに.binをロードすることです。
ファイルから静的変数にデータをロードするのは一度だけです。
ファイルから静的変数にデータをロードするのは一度だけでよい。
ありがとうございます。
ファイルからスタティック変数にデータをロードするのは一度だけでよい。
fxaberさん、ありがとうございます、
ご指摘を参考にコードを整理したのですが、やはり.binを読み込んだ後のCalendarFULLも空になってしまいます。
CalendarFULL.Loadは "1 "を返しますが、CalendarFULLの中には何もないようです。
.binのエンコーディングの問題でしょうか?
ありがとうございます。
カレンダーフル.ロードは "1 "を返しますが、カレンダーフル内部には何もないようです。
MT5ターミナルでこのスクリプトを一度実行し、binファイルを生成します。
MT5ターミナルでこのスクリプトを一度実行し、binファイルを生成します。
ありがとう、fxsaber。そうしたら7xmbの.binファイルが生成されたよ。しかし、ロードしてプリントアウトしようとすると、空白が返されました。
ありがとう、fxsaber、
結局、私のコードに問題があることがわかりました。.mq5がUnicodeとして保存されていたため、filereadが動作しなかったのです。
ありがとう、