MT4のEAで取引が成立しない原因について こんにちわ。 MT4のEAに詳しい方、ご…

MT4のEAで取引が成立しない原因について

こんにちわ。
MT4のEAに詳しい方、ご教授頂けると幸いです。

現在MT4のEAの作製をしています。
内容としてはトレンドに応じてボリンジャーバンドを利用して、
順張りを行うという

ものです。
コンパイルを通ったので、ストラテジーテスターにて確認しました。
結果を見ると取引は一切行われておりませんでした。
(他のEAは正常に動作に動作しています)
上記の原因についてご教授頂きたいです。
以下に作製したEAを記載します。
(見づらくて大変申し訳ありません)
// ——————————————————————
//| jyunbari.mq4 |
//| Copyright 2019, MetaQuotes Software Corp. |
//| https://www.mql5.com |
// ——————————————————————
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict

input int FastMAPeriod = 5 ; //短期MAの期間
input int SlowMAPeriod = 20 ; //長期MAの期間
input int BBPeriod = 5 ; //ボリンジャーバンドの期間
input double BBDeviation = 2 ; //標準偏差の倍率
input double Lots = 0.1 ; //売買ロット
int Ticket = 0 ; //チケット番号
int pos = 0 ; //ポジション数
// ——————————————————————
//| Expert tick function |
// ——————————————————————
void OnTick()
{
//1本前の移動平均
double FastMA1 = iMA(_Symbol,0,FastMAPeriod,0,MODE_SMA,PRICE_CLOSE,1);
double SlowMA1 = iMA(_Symbol,0,SlowMAPeriod,0,MODE_SMA,PRICE_CLOSE,1);
//2本前の移動平均
double FastMA2 = iMA(_Symbol,0,FastMAPeriod,0,MODE_SMA,PRICE_CLOSE,2);
double SlowMA2 = iMA(_Symbol,0,SlowMAPeriod,0,MODE_SMA,PRICE_CLOSE,2);
//3本前の移動平均
double FastMA3 = iMA(_Symbol,0,FastMAPeriod,0,MODE_SMA,PRICE_CLOSE,3);
double SlowMA3 = iMA(_Symbol,0,SlowMAPeriod,0,MODE_SMA,PRICE_CLOSE,3);
//1本前のボリンジャーバンド[ 2σ]
double BBUpper = iBands(_Symbol,0,BBPeriod,BBDeviation,0,PRICE_CLOSE,MODE_UPPER,1);
//1本前のボリンジャーバンド[-2σ]
double BBLower = iBands(_Symbol,0,BBPeriod,BBDeviation,0,PRICE_CLOSE,MODE_LOWER,1);

if(FastMA1 > SlowMA1 && FastMA2 > SlowMA2 && FastMA3 > SlowMA3 &a mp;& Close[1] < BBLower)//上昇トレンド、買いシグナルの判定
{ if(pos < 10) //ポジションが規定未満なら取引
{
Ticket = OrderSend(_Symbol,OP_BUY,Lots,Ask,0,0,0);
if(Ticket > 0)
{
pos = pos 1 ; //取引成立時ポジションを増やす。
}
}
}
if(FastMA1 < SlowMA1 && FastMA2 < SlowMA2 && FastMA3 < SlowMA3 && Close[1] > BBUpper)//下降トレンド、売りシグナルの判定
{ if(pos < 10)
{
Ticket = OrderSend(_Symbol,OP_SELL,Lots,Bid,0,0,0);
if(Ticket > 0)
{
pos = pos 1 ; //取引成立時ポジションを増やす。
}
}
}
}

原因と考えられる箇所
・買いシグナル、売りシグナルが成立していない。
→ストラテジーテスターで指定した期間に少なくとも一つは条件を満たすポイントがあることを確認。
・posが不定のため pos < 10を たしていない。
→OnTick関数の外で定義している。(問題なし?)
・OrderSend関数でオーダーが送信できていない。
→なるべく取引が成立するように引数を指定したつもりです。
(実際に送信されているかは不明です…)
私が考えられた原因は以上になります。

御助力頂けると幸いです。ものです。

回答1

ストラテジーテスタの操作履歴タブにはどのようなメッセージが残っていますか?

回答2

あんたバカ〜〜?

_Symbol
pos = pos 1 ;

意味不明だ、本当にエラーが出てないのか?w

で、だが

>・買いシグナル、売りシグナルが成立していない。
→ストラテジーテスターで指定した期間に少なくとも一つは条件を満たすポイントがあることを確認。

信じがたいがな。。。。。。
指標発表時でもない限りあり得ないとは思うが
お前の頭がおかしいだけだろボケナス


カテゴリーQ&A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA