記事"MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう"についてのディスカッション - ページ 2 12 新しいコメント francisalmeida 2019.08.19 13:23 #11 こんにちは、デニス、 この素晴らしいライブラリーのおかげで、僕のような初心者でも簡単に使えるようになりました。私はプロのプログラマーではありませんが、いくつかのコードを理解し、微調整し、デバッグすることはできます。 Test_Hedge_Properties "のサンプルコードを、私がテストしているEAの関数として使用しています。 "Update_Hedge_Info "関数を呼び出すと、1つ目のチケットがクローズした後、ポジション数を カウントする変数 "hdg_number_of_pos_total "が(2)から(1)に更新されます。 しかし、2枚目のチケットがクローズした後、変数は(1)のままで、(0)に更新されません。 私のコーディングが正しいかどうか分かりませんが、ご親切なご意見と専門知識をお聞かせください。 EAとスクリーンショットを添付します。 ありがとうございました。 ファイル: closed_hedge_position.PNG 56 kb EA_103337_1.01f.mq5 36 kb Marco Klaus Gerhard Niese 2025.09.06 17:19 #12 私の EA で現在のマージンを計算するためにhedge_info.Margin() を使用しています。 CHedgePositionInfo::AveragePriceの 中の "switch(curr_quote_type) ... case QUOTE_TYPE_CROSS: "の中の以下の(*)行が気になります。 EURCHFを使用しており、major_symbolは USDEUR です。USDEURはすべてのFXブローカーの 99,9%でサポートされておらず、せいぜいユーザー定義のクロス なので、以下のSymbolSelectコマンドはバックテスト中にエラーメッセージにつながります。ブローカーの問題かもしれませんが、私の場合、アクティブなシンボルがUSDEURになり、最初にストラテジーテスターを開始したペア(EURCHF)ではなくなってしまったため、ストラテジーテスターが 突然中断してしまいました。 if(SymbolSelect(major_symbol,true)) // (*) そこで私の場合、CHedgePositionInfo::AveragePriceの 最後にあるマーケットウォッチからUSDEURを削除することで解決しました: SymbolSelect(major_symbol,false); 12 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、デニス、
この素晴らしいライブラリーのおかげで、僕のような初心者でも簡単に使えるようになりました。私はプロのプログラマーではありませんが、いくつかのコードを理解し、微調整し、デバッグすることはできます。
Test_Hedge_Properties "のサンプルコードを、私がテストしているEAの関数として使用しています。
"Update_Hedge_Info "関数を呼び出すと、1つ目のチケットがクローズした後、ポジション数を カウントする変数 "hdg_number_of_pos_total "が(2)から(1)に更新されます。
しかし、2枚目のチケットがクローズした後、変数は(1)のままで、(0)に更新されません。
私のコーディングが正しいかどうか分かりませんが、ご親切なご意見と専門知識をお聞かせください。
EAとスクリーンショットを添付します。
ありがとうございました。
私の EA で現在のマージンを計算するためにhedge_info.Margin() を使用しています。
CHedgePositionInfo::AveragePriceの 中の "switch(curr_quote_type) ... case QUOTE_TYPE_CROSS: "の中の以下の(*)行が気になります。
EURCHFを使用しており、major_symbolは USDEUR です。USDEURはすべてのFXブローカーの 99,9%でサポートされておらず、せいぜいユーザー定義のクロス なので、以下のSymbolSelectコマンドはバックテスト中にエラーメッセージにつながります。ブローカーの問題かもしれませんが、私の場合、アクティブなシンボルがUSDEURになり、最初にストラテジーテスターを開始したペア(EURCHF)ではなくなってしまったため、ストラテジーテスターが 突然中断してしまいました。
そこで私の場合、CHedgePositionInfo::AveragePriceの 最後にあるマーケットウォッチからUSDEURを削除することで解決しました: