[FX] 平均足を使った自動売買プログラム
公開日:
:
マネー
平均足のメリット・デメリット
株やFX のチャートで価格の推移を表す ローソク足は有名ですが、同じく日本で考案された平均足というものがあります。
⇒ 平均足の説明
平均足のメリットとしては、
- 一つ前を除いてそれ以上前の過去の影響を受けない
- ノイズが排除されるので、連続陽線や連続陰線が出やすい
デメリットとしては
- ローソク足の代わりに使われるため両者が解離する場合がある
などが挙げられます。
ローソク足と平均足の解離としては、ローソク足で上ひげの長い「上影陰線」の場合でも、平均足では陽線になってしまいます。上影陰線は下降を示唆するサインですが、平均足では陽線なので真逆に捉えられることになります。
そのため自動売買プログラム(EA)で平均足をトリガーに使う場合、ローソク足での判定も加えることに私はしています。
平均足の不思議
これで EA を今までいくつも作ったのですが、不思議と4時間足と30分足での成績がよいが、他の時間足はいまいちなんです。
理由はわかりませんが、4時間足と30分足の利用者が少ないので、ストップハントなど逆に仕掛ける大口投資家によるノイズが排除されるためかなという気がしております。
ということで、簡単なプログラムを作ってみました。
平均足1本と移動平均線1本しか使っていない超シンプルなもの。
- 移動平均線が上向きのときに平均足が陽線になれば買い、陰転化すれば決済
- 移動平均線が下向きのときに平均足が陰線になれば売り、陽転化すれば決済
たったそれだけです。
2021/1/1-2021/5/15 ユーロドル 4時間足 1万通貨
純益 502ドル、プロフィットファクター 1.79、勝率 48.65%、最大ドローダウン 0.99% と大したことはありませんが、4時間足なので回数が 74回しかないことを考えるとなかなかじゃないでしょうか。
「ユーロドルはこの期間ずっと上げ基調だったからダロ」と鋭いことをおっしゃる人もいるかもしれませんが、上の結果では 買いポジションより売りポジションのほうが勝率は高いのです。売りも買いも回数同じだし。
なにしろロジックもプログラムも超簡単なのでこの結果は・・・ギャップ萌えしてしまいます。
プログラムソース
//
// 「傾いた平均台」 4時間足用
// エントリ:平均足の色
// フィルタ:SMA の傾き
// フィルタ:タイムフィルタ
// イクシット:平均足が陰転//マジックナンバーの定義
#define MAGIC 2021051901//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = “”; //コメントextern int MA_PERIOD = 20 ;
extern int in_time = 4; // 取引開始時間(0以上)
extern int out_time = 22; // 取引停止時間(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 HA_open1 = ( iClose(NULL, 0, 2) + iOpen(NULL, 0, 2) ) / 2.0 ;
double HA_close1 = ( iClose(NULL, 0, 1) + iOpen(NULL, 0, 1) + iHigh(NULL, 0, 1) + iLow(NULL, 0, 1) ) / 4.0 ;double sma1d = iMA(NULL,0,MA_PERIOD,0,MODE_SMA,PRICE_MEDIAN,1);
double sma1dp = iMA(NULL,0,MA_PERIOD,0,MODE_SMA,PRICE_MEDIAN,2);//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();if( ( HA_open1 > HA_close1 )// || ( OOPL – lc * 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;}
}//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ( HA_open1 < HA_close1 )// ||( OOPS + lc * 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( HA_open1 < HA_close1 && sma1d > sma1dp && Close[1] > High[2]
&& (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( HA_open1 > HA_close1 && sma1d < sma1dp && Close[1] < Low[2]
&& (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);
}
###
関連記事
-
ふるさと納税2回め / 液晶ディスプレィ XU2390HS-B1
前回の記事「ふるさと納税のお礼のパソコンがやってきた」でご紹介しましたが、長野県飯山市にふるさと
-
熊本地震とふるさと納税
熊本や大分への被災地への寄付ですが、ふるさと納税を利用してもできます。 その場合は「お礼なし」
-
ロト7で4億円当選した男の話
ロト7で4億円当選した男の話が載っていました。>ロト7で4億円当選した男がネット上で明かした2年後の
-
富裕層ビジネス 成功の秘訣 / 中谷 彰宏
富裕層ビジネス 成功の秘訣 中谷 彰宏 ぜんにち出版 2006-07
-
早起きは5pipsの得 (2)
本日は休日だということに朝7時に気づきました。^^ 前回の記事で紹介した「早起きは5pipsの
-
MACDバーシステムの改良(3) あれれまさかの結末?
残念なお知らせ 昨日紹介したシステムですが、本日チェックしたところ、どうも残念な結果が。 ど
-
日本の 60代で「貯蓄ゼロ」の割合が 18.3%とか
「60代で「貯蓄ゼロ」、割合はなぜこんなにも多いのか。」という LIMO の記事(著者:石津大希)が
-
【FX】Axiory 新ナノ口座(3つめ)発進
以前の記事「Axiory でハロウィーンキャンペーンやっています」で新設して、10万円を入金して 1
-
【FX】新戦略のためのデモトレード(2)
「【FX】新戦略のためのデモトレード」の続きです。 Dark Venus と Connect
- PREV
- 謎とき古代日本列島 / 関裕二
- NEXT
- [FX] 異国のゴールデンゲート