• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポジションを同時に2個持つのを直したい)

ポジションを同時に2個持つのを直したい

このQ&Aのポイント
  • ポジションを同時に2個持つことを修正したいと思います。基本設定、新規注文設定、決済注文設定を設定しているEAのコードです。指定された時間に新規注文を出し、指定された時間に決済注文を行います。
  • EAのコードは、基本設定、新規注文設定、決済注文設定のパラメータを使用しています。基本設定では、マジックナンバー、リミット、ストップ、ロットサイズ、エントリー方法、スリッページを設定します。新規注文設定では、時間、分、秒の判定を行います。決済注文設定では、時間、分、秒の判定を行い、指定されたポジションをクローズします。
  • EAの開始関数では、指定された時間に新規注文を出し、指定された時間に決済注文を行うコードが記述されています。新規注文が売りの場合はAskを使用し、買いの場合はBidを使用して注文を出します。決済注文では、指定されたポジションをクローズするためにOrderClose関数が使用されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Saitar
  • ベストアンサー率41% (192/464)
回答No.2

お困りとのことなので、対策例を。 int start() { の後ろに、 if(OrdersTotal() == 0){ を入れる。さらに、 if((TimeHour(TimeCurrent()) == CloseHour の前に } を一つ足す。 これで、問題解決です。 しかし、MQLを直接書くとスペースが消えてしまうので、マヌケなプログラムに見えるのが、、、今の悩みです。。。

murcielago_1229
質問者

お礼

ありがとうございます、本当に助かりました。

その他の回答 (1)

  • Saitar
  • ベストアンサー率41% (192/464)
回答No.1

な~んだ、ちゃんとプログラムを書いてたなら、そう言ってくれればいいのに ^^; さて、それではこっちも出し惜しみをしましょう(ウソ)。 「ポジションを同時に2個持つのを直したい」と書かれてますが、2つ持つのは偶然でしかなく、1つだけの時もありますよね。 もっと言えば、ちょっといじると、無限にポジションを持ってしまう恐れがある危険なプログラムです。 以上がヒントです。

murcielago_1229
質問者

補足

返答ありがとうございます。 おっしゃるとおり1個のときもあれば2個の時もあります。確かに複数持つ場合もありました。 どうすればいいのですか?実はかなり困ってますm(_ _)m

関連するQ&A