• ベストアンサー

MT4にて一定時間内においての取引数を制限させる

MT4にて一定時間内においての取引数を制限させる プログラムを作成したいのですが、 ネットを検索しても良い文例が見つかりません。 例えば、 「過去24時間内で取引10回まで」 といったプログラムを作りたいです。 当方、初心者のためEA作成には自信がないため、 どなたか教えて頂ければ幸いです。 よろしくお願い致します。

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

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

>「過去24時間内で取引10回まで」 この意味がよくわからないのですが、「一日10回まで」ということでしょうか。 いろんなやり方があると思いますが、スタティック変数を利用すればうまくやれると思います。たとえば、スタート関数の中に、 static int TradeCnt = 0; として、トレード回数を表す変数を宣言します。staticと書くのはティックが変わっても変数が初期化されずに以前の数値をそのまま保持するためです。 次に、 if(TimeHour(CurTime())==00 && TimeMinute(CurTime())==00) TradeCnt = 0; と書きます。この文の意味は、「もしも、チャート上の時刻が00時00分ならば、TradeCnt変数を0にもどす」です。 あとは、エントリー条件を記述するときに、 if(TradeCnt<10 && …) { OrderSend(…); TradeCnt++; } とします。この記述の意味は、「もしもトレード回数が10回未満ならばエントリーをする」「エントリーをしたら、TradeCnt変数を1つずつ加算する」ということです。 まとめると、トレードをするたびにTradeCntが一つずつ増えていき、10回目に到達すると、エントリーしなくなり、チャート時刻によって日付が変わると、TradeCntが0に戻るため、再度エントリーできるというわけです。 現在、手元にメタトレーダーがないので、プログラムチェックができませんので、ひょっとしたらミスがあるかもしれません。ご自身でチェックしてください。

geno1121
質問者

お礼

丁寧なご回答ありがとうございます! 質問の意味が分かりづらく申し訳ありませんでした。 解釈のとおり、「1日10回まで」という例えで質問しております。 今週末にでも実際にやってみたいと思います! 結果はまた回答致します!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MT4で取引時間を指定する。

    MT4である時間帯だけ取引したいのですが EA化するには、どのようなプログラムを組めばいいのでしょうか。 MT4のMovingAverageで日本時間が始まる前後に取引し 欧州時間になる前に決済したいと思っております。 よろしくお願いします。

  • MT4で時間を指定するにはどのようにすれば良いでしょうか。

    MT4で時間を指定するにはどのようにすれば良いでしょうか。 例えば、取引を日本時間で午前9時から午後3時の間に指定して、午後3時の時点で建て玉があった場合は手仕舞いできるようにしたいのです。 MT4付属EAの、MACD Sampleで時間指定する場合は、どのようなプログラムをどの位置に書けば良いのでしょうか。 時間指定をいろいろ変えてバックテストを行ってみたいと思っています。 プログラムは、トレードスタジアムで少しやった程度ですので、MT4のプログラムは初心者のレベルです。よろしくお願いします。

  • 一定時間ごとの為替をメールさせたい

    MT4で6時間ごと(もしくは4時間ごと)に為替をメールで知らせることはできませんか?EAとかでできそうな気がするのですが。 (アラーム設定でできる、為替が○○以上になったらメールという機能ではなく、一定時間ごとのメールを希望しています) よろしくお願いいたします。

  • MT車、一定時間同速度で走行時の回転数について。

    こんにちは。 こちらの車カテゴリでは何度か質問をさせて頂き、 参考になる意見をいろいろ頂けて感謝しております。 今回もよろしくお願いします。 自分はH18年式のデミオのMT車に乗っています。 国道などで60km/hほどで一定時間走行する時についてなのですが、 60km/hに到達した時点で5速にギアを入れています。 その時のエンジン回転数はだいたい1800ぐらいです。 4速だと2300ぐらい、3速だと3000ぐらいです。 一定時間、同速度で走行する場合、エンジンの回転数は いくつぐらいにしておけば一番燃費が良くなるのでしょうか?

  • MT4を用いて自動売買をしているのですが、コンスタントに負けてしまって

    MT4を用いて自動売買をしているのですが、コンスタントに負けてしまっております。 勝てるEAを望んでいたのですが、逆の発想で現在コンスタントに負けているEAの 反対取引が出来ないかと思っております。 条件としては (1)通常のEAをそのまま稼動させて (2)別のMT4で逆エントリをしたいです。 単純に(1)のサインをメールで飛ばして そのメールを(2)別のMT4で受信して逆取引が出来れば いいのかなぁと思いましたが知識が無く可能かどうかも不明です。 ご存知の方がお見えでしたら教えて頂けますと幸いです。 (メールを飛ばす等そんな面倒な事をせずとも出来る方法があれば最高です) 以上、宜しくお願い致します。

  • MTのサブカテゴリーにエントリー数を表示したいのですが

    MTでサイトを作成していますが、サブカテゴリーにエントリー数を表示できません。また、初心者のため具体的なやり方をどなたか教えてもらえないでしょうか。

  • 一定時間たつと、リセットしたい

    C言語であるプログラムを作成中なんですが、一定時間たつとプログラムをリセットしてまた最初からプログラムを実行するような感じにしたいのですが、わからず困っています。 例えば、 if (100秒たったら) { 配列に入ってるデータなどをリセットして、 最初から実行。 } という感じにしたいと思ってます。要するに、プログラムを実行してから、時間を数え、100秒たったらまた1から実行しなおすという風にしたいと考えています。 そういう時間を数える関数などはあるのでしょうか? どなたかご教授おねがいします。

  • C言語で一定時間実行し、時間が経過したら処理を終わらせるには?

    今C言語でOpenGLを用いて図形を表示させるプログラムを書いています。 一定時間(例えば5秒)だけ画像を表示させ、 時間が過ぎらたらその画像をけし、 何も描いてないウィンドウだけ表示させるようにさせたいのですが、 プログラミングは全くの初心者で、どうすればいいのかわからず 困っています。 どなたか教えていただけないでしょうか。 出来れば関数名だけでなく、サンプルプログラムなどで 教えていただければ幸いです。 すみません、宜しくお願いします。

  • EXCELでセルに入れる文字数の制限

    文章が入力されてるエクセルデータがあります。 セルに入る文字数を常に一定にしてプリントアウトしたいです。 (Wordだと一行何文字と指定できるとおもうのですが) もう出来上っているエクセルデータから、セルに入れる文字を制限数までとし、それを超えたら自動的に消される方法はありますか? マクロを張り込まないとできないのでしょうか? 私はマクロのプログラムが全く書けないのでそれができません。 どうしたらよいでしょうか? 使う方が初心者なので、出来るだけその人が手をかけないようプログラムを作るか、設定したいのですが・・ ちなみにエクセルの機能で、入力規則はもう出来上ってるデータには適用されないようなので、それ以外でお願いします。

  • テーブル数制限

    一つのデータベース内に作成できるテーブル数に制限はあるのでしょうか? また、テーブル数は増えれば増えるほど、一つのテーブルに1000件データが入っているテーブルと比べて、検索に時間がかかったり負荷が高くなったりするものなのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • MySQL