記事「多通貨エキスパートアドバイザーの開発(第10回):文字列からオブジェクトを作成する」についてのディスカッション

 

新しい記事「多通貨エキスパートアドバイザーの開発(第10回):文字列からオブジェクトを作成する」はパブリッシュされました:

エキスパートアドバイザー(EA)の開発計画は複数の段階で構成されており、中間結果はデータベースに保存されます。しかし、これらの結果はオブジェクトとしてではなく、文字列や数値としてのみ抽出できます。したがって、データベースから読み込んだ文字列を基に、EAで目的のオブジェクトを再構築する方法が必要です。

前回の記事では、EA開発における各ステージの大まかな計画について説明しました。各ステージは、その後のステージで使用される一定量の情報を生成します。この情報をデータベースに保存することを決定し、そこにテーブルを作成して、様々なEAのストラテジーテスターにおけるシングルパスの結果を格納できるようにしました。

次のステップでこの情報を利用するためには、データベースに保存された情報から必要なオブジェクト(取引戦略、そのグループ、EAなど)を生成する方法が求められます。オブジェクトを直接データベースに保存するオプションは存在しないため、最も効果的なアプローチは、オブジェクトのプロパティを全て文字列に変換し、データベースに保存することです。その後、この文字列をデータベースから読み出し、必要なオブジェクトを再生成することができます。

文字列からオブジェクトを生成する方法はいくつか考えられます。例えば、デフォルトのパラメータを持つ対象クラスのオブジェクトを作成し、特定のメソッドや関数を使用してデータベースから取得した文字列を解析し、対応する値をオブジェクトのプロパティに代入することができます。また、1つの文字列を引数に取るオブジェクトのコンストラクタを新たに作成し、その文字列をコンストラクタ内でパーツに分解して、適切な値をオブジェクトのプロパティに割り当てる方法もあります。どちらのオプションがより適しているかを理解するために、まずはオブジェクトに関する情報をデータベースに保存する方法を検討してみましょう。

作者: Yuriy Bykov

 

ユーリ こんにちは。興味深い連載をありがとうございます。

Yuriさん、今回の記事のExpert Advisorをテストしたストラテジーファイルを掲載していただけますか?記事下のスクリーンショットがそれです。もしどこかに掲載されているのであれば、場所を教えてください。C:¥UsersAdmin/AppData/Roaming¥MetaQuotes¥Terminal¥CommonFilesフォルダか、terminalフォルダに 入れればいいのでしょうか?ターミナルでスクリーンショットと同じ結果が出るかどうか確認したいです。

 

ビクターさん、こんにちは。

このファイルは、1つのストラテジーインスタンスでEAの最適化を実行し、終了後、その結果をまずXMLで保存し、次にExcelからCSVで保存することで取得できます。これは第6回で 説明しました。