超シンプルな自動売買プログラム(4) MACD&RSI
公開日:
:
最終更新日:2015/02/03
マネー
![]() |
稼ぐ人のFX 儲けの流儀 (超トリセツ)
バウンド インターナショナル・ラグジュアリー・メディア 2012-03-23 売り上げランキング : 186567 by G-Tools |
前回と前々回紹介した「稼ぐ人のFX」というMOOKの第一号に多田さんというトレーダーの手法が載っていました。
MACD&RSI
- MACD のシグナルとのクロス
- RSI の値(70以上で売り、30以下で買い)
- ローソク足のパターン
で売買シグナルとエクシットを決めるものです。
下のようにプログラムしてテストしてみましたが、さっぱりいい成績が出ませんでした(2014/1/1-2015/1/1)。
売買回数がどれもヒトケタで少なすぎます。
エントリ条件を少しゆるめてみても同じ。
どこか間違っているのでしょうか。
関連記事
超シンプルな自動売買プログラム(5) MACD&RSI(続き)
プログラムソース
//
// yasciiSimple04 MACD & RSI
//
//マジックナンバーの定義
#define MAGIC 42105
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = "Simple03"; //コメント
extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int RSI_Period = 14;
//変数の設定//
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 MACD_Main1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
double MACD_Sign1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
double MACD_Main2 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 2 );
double MACD_Sign2 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 2 );
double RSI1 = iRSI(NULL,0,RSI_Period,PRICE_CLOSE,1);
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( RSI1 >= 70.0
|| MACD_Main1 < MACD_Sign1
|| MathAbs(Close[1]-Open[1]) > 2.0*MathAbs(Open[2]-Close[2])
|| MathAbs(Close[1]-Open[1])< 0.25*MathAbs(Close[2]-Open[2])
&& (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( RSI1 <= 30.0
|| MACD_Main1 > MACD_Sign1
|| Close[1] >Open[1] && Close[2] >Open[2]
|| MathAbs(Open[1]-Close[1])> 2.0 * MathAbs(Open[2]-Close[2])
|| MathAbs(Close[1]-Open[1])< 0.25*MathAbs(Close[2]-Open[2])
&& (Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( RSI1 <= 30.0
&& MACD_Main1 > MACD_Sign1 && MACD_Main2 < MACD_Sign2
&& Close[1] > Open[1] && Close[2] > Open[2]
&& ( 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);
}
//売りエントリー
if( RSI1 >= 70.0
&& MACD_Main1 < MACD_Sign1 && MACD_Main2 > MACD_Sign2
&& Close[1] < Open[1] && Close[2] < Open[2]
&& ( 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);
}
return(0);
}
###
関連記事
-
-
FX トレード 2014/11/20
本日のトレードのご報告。 本日はデイトレの心づもりです。 ヒロセ通商の15分足のデータがおか
-
-
[FX] PRICE_MEDIAN を使う (2) 半値の概念
以前の記事「 PRICE_MEDIAN を使う 」 の続きです。 移動平均線、ADX、RSI
-
-
一戸建てがいいかマンションがいいか
* 私の実家は一戸建ての一軒家ですが、私が今住んでいるのはマンション(隣接した2室)。 防犯
-
-
米国株(個別株)の高配当株投資を再開しました
米国株の高配当株投資は ETF と投資信託でやっているところですが、「「年100回配当」投資術 /
-
-
[FX] こんな自動売買プログラムはどう?
Gogojungle というサイトで FX用の自動売買プログラムがいろいろ売られています。 す
-
-
【FX】東京仲値トレード
以前も試したのですが、東京仲値トレード という有名なトレード法があります。 仲値とは、その国の
-
-
[FX] 久々に書いた自動売買プログラム ysHAOMA01b.ex4
昨日の記事「EMA5-10-34_Signal というインジケーター」でちょっと触れた、久々
-
-
アメリカ株投資 2025-09-11
なぜか好調(?)なアメリカ株の現時点での保有状況がこちら。 項目は 銘柄名 株数
-
-
超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(4) さらに改良型
前回の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(3) 改良型」ですが、
-
-
[FX]前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動
以前の記事「前週の平均値と順張り&逆張り EA化(3) 半自動のススメ」でデモ口座で稼働させてい







