MACDバーシステムの改良(2)
公開日:
:
最終更新日:2015/01/11
マネー
前回紹介した MACDバー の自動売買プログラムですが、ロスカットありバージョンをもとに長期用の MACD のパラメータを変更してみました。
対象ペア
ドル円 1時間足
結果
上が最適化前、下が最適化後。 さらになめらかになったようです。
いずれも 2013年3月から昨日までの結果(ドル円1時間足)です。
1万ドルの口座が 22ヶ月で 2.83倍(最適化前)、3.25倍(最適化後)に増えています。
同じ時期のドル円相場は下のようになります。
最初の円のところやその直前のディップは利益曲線のほうでは少しの損失でおさまっています。
2つめの円のジリ上がりのところはロスカットをつけたことで主に改善できてしまい、パラメータの最適化ではほとんど改善されませんでした。
買い発動はできていたが、ダマシ損失が結構効いていたということでしょうか。
改良後の結果
プロフィットファクターは 1.55 から 1.73に改善。
勝率は 39.42% から 32.95% にやや減少。
損益は +18301 ドルから +22491ドルに上昇。
最大ドローダウンも 9.6% とヒトケタに低下。
22ヶ月で 3.25 倍なら実稼働させてみようかと思いますよね。
ところが、この後えらいことに> MACDバーシステムの改良(3) あれれまさかの結末?
関連記事
改良版(ロスカット付き)ソースコード
//
// yasciiMACD_3cross03.mq4
// LossCut
//
//マジックナンバーの定義
#define MAGIC 42511
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = ""; //コメント
extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int Fast_EMA_Period2 = 12;
extern int Slow_EMA_Period2 = 26;
extern int Signal_Period2 = 9;
extern int Fast_EMA_Period3 = 18 ; // 19;
extern int Slow_EMA_Period3 = 33 ; // 39;
extern int Signal_Period3 = 11; // 9;
extern double LossCut = 100.0 ;
//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
double MACD_MAIN1_1 ;
double MACD_SIGN1_1 ;
double MACD_Value1_1 ;
double MACD_MAIN1_2 ;
double MACD_SIGN1_2 ;
double MACD_Value1_2 ;
double MACD_MAIN1_3 ;
double MACD_SIGN1_3 ;
double MACD_Value1_3 ;
int OS ;
int start()
{
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;
MACD_MAIN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_MAIN, 1 );
MACD_SIGN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_SIGNAL, 1 );
MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;
MACD_MAIN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_MAIN, 1 );
MACD_SIGN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_SIGNAL, 1 );
MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;
OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);
//買いポジションのエグジット
if( ((MACD_Value1_1 <0 && MACD_Value1_2 <0) || ( OrderOpenPrice() - LossCut * Point >= Close[1] ))
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}
OS = OrderSelect(Ticket_S, SELECT_BY_TICKET);
//売りポジションのエグジット
if( ((MACD_Value1_1 >0 && MACD_Value1_2 >0) ||( OrderOpenPrice() + LossCut * Point <= Close[1] ))
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( MACD_Value1_1 >0 && MACD_Value1_2 >0 && MACD_Value1_3 >0 && MACD_MAIN1_3 >0
&& ( 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,Red);
}
//売りエントリー
if( MACD_Value1_1<0 && MACD_Value1_2 <0 && MACD_Value1_3 <0 && MACD_MAIN1_3 <0
&& ( 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,Blue);
}
return(0);
}
###
関連記事
-
-
[FX] 千里眼FX というシステム
山崎毅さんの「千里眼FX」というトレーディングシステムがあるようです。 結構高いです。
-
-
[FX] 2015/5/7 また EA が沈黙
以前の記事「先週はGWの影響で忙しかった 」 でも書きましたが、 FX の EA を稼働させてい
-
-
ふるさと納税のお礼のパソコンがやってきた
長野県飯山市に 10万円の寄付(いわゆるふるさと納税)をすればもらえるという噂のパソコン様、
-
-
確定申告やっと終わり
昨日は確定申告書の作成に時間が掛かり、ブログ更新ができませんでした。 本日郵便局から郵送。
-
-
2019/9/16 ユーロ円下げにお付き合い
今回のもう一つの FX取引は EURUSD。 ユーロドルは月足、週足、日足、1時間足ど
-
-
NF日本高配当70 から GS日本株・プラス(通貨分散コース)へ
超高配当(現時点では)の「GS日本株・プラス(通貨分散コース)」をとりあえず 35000円ほど買いま
-
-
[FX] THV モドキ自動売買プログラム (1)
本日忙しくてプログラムをなかなか作りたくて作れなかったのですが、夕食後ちょっとヒマができました。
-
-
[FX] Traders Dynamic Index (TDI) というインジケーター
TDI (Traders Dynamic Index)というインジケーターがあるそうですね。
-
-
FX 2014 12/10 トレード 痛恨のミス
開始日時 売買 単位 通貨ペア レート 終了日時 決済レート swap
-
-
早起きは5pipsの得 (3)
前回の記事「早起きは5pipsの得 (2)」の続きです。 6時台のスプレッドの広がりの対抗策と
- PREV
- MACDバーシステムの改良
- NEXT
- FXトレーダーの大冒険 / ロブ・ブッカー ブラッド・フリード









