*

[FX] 久々の新作自動売買プログラム ys3MTFSto01a.ex4

公開日: : 最終更新日:2023/07/26 マネー

何ヶ月かぶりに自動売買プログラムを作ってみました。

最近ようやく「魔の7、8月」が終わりかけなのか、自動売買の調子が復活してきたからです。

トレンドフォロワー系が稼いでくれそうな気がします。

とりあえず思いついた手法を超手抜きで、書き上げてみました。

手抜きなので1時間足専用になっています。

プロトタイプでテキトーに作った(とくにエントリが甘々)のに、案外いい成績が出たのでしばらく走らせてみようと思います。

2021/6/1-2021/8/25 ドル円 1時間足 1万通貨

プロフィットファクター 4.81、勝率 50.00%(14勝14敗)、最大ドローダウン 0.39% なのでまあまあのレベル。

取引回数が少なく、2日に1回くらいの頻度ですが、これは 1時間足用のデイトレまたはスイングタイプを意図したので納得できます。

オージー円でもよさげです。

バックテストの期間が短いですが、私は 3ヶ月くらいがいいと考えています

期間があまり長いと、現在というかこれからの相場と関係の乏しいものにフィッティングさせてしまうからです。

1-3ヶ月くらいの検証期間で「最近」に合わせたパラメーターに変えたほうがいいと思うのです。

ということで、このプロトタイプ、できがいいのでちょっと改良してみましょうか。

プログラムソース

//
// ys3MTFSto01a.mq4
// 1時間足専用
//

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

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

extern int Fast_period = 8 ;
extern double margin = 0.0 ;

extern int Sto_period = 9;

extern int in_time = 6; // 取引開始時間
extern int out_time = 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;

extern double ILC = 4.0 ;

int start() {

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

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

double FastHH2 = Low[iHighest(NULL, 0, MODE_LOW, Fast_period, 2)];
double FastLL2 = High[iLowest(NULL, 0, MODE_HIGH, Fast_period, 2)];

double AC_diff = iAC(NULL,0,1) – iAC(NULL,0,2);
double AO_diff = iAO(NULL,0,1) – iAO(NULL,0,2);

double sk1 = iStochastic(NULL,60,Sto_period,3,3,MODE_SMA,0,0,1);
double sk2 = iStochastic(NULL,240,Sto_period,3,3,MODE_SMA,0,0,1);
double sk3 = iStochastic(NULL,1440,Sto_period,3,3,MODE_SMA,0,0,1);

//買いポジションのエグジット

OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( ( sk1 < 50.0 || OOPL – lc*Point >= Close[1] || Close[1] < FastLL2 – margin )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Pink);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット

OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ( sk1 > 50.0 || OOPS + lc*Point <= Close[1] || Close[1] > FastHH2 + margin )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Aqua);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( sk1 > 50.0 && sk2 > 50.0 && sk3 > 50.0 && AC_diff * AO_diff > 0
&& (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,Pink);
}

//売りエントリー
if( sk1 < 50.0 && sk2 < 50.0 && sk3 < 50.0 && AC_diff * AO_diff > 0
&& (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,Aqua);
}

return(0);
}

 

###

関連記事

FX最強チャート GMMAの真実 / 陳 満咲杜

FX最強チャート GMMAの真実陳 満咲杜 扶桑社 2012-06-29売り上げ

記事を読む

「5億円、年に1000万円使っても50年」・・・それ間違ってますよ(2)

以前の記事「「5億円、年に1000万円使っても50年」・・・それ間違ってますよ」の続きです。

記事を読む

2023-06-05 ポートフォリオ改変 スシローよ、さらば

ここ連日、日経平均が爆上げで 本日も勢いは衰えず。13:00 現在 32041円。 ありがとう

記事を読む

2024-11-12 米国株投資

アメリカ大統領選が終わって、年末までは上げ基調なのかなと思います。 楽天証券の私の口座ですが、

記事を読む

【FX】2023年11月 決算

「【FX】2023年11月第3週までの決算」の続きです。 今月の全口座の決算が出ました

記事を読む

【FX】London Box というプログラム

昨日作った Tokyo Box は東京時間でできたボックスの高値、低値をロンドン時間でブレイクするの

記事を読む

