• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メタトレーダーでCloseがある値を抜けたらフラッグを立てて、変更注文)

メタトレーダーでCloseがある値を抜けたらフラッグを立てて、変更注文

このQ&Aのポイント
  • メタトレーダーでCloseがある値を抜けたらフラッグを立てて、変更注文が出せるプログラムを考えています。
  • フラグが保持されない問題があります。ティックが変わるたびにstart()が呼ばれ、フラグは0になってしまいます。
  • フラグを保持するための方法を教えてください。

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

  • ベストアンサー
回答No.2

ティックが変わるたびに変数が初期化されないように、以前の数値をそのまま維持させる方法は、 1.グローバル変数を利用する。 わかりやすく言えば、その変数をstart()関数の前におけばよいです。 2.static変数を利用する。 わかりやすく言えば、 static int Flag; というように、データ型の前に、staticという文字を付け加えるだけです。

gaachan_yeah
質問者

お礼

くわしい説明ありがとうございます。 まだstaticなしとstaticありの違いが よく分かっていませんが、これから検証してみます。

その他の回答 (2)

回答No.3

すみません、訂正です。 「グローバル変数」→「外部変数」です。 もちろんグローバル変数を使ってもいいみたいですが。

  • keroro32
  • ベストアンサー率21% (48/225)
回答No.1

プログラムの内容は把握していませんので動作は確認出来ないですが、ティックが変わるたびにリセットされないように、 int Flag;をint start()より前に置けば良いと思います。

gaachan_yeah
質問者

お礼

ありがとうございます。 print文で検証してみます。

関連するQ&A