[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);
}
###
関連記事
-
-
[FX] 3年ぶりかな FX リアルトレード
自動運転用の VPSサーバーがしょっちゅう勝手に落ちて実損が出たのでしばらく FX はやめておりまし
-
-
[FX] MACDマルチタイムフレーム 15分足用(4) 実戦投入
yasciiMACD_MTF15_3.ex4 ですが、デモ口座にて来週から動かして見ることにしま
-
-
【FX】1年で14億円稼いだ人でも破産する
Youtube で「1年で14億円稼いだ人が破産」したことをネタにした動画を観ました。
-
-
MTF-CCI インディケーター( yMTF_Forex_freedom_Bar )を使った FX手法
上の AUDJPY 15分足のチャートのサブウィンドウに表示しているのはマルチタイムフレーム
-
-
ようやく米国株下落の終焉?
昨夜 2023/11/3 の米雇用統計の発表で、今年中の利上げはまずなくなりそうだという見込みが強く
-
-
[FX] 新たな Tokyo Boxプログラム(2)
先日作製した Tokyo Boxプログラムは、少しずつ改良を加えていますが、まだまだ暫定的。
-
-
【FX】ECMarkets リアル口座 2つ目運用開始
海外 FX 業者 ECMarkets(ECM)の話です。 TariTali 経由で口座を開きま
-
-
ふるさと納税2回め / 液晶ディスプレィ XU2390HS-B1
前回の記事「ふるさと納税のお礼のパソコンがやってきた」でご紹介しましたが、長野県飯山市にふるさと
-
-
オリックス生命キャンドル(外貨建貯蓄保険)
本日オリックス生命のキャンドルという外貨建保険に加入しました。 普通の生命保険にはいっぱい入っ
- PREV
- 謎とき古代日本列島 / 関裕二
- NEXT
- [FX] 異国のゴールデンゲート








