ネットが遅くてイライラしてない!?

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

このQ&Aに関連する最新のQ&A

MT4」に関するQ&A: FX 証券会社選びとMT4

A 回答 (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);
}
    • good
    • 0

まずは日本時間が始まる時刻がMT4のサーバータイムで何時であるかを調べます。


その時刻を基準に取引可能とする時間帯を条件式として加え、条件を満たしていればポジション作成の条件判定をさせるとよいと思います。
基準とする時刻や、その時刻から何分プラスマイナスさせるかなどはパラメーターにしておくと便利でしょう。

欧州時間についても、日本時間と同じようにします。
そしてその時刻にポジションを持っていればクローズさせるというプログラムを組めばOKでしょう。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード


人気Q&Aランキング