【FX】ほぼストキャス単独での EA
公開日:
:
マネー
ストキャスティクスという指標があります。
売買サインが早く出るのでスキャルピング愛好家には好評ですが、デイトレやスイングではあまり使っている方が見当たらない。
以前、これを使っていろいろな自動売買プログラムを作ってみましたが、なかなかいいものはできませんでした。
*
小次郎講師の本に書いてあった使い方に半信半疑ではありましたが、作ってみると「コレハイイ!」となりました。
小次郎講師の使い方は、
- ストキャスティクスのパラメーターは【26,3,3】を使う(長すぎ!)
- %K と S%D とを使う
- 買いの場合は、%Kが 90を超える⇒その後 S%D が 80を超える⇒さらにその後 S%D が 80を下抜ける(そのとき%KはS%Dより下にあり、下を向いている)とエントリ
- 売りの場合は、%Kが 10を下回る⇒その後 S%D が 20を下抜ける⇒さらにその後 S%D が 20を上抜ける(そのとき%KはS%Dより上にあり、上を向いている)とエントリ
となります。
*
作ってみると、実際にはフィルタとして 10EMA を加えたほうがいいと思い、エントリロジックに加えました。
損切りは直近の高値/安値に。
タイムフィルタをつけていろいろな通貨ペアに対応できるようにしました。
*
GBPUSD 5分足 0.1ロット固定 2024/9/1-2024/10/1
純益 368.66$、最大ドローダウン81.47$、30勝17敗(勝率63.83%)、プロフィットファクター 2.78 とまずまず。
小さなミニトレンドをうまく穫ってくれている感じがします。
少し長めの 1時間足、4時間足などで デイトレ&スイングとしてもそこそこ使えますが、そういうときはたぶん上位足(日足)などでトレンドの有無、方向などを加味した別のプログラムを作ったほうがいいと思います。
プログラムソース(MT4用)
//
// jjSto01a.mq4
// Sto(26,3,3)
//
//
//マジックナンバーの定義
#define MAGIC 2023100201
//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = “jjSto01a”; //コメント
extern int Fast_period = 18 ;
extern bool TimeFilter = true ;
extern int in_time = 8; // 取引開始時間
extern int out_time = 15; // 取引停止時間
int status1 = 0 ;
//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double OOPL;
double OOPS;
double LL2 = 0.0 ;
double HH2 = 1000000.0 ;
int start()
{
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
double ma1 = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 1);
double ma2 = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 2);
double K1 = iStochastic(NULL,0,26,3,3,0,0,0,1);
double K2 = iStochastic(NULL,0,26,3,3,0,0,0,2);
double K3 = iStochastic(NULL,0,26,3,3,0,0,0,3);
double K4 = iStochastic(NULL,0,26,3,3,0,0,0,4);
double D1 = iStochastic(NULL,0,26,3,3,0,0,1,1);
double D2 = iStochastic(NULL,0,26,3,3,0,0,1,2);
double D3 = iStochastic(NULL,0,26,3,3,0,0,1,3);
double D4 = iStochastic(NULL,0,26,3,3,0,0,1,4);
double S1 = ( D1 + D2 + D3 ) / 3.0;
double S2 = ( D2 + D3 + D4 ) / 3.0;
if ( K1 > 90.0 ) status1 = 1;
if ( status1 == 1 && S1 > 80.0 ) status1 = 2;
if ( K1 < 10.0 ) status1 = -1;
if ( status1 == -1 && S1 < 20.0 ) status1 = -2;
if ( TimeFilter != true ) { in_time = 0; out_time = 24 ;}
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( ((status1 == 2 && S1 < 80.0 ) || Close[1] < LL2 )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue);
if( Exit_L ==1 ) {Ticket_L = 0;}
}
//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ( ( status1 == -2 && S1 > 20.0 ) || Close[1] > HH2 )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( status1 == -2 && S1 > 20.0 && K1 > S1 && K1 > K2 && S2 <= 20.0 && ma1 > ma2
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Blue);
LL2 = Low[iLowest(NULL, 0, MODE_LOW, Fast_period, 2)];
status1 = 0 ;
}
//売りエントリー
if( status1 == 2 && S1 < 80.0 && K1 < S1 && K1 < K2 && S2 >= 80.0 && ma1 < ma2
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Red);
HH2 = High[iHighest(NULL, 0, MODE_HIGH, Fast_period, 2)];
status1 = 0 ;
}
return(0);
}
###
関連記事
-
[FX] FX マイニング第6週 暴走?
以前の記事「FX マイニング第5週」から、本業が忙しくてほったらかしにしていたところ、オソロシイこと
-
[FX] Waddah_Attar_Explosion を自動売買プログラム化 (2) ysWA01b.ex4
以前の記事「Waddah_Attar_Explosion を自動売買プログラム化」を改良しました。
-
Trend Intensity Index を使った EA(2) Damiani filter版
以前の記事で紹介した Trend Intensity Index(TII) という指標で作った
-
【FX】2024年4月総括
「【FX】2024年4月第1,2,3,4週総括」の続きです。 2024年4月総括 今月の 1日ご
-
【FX】2024年5月総括
以前の記事「【FX】2024年5月第1,2,3,4週総括」の続きです。 5月が終わりました。
-
【FX】なかなかすごいブレイクアウト Inquisition Breakout EA(2)
「【FX】なかなかすごいブレイクアウト Inquisition Breakout EA」の続きです。
-
【FX】Axiory のナノスプレッド口座を開く
Axiory という FX業者は比較的評判がいいので口座を開いたのですが、誤ってスタンダード口座を開
-
[FX] 2015/5/19-22 リアル口座結果
entry time B/S pair Entry rate stop e
-
本日アメリカの社債を売りました
本日アメリカの社債を全部売りました(先日は米国債を全部売りました)。 今月8日の利払日が過ぎた
-
[FX] Tokyo Box(ロンドン・コーリング)プログラムにトレーリングストップをつける(2)
以前の記事「Tokyo Box(ロンドン・コーリング)プログラムにトレーリングストップをつける」の続
- PREV
- 楽天SCHD の人気がすごい
- NEXT
- ミストシャワー