MTF Forex Freedom Bar の威力

前回は 15分足というのんびりモードですが、せっかちな人はもっと短い時間足をお使いでしょう。

記事を読む

【FX】Evening Scalper Pro

Evening Scalper Pro とはアメリカのとあるサイトから拾ってきた EA(自動売買プロ

記事を読む

[FX] 曜日属性

本日リアル口座で yasciiHA04c.ex4 を稼働し、放置していますが、ここまで勝ちがあり

記事を読む

[FX] 千里眼FX というシステム

山崎毅さんの「千里眼FX」というトレーディングシステムがあるようです。 結構高いです。

記事を読む

Comment

  1. 沼田芳彰 より:

    FX自動売買初心者で貴殿サイトのファンです。プログラムソースの開示ありがとうございます。私のパソコンで「動くプログラム」と「動かないプログラム」があり、当惑しています。たとえば下記は動きません。
    原因究明のためには、何を勉強すれば良いですか。

    ‘ys3MTFSto01a.mq4’

    ‘ys3MTFSto01a.mq4’ ys3MTFSto01a.mq4 1 1
    ‘“3MTFStochas”’ – undeclared identifier ys3MTFSto01a.mq4 12 27
    ‘“3MTFStochas”’ – constant expected ys3MTFSto01a.mq4 12 27
    ‘–’ – undeclared identifier ys3MTFSto01a.mq4 45 32
    ‘–’ – some operator expected ys3MTFSto01a.mq4 45 32
    ‘iAC’ – semicolon expected ys3MTFSto01a.mq4 45 34
    ‘–’ – some operator expected ys3MTFSto01a.mq4 46 32
    ‘iAO’ – semicolon expected ys3MTFSto01a.mq4 46 34
    ‘–’ – some operator expected ys3MTFSto01a.mq4 56 30
    ‘–’ – some operator expected ys3MTFSto01a.mq4 56 77
    ‘(‘ – unbalanced left parenthesis ys3MTFSto01a.mq4 56 3
    ‘)’ – unexpected token ys3MTFSto01a.mq4 56 86
    expression has no effect ys3MTFSto01a.mq4 56 79
    ‘&&’ – operand expected ys3MTFSto01a.mq4 57 1
    ‘)’ – unexpected token ys3MTFSto01a.mq4 57 39
    expression has no effect ys3MTFSto01a.mq4 57 20
    13 errors, 2 warnings 14 3

    • kotaro.yasuiwa@gmail.com より:

      ええと、‘“3MTFStochas”’ – undeclared identifier ys3MTFSto01a.mq4 ってことは・・・
      文法の解釈が広範囲で異なっているってことでしょうか。MT4 ならここは単なるコメントみたいな部分なので問題はないはずですけど。
      プログラムは MT4 じゃなくて MT5 をお使いではありませんか?

      • kotaro.yasuiwa@gmail.com より:

        こちら(↓)に答えがありました。ブログからコピーすると改行コードがおかしなことがありますね。
        https://onl.bz/y1EMM99

        • kotaro.yasuiwa@gmail.com より:

          ソースのコードも手直ししておきました。
          ブログ(Wordpress)上で編集すると改行がおかしくなる可能性がありますね。

          • kotaro.yasuiwa@gmail.com より:

            コンパイルできないと困るので、コンパイル済みの EA のダウンロードリンクをお教えします。
            > http://yiwasaki.com\fx\ys3MTFSto01a.ex4
            これは試作品なので、近々改良版を作ろうかなと思っていますが・・・

kotaro.yasuiwa@gmail.com へ返信する コメントをキャンセル

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

新宿中村屋 インドカリー ビーフスパイシー 200g×5箱入

中村屋 新宿中村屋 インドカリ

Windows11 どエラいエラー発覚

https://www.youtube.com/watch?v=7Tp

[FX] 新たな Tokyo Boxプログラム(2)

先日作製した Tokyo Boxプログラムは、少しずつ改良を加えていま

【FX】トレンドフォローの利確にシャンデリア エグジット

トレンドフォローの自動売買プログラム(EA)で、いつも困るのが利益確定

【FX】London Box というプログラム

昨日作った Tokyo Box は東京時間でできたボックスの高値、低値

→もっと見る

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