QQE を使った自動売買ソフト(2)
公開日:
:
最終更新日:2015/02/25
マネー
前回の記事「QQE を使った自動売買ソフト」でご紹介した、QQE という指標を使った EA(expert advisor)ですが、プログラムソースを載せます。
QQE_with_Alerts.ex4 というインディケーターが必要ですが、MetaTrader4 からダウンロードできます。
USDJPY 4時間足(2014/1/1-2015/1/1)の結果
パラメーターは SF = 4、LossCut = 20。
プロフィットファクター4.57(過去最高)。勝率 59.38%(過去最高)。最大ドローダウン 6.75%(過去最低=最良)。
ただ、売買回数が少ないです。11日に1回です。
そのため、資産は 3.2倍にしかなりません。^^
USDJPY 1時間足(2014/1/1-2015/1/1)の結果
パラメーターは SF = 5、LossCut = 40。
プロフィットファクター 2.26。勝率 50.00%。最大ドローダウン 8.59% と数字は悪くなりますが、売買回数は倍以上になります。
資産は 1.8倍どまり。なかなかうまくいきません。
いずれにしろトレンド相場でしか稼げないタイプです。
ちなみに時間足が短くなれば成績は悪化します。
関連記事
プログラムソース
//
// yasciiQQEcross01.mq4
// QQE_with_Alerts.ex4 が必要
//
//マジックナンバーの定義
#define MAGIC 42527
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = "QQE01"; //コメント
extern int SF = 5;
extern double LossCut = 40.0 ;
//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
double QQE_MAIN1 ;
double QQE_Signal1 ;
double QQE_MAIN2 ;
double QQE_Signal2 ;
int OS ;
int start()
{
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
QQE_MAIN1 = iCustom(NULL, 0, "Downloads\\QQE_with_Alerts" ," --- INDICATOR SETTINGS ---",SF," --- Alerts ---",50,true,true,"alert.wav",false ,0, 1 );
QQE_Signal1 = iCustom(NULL, 0, "Downloads\\QQE_with_Alerts" ," --- INDICATOR SETTINGS ---",SF," --- Alerts ---",50,true,true,"alert.wav",false ,1, 1 );
QQE_MAIN2 = iCustom(NULL, 0, "Downloads\\QQE_with_Alerts" ," --- INDICATOR SETTINGS ---",SF," --- Alerts ---",50,true,true,"alert.wav",false ,0, 2 );
QQE_Signal2 = iCustom(NULL, 0, "Downloads\\QQE_with_Alerts" ," --- INDICATOR SETTINGS ---",SF," --- Alerts ---",50,true,true,"alert.wav",false ,1, 2 );
double lc = LossCut;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;
//買いポジションのエグジット
OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);
if( ((QQE_MAIN1 < QQE_Signal1 && QQE_MAIN2 > QQE_Signal2) || ( OrderOpenPrice() - 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;}
}
//売りポジションのエグジット
OS = OrderSelect(Ticket_S, SELECT_BY_TICKET);
if( ((QQE_MAIN1 > QQE_Signal1 && QQE_MAIN2 < QQE_Signal2) ||( OrderOpenPrice() + 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( QQE_MAIN1 > QQE_Signal1 && QQE_MAIN2 < QQE_Signal2 && QQE_MAIN1 > 50.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( QQE_MAIN1 < QQE_Signal1 && QQE_MAIN2 > QQE_Signal2 && QQE_MAIN1 <= 50.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】 Exness 口座を大幅に変更
海外FX業者であるエクスネス(Exness)はいい業者だと思います。 スプレッドが狭い
-
-
金持ちワーカー、貧乏ワーカーのキャッシュ苦労クワドラント(素案)
* え~、「金持ちワーカー、貧乏ワーカーのキャッシュ苦労クワドラント」というものを提唱します。
-
-
平成6年に加入した定期生命保険
平成6年4月1日に加入した定期生命保険が今年4月1日に満期を迎えます。 据え置きしてもいいので
-
-
[FX] PRICE_MEDIAN を使う (2) 半値の概念
以前の記事「 PRICE_MEDIAN を使う 」 の続きです。 移動平均線、ADX、RSI
-
-
お金持ちになれる黄金の羽根の拾い方2015 知的人生設計のすすめ / 橘 玲
お金持ちになれる黄金の羽根の拾い方2015 知的人生設計のすすめ橘 玲 幻冬舎
-
-
【FX】2024年1月集計
運用中の FX 口座(14口座)の 2024年1月の集計ですが、この月から通常口座とテスト口座に分け
-
-
2023-05-31 ポートフォリオ改変
最近少し時間的に余裕ができたので、私が趣味でやっている投資分のポートフォリオの整理をしようかと思いま
-
-
【FX】TrendScalp という EA
昨夜は 夕食に食べすぎたのと 昼間の疲れで そのまま寝てしまい、ブログが書けませんでした。 本
-
-
【FX】Algo Plus という EA
昨日の記事「【FX】2024年1月集計」でちょっと紹介した Algo Plus という EA(MT4
- PREV
- QQE を使った自動売買ソフト
- NEXT
- Trend Intensity Index を使った EA










