*

[FX] たった1本の移動平均線でスイングトレード

公開日: : マネー

できるだけ物事は簡単なほうがいいと思っている人が多いでしょうが、私もその末席におります。

一番簡単なシステムは移動平均線と価格のクロスを利用したものでないかと思っていましたが、昨日天啓のヒラメキが。

1本の移動平均線でクロスを使わずに!

  1. キモは線形加重平均線を使うこと
  2. その傾きでトレンド転換を知ること
  3. 少なくとも日足を見ておけば逆走してもロスはたいしたことはないのではないか
  4. うまくいけば第一波の最初から乗れるのでは?

ということでテスト用のプログラムを作りました。

2011/1/1-2011/6/6 ドル円 4時間足 1万通貨

4時間足なので回数が極端に少なく、13回。週に1回あるかないかくらいの起動で、最長で16日間ほど保有しています。

まさにスイングトレード。

純益 620.45ドル、プロフィットファクター 8.98、勝率69.23%(9勝4敗)、最大ドローダウン 0.86%(8.6% / lot)となりました。

日足でトレンドを確認して4時間足のトレンドに乗るというわけです。

実際のスイングトレーダーでも週足、日足と4時間足しか見ないという人もいますので、それをプログラムが自動でやってくれる感じですね。

あとは安全機能をつけたら実稼働しましょうか。

プログラムソース(テスト版)

//
// ysLWMAMTF01b.mq4
//
// 1時間足、4時間足 スイングトレード
// エントリ:線形荷重移動平均線の向きが変わると
// フィルタ:タイムフィルタ 日足
// イクシット:向きの反転

//マジックナンバーの定義
#define MAGIC 2021060701

//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = “ysLWMAMTF01b”; //コメント

int MA_Period = 20 ;

extern int in_time = 15; // 取引開始時間(0以上)
extern int out_time = 16; // 取引停止時間(24以下)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double OOPL;
double OOPS;

int start(){

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double ma1 = iMA(NULL, 0, 20, 0, MODE_LWMA, PRICE_CLOSE, 1);
double ma1p = iMA(NULL, 0, 20, 0, MODE_LWMA, PRICE_CLOSE, 2) ;
double ma1pp = iMA(NULL, 0, 20, 0, MODE_LWMA, PRICE_CLOSE, 3) ;

int BS_signal = 0;
if( ma1 > ma1p && ma1p < ma1pp ) BS_signal = 1 ;
if( ma1 < ma1p && ma1p > ma1pp ) BS_signal = -1 ;

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if( ma1 < ma1p && ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ma1 > ma1p && ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( BS_signal == 1 && iClose(NULL,1440,1) > iOpen(NULL,1440,1) // trendy == 1
&& (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,Red);
}

//売りエントリー
if( BS_signal == -1 && iClose(NULL,1440,1) < iOpen(NULL,1440,1) //trendy == -1 && (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,Blue);
}

return(0);

}

 

###

関連記事

【FX】AXI Select 25日め

各FX業者から毎日メールで各口座の報告書が来ます。 あ、月報も月に 1回来ます。 昨日、AX

記事を読む

一目均衡表のずれ(26と25)

マーフィーの最強スパンモデルFX投資法柾木 利彦 日本実業出版社 2010-12

記事を読む

【FX】Voorloper という EA(5) リアルトレード途中経過

以前の記事「【FX】Voorloper という EA(4) リアルトレード開始」の続きです。

記事を読む

KOSPI ベアETN が熱い (3)

「KOSPI ベアETN が熱い (2)」の続きです。 また、「アメリカ高官が日韓の媒

記事を読む

[FX] ボリンジャーバンド順張りシンプル版

昨日読んだ本「FX ボリンジャーバンド常勝のワザ / 山中康司」に触発されて、もっともシンプルなボリ

記事を読む

【FX】Alpinist という EA

Alpinist という面白い EA があります。 ロジックが不明で「ニューラルネットワークを

記事を読む

【FX】珍しい現象

デモ口座でフォワードテストをしている EA がいくつかありますが、そのうちの1つで珍しい現象に遭遇。

記事を読む

ディナポリ手法で利用するDMA (2)

前回の記事「ディナポリ手法で利用するDMA」で、ディナポリ移動平均線を使った自動売買プログラムを作り

記事を読む

FXトレーディングの真実 / 陳 満咲杜

FXトレーディングの真実 陳 満咲杜 扶桑社 2009-01-31 売り上

記事を読む

今どきのソーラーシステム

本日、ラジオを聴いていたら辛坊治郎がこんなことを言っていました。 最近は200万円くらいで

記事を読む

Message

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

【FX】リアル口座とデモ口座の同時進行(2)

前回の記事「【FX】リアル口座とデモ口座の同時進行」でこう書きました。

【FX】リアル口座とデモ口座の同時進行

FX で自動売買プログラムを使う場合、いきなりリアル口座にて他人の勧め

【FX】AXI Select 25日め

各FX業者から毎日メールで各口座の報告書が来ます。 あ、月報も月に

【FX】ECMarkets にデモ口座を開く

TariTali 対応の海外 FX 業者の中に ECMarkets(E

【FX】高頻度トレーダー(HFT)タイプの EA の評価方法(2)

以前の記事「【FX】高頻度トレーダー(HFT)タイプの EA の評価方

→もっと見る

  • アクセスカウンター
PAGE TOP ↑