• 締切済み

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

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

  • dy7jp
  • お礼率60% (24/40)

みんなの回答

回答No.2

トレード開始時刻=9時、終了時刻=16時を初期値としました。 適当にいじってください。 //マジックナンバー #define MAGIC 0000 //パラメーター extern double Lots = 0.1; extern int Slip = 3; extern int MAF_Period = 5; extern int MAS_Period =25; extern double SL = 50; extern double TP = 50; extern int Start = 9; extern int End = 16; //ポジション決済関数 void ClosePositions() { for(int i=0; i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) continue; if(OrderType()==OP_BUY || OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slip,White); break; } } } //スタート関数 int start() { //トレード可否 if(IsTradeAllowed()==false) return(0); //ポジション数の確認 int Pos1 = 0; int Pos2 = 0; for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS) == false) break; if(OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC) continue; { if(OrderType() == OP_BUY) Pos1++; if(OrderType() == OP_SELL) Pos2++; } } //時間設定 int Ji = TimeHour(CurTime()); if(Ji<Start || Ji>=End) { ClosePositions(); return(0); } //各種変数の宣言 double MAF1 = iMA(NULL,0,MAF_Period,0,MODE_SMA,PRICE_CLOSE,1); double MAF2 = iMA(NULL,0,MAF_Period,0,MODE_SMA,PRICE_CLOSE,2); double MAS1 = iMA(NULL,0,MAS_Period,0,MODE_SMA,PRICE_CLOSE,1); double MAS2 = iMA(NULL,0,MAS_Period,0,MODE_SMA,PRICE_CLOSE,2); int ticket = 0; //買いシグナル if(MAF2<=MAS2 && MAF1>MAS1 && Pos1==0) { ClosePositions(); ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-SL*Point,Ask+TP*Point,"",MAGIC,0); } //売りシグナル if(MAF2>=MAS2 && MAF1<MAS1 && Pos2==0) { ClosePositions(); ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+SL*Point,Bid-TP*Point,"",MAGIC,0); } return(0); }

  • agent_k
  • ベストアンサー率82% (37/45)
回答No.1

まずは日本時間が始まる時刻がMT4のサーバータイムで何時であるかを調べます。 その時刻を基準に取引可能とする時間帯を条件式として加え、条件を満たしていればポジション作成の条件判定をさせるとよいと思います。 基準とする時刻や、その時刻から何分プラスマイナスさせるかなどはパラメーターにしておくと便利でしょう。 欧州時間についても、日本時間と同じようにします。 そしてその時刻にポジションを持っていればクローズさせるというプログラムを組めばOKでしょう。

関連するQ&A

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

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

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

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

  • MT4で、指定時間に全決済出来ませんか?

    MT4でアジアンタイムにスキャルピングするEAを使用し、エントリーはEAに任せて、あらかじめ指定しておいた時刻になると、自動的にポジションを全て強制決済したいのですが可能でしょうか?

  • MT4について教えてください。

    古いMT4(BUILD500)のEA等のフォルダーの場所について教えてください。 古いMT4は、Program Files(x86)の下のXeMarkets MT4(Real)にあるのですが、ところが、EAエディタで編集しても、エクスプローラで見ると日付が更新されません。エクスプローラから通常のエディタで立ち上げると現在他のプロセスによって書き込みが禁止されていますと出て、読み取り専用で開かれますが、内容はやはり古いままです。PCを再起動して、MT4やEAエディタが立ち上がっていなくても、ダメです。 EAエディタだけを立ち上げて確認すると、ちゃんと変更されています。EAエディタが指し示す場所は間違っていません。 MT4をアップデートするのに、最新の物を取って置かねばならないので、どうすればよいのかよろしくお願いいたします。

  • MT4の自作EAがうまく決済注文を出してくれない

    MT4の自作EAがうまく決済注文を出してくれません。新規注文用のMAのGC・DCで新規注文をだし、決済用のMAのGC・DCで決済注文をだす、EAなのですが、うまく決済注文がでず、テイクプロフィットとストップで決済してしまいます。2つのMAで、決済を確実にするにはどうしたらよいのでしょうか。たいへん困っています。よろしくお願いします。

  • MT4について

    メタトレーダー4について。 初歩的な質問ですが、 指値注文を出し、MT4を終了させても指値がくれば勝手に取引をしてくれるのでしょうか。 要はパソコンをつけっぱなしにする必要があるのかどうかです。 EAは使わない場合でお願いします。

  • あったら便利なMT4ツールは?

    日本でもMT4が使える業者がかなり増えてきました。 MT4ではインジケーターとかEAとか売買に直接的につながるプログラムはたくさんあるのですが、ユーザーインターフェースの改善とかポジション・資金管理といったいわゆるツールの類はまだ開拓の余地があるように考えます。 これがあったら、もっと使いやすいのに、、、というようなツールって何かありますか?

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

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

  • 時間取引

    FXをはじめようとしているのですが、仕事をもっているために取引時間が限られてしまい悩んでいます。 FXにはさまざまな取引方法がありますが、IFD注文、OCO注文だけでは仕事をしているので動向を確認出来ず不安があります。 そこで質問なんですが、時間で注文し時間で決済するような取引方法はありますか? たとえば9時に買い注文をし、10時に売り注文を出すといったような取引方法です。 そのような取引ができるFX会社を教えてください。 お願いします。

  • MT4の自動売買について

    今後MT4を使ってFXのトレードを始めるつもりです。現在は、trading pointでデモ口座を開設してバーチャル取引をしていますが、最初から利用できるEAのソフトに「MACD」といったEAがあります。設定方法はネットで確認して試したのですが、自動で売買されているように思えません。 デモだからですか?それとも、使い方が違っているのでしょうか? EAの利用のしかたを知っているかた、EAについて詳しいかた、どなたか教えて頂けませんか?