こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

MT4(メタトレーダー)で単純に移動平均線のGU/GDで検証を行いたい

MT4(メタトレーダー)で単純に移動平均線のGU/GDで検証を行いたいのですが どのような記述をすればいいのでしょうか?また参考になるサンプルやEAがありましたら 教えていただけれ幸いです。

投稿日時 - 2010-08-23 23:46:42

QNo.6130931

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

「GU/GDで検証」の意味がよくわかりません。

ゴールデンクロス(GC)/デッドクロス(DC)でしたら、以下のサンプルをどうぞ。

//マジックナンバー
#define MAGIC 0000

//パラメーター
extern double Lots = 0.1;
extern int Slip = 3;
extern int MAF_Period = 5;
extern int MAS_Period =25;

//ポジション決済関数

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++;
}
}

//各種変数の宣言
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);

//買いシグナル
if(MAF2<=MAS2 && MAF1>MAS1 && Pos1==0)
{
ClosePositions();
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,"",MAGIC,0);
}

//売りシグナル
if(MAF2>=MAS2 && MAF1<MAS1 && Pos2==0)
{
ClosePositions();
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,"",MAGIC,0);
}


return(0);
}

投稿日時 - 2010-09-07 23:45:46

あなたにオススメの質問