mytimetoshine4_2

mytimetoshine4_2

mytimetoshine4の姉妹ブログを作りました。
MT4を使ったシステムトレードの記事です。
どうぞよろしく^^

Amebaでブログを始めよう!

先日ご紹介しました、乱数を使って売り買いをするEAなのですが、これもやはり

「通貨ペアごとに、最適な利益確定値幅と損切り値幅の組み合わせ」

というのはあるようです?!

 

色々な組み合わせがあってそれぞれに特徴があるのですが、数が多すぎますので、今回は

「GBPJPYの5分足」を使ったパターンで

「利食い値幅300pips台、損切り値幅100pips台のもので良さそうなもの」

をご紹介します。

 

この組み合わせにも多数あり、例えば

ほんのちょっと利食い値幅を変化させても20年~21年間の資産曲線の形がある程度変わる。

(複雑系におけるバタフライ効果)

 

※ 概ね上昇するにしても、途中の落ち込み方や凸凹の程度、最終的な利益の大きさが変わる。

 

ただし、この場合にも「いつ取引を開始するか?」はほとんど問題にならず。

いつ取引を開始しても、その「利食い値幅と損切り値幅の組み合わせ」であれば、最初の2か月~半年間は異なるが、結果的には全く同じ資産曲線に収束してしまう。

という性質があるようで、ここにはバタフライ効果は働かないようです?!^^

 

このEA、名前は TP_SL_MATHR×2 と名付けています^^

今回は受けを狙わず、真面目なものにしています。

 

サイコロを振る様子をC言語の乱数発生パターンMathRand()関数で近似しているのですが、この乱数発生パターンも「理想的な乱数」に近ければ近いほど良い成績になるようなんですね?!

 

発生した乱数が偶数ならば「買い!」、奇数ならば「売り!」と繰り返します。

 

※ 「爆益ではないが、20年で順当に利益を出す」などというと、機関投資家向けのようなEAであって短期決戦用とはいかないのですが、これはこれで「自然法則の探求」のイメージにも近く非常に興味深いものですよね?!w

 

では早速ですが、いろいろなパターンとその印象を・・・・

 

 

 

 

「右肩上がりの資産曲線」と言っても無数にあるので「どれを採用しようかな?」と迷ってしまいますよね?!

それぞれに特徴があるようです。

バックテストで良好なものだけでなく、最近に騰勢を強めている感じの物も取り上げました。

 

 

 

 

 

 

 

 

 

 

この一番上のタイプや2番目のタイプが理想的なような気もするのですけれど・・・

どうなんでしょうかね??

↓↓↓

 

 

 

 

 

 

 

 

 

 

サイコロEAやコロコロEAについて、あまり楽観的になり過ぎず、少し丁寧に「なぜこれが利益になるのか?」を考えてみたいと思います。

 

これに根拠がないとなると「そもそもMT4によるストラテジテスタに何ら意味がない」という事になりますから、この辺はやや重要な問題だろうと思います?!

 

といっても複雑系であるところの人間が、これまた複雑に絡み合う市場の振る舞いには「確かな根拠」だとか「なぜそのように動くのか?」の理由がキチンと付けられないのですよね?!

その理由付けが決定論的、あるいは単純系の確率論でキチンと説明できる場合、それはもう複雑系ではなくなりますんで、そういう時代も来るとは思いますが、あとまだ2000年はかかるでしょうか?!^^;

 

 

 

■■ それはさておきまして「なぜこれで利益が出るのか?」を考えるのに「最も単純なコロコロEA」のパターンを使って検証してみたいと思います。

 

「売り⇒買い⇒売り⇒買い⇒・・・・を単純に連続的に繰り返す」

「利食い値幅と損切り値幅は同一とする」

これだけのルールです。

 

これまでは利食い値幅を200pips、損切り値幅を100pipsのように変化させて考えましたが、今回はこれを同じ値幅にして検証してみます(勝率50%の世界)

 

普通に考えれば、中学・高校で習った確率論の通りに

「最初の何回かは勝ちばかり、あるいは負けばかり、となる事はあるが、回数を増やしていくと必ず勝ちと負けの数が同じになる」

という自然界の法則に従うはずなんですね^^

 

※ これが成立しないとなると、数学の教科書を書き換えてもらわないといけなくなる^^;

 

 

 

このグラフはGBPJPYの5分足の取引で、利食い値幅と損切り値幅を20pipsから300pipsまで2pips単位で変化させたものです。

上下方向に総資産をとり(真ん中のラインは20年後の総資産が±0のライン)、左の20pipsのケースから初めて、右方向に300pipsのケースまでズラッと並んでいます。

 

 

20年間の取引なので、利食いと損切りを20pipsのように小さくとると、取引回数が膨大になりスプレッド分の損失が厳しいものになりますね^^;

取引回数が90000回だと、90000×スプレッド1pips = 90000pips と結構なものに。

ですから、この手の単純すぎる取引を行う場合には、利食いと損切りを100pips以下にすると上の図のように20年間では利益が出なくなります。

 

利食いと損切りを100pips~300pipsに設定すれば、20年間で6000回くらいの取引を行っても総資産がプラスになるケースもあれば、マイナスになるケースもあるのですが、よほど高レバレッジで取引しない限りは破産することは無いですね?!

平均すればほぼ±0の位置をウロウロすることになる。

 

※ チャートを見ていて、「ここは買いだ!」と高レバレッジで臨むのは大儲けの可能性もあるが、大損する可能性もある。

「長~く投資をしていたい場合には、自分で判断を下さず、売りと買いを交互に繰り返し、利食いと損切りを同じ値幅で100pips以上にしておけばよい」

のような意味になるのですけれど・・・・

 

「それじゃあ儲からないじゃん!」

と言われてしまいますんで、もう少し考えてみます。

 

 

 

■■ ↑上の図の中の点①のように、利食い値幅と損切り値幅を同一の200pipsにし、売り⇒買い⇒売り⇒・・・と単純に繰り返すと、スプレッド分の損は出すが、20年間では資産曲線は上に行ったり下に行ったりを繰り返し、ほぼ±0の位置に収束するのです。

 

ところが、これを利食い値幅と損切り値幅を198pipsに設定すると、20年間では14000pips程の利益になる。

利食い値幅と損切り値幅をわずかに2pips変えただけで天と地の差が出てくる。

 

※ これがいわゆる複雑系のバタフライ効果というものでしょうけれど、一つ一つの取引における差異は微小でも、20年で総計してみると大きな差になっている。

ですんで、この手の取引にはPCによる正確な自動売買が基本になると思いますよね?!

裁量で「今日は取引は止めておこう、今日は利食いを100pipsにしてしまおう^^」などとやっていると、シミュレーション通りにいかなくなる。

 

 

さて、これが上の図の中の点の資産曲線の様子です。

利食いと損切りを200pipsに設定したケース。

20年間2219回の取引では利益になる時期があったり、損失になる時期があったり。

で最終的にはだいたいスプレッド分の損失を出して終わっている。

 

 

 

一見して「儲かるのか?」「儲からないのか?」が分からないEAなのですが、

ここで、赤い四角で囲った約4ヶ月間だけを切り出してみてみると、

 

こんな感じに、恐ろしく儲かるEAになってるんですよね^^

うまくこれに乗れた場合には短期間で荒稼ぎできるでしょう?!

(すぐに逃げないといけないが)

 

 

 

これが上の図の中の点の資産曲線の様子です。

①の場合とは利食いと損切りをわずかに2pips変えて198pipsにしただけ。

20年間で17000pips程の利益にはなってますが、ドローダウン(落ち込み)が大きめで、最近下落基調なので、直近でこれを使う気にはなれませんよね?!

 

 

 

 

上の図のも見てみますと・・・・

利食いと損切りをわずかに6pips変えただけ、194pipsとしたものです。

 

 

これも大きな波があって長期安定型のEAにする気はないのですけれど、

赤い四角で囲った3年半のみを切り出してみると・・・・

 

こんな感じにほぼ上昇基調なんですよね?!

(ただ取引回数が322回と少なめなので、これ以外の期間で優秀である保証はない)

 

 

 

 

■■ ただ救いなのは、

利食い値幅と損切り値幅をわずか2pips変化させただけで20年後の結果に大きな差が出てしまうにもかかわらず、

取引の開始時期をずらしても、結果に変化がないという点でしょうか?!

(この点はバタフライ効果が無く、普遍性に支配されているようです?!)

 

「どういうことか?」というと、

相場は絶えず変化していますから、この図のように下落基調の時期に売りで入ると利益になるのですが、上昇基調に変化した時期に売りで入ると損失になってしまいます。

 

「投資を開始する時期が重要で、これがズレると結果に大きな差が出てしまうのではないか?」

という点なのですが、これは不思議な事に、投資開始時期によってしばらくは異なる資産曲線になるのですが、ほどなくして全く同じ資産曲線になってしまいます。

(取引を繰り返している間に差異が吸収されてしまうようだ?!)

 

 

 

 

↑上の3年半のまあまあのEAも、取引開始時期を1ヶ月ずらして2/1に取引を開始してみると

最初の20日間は売り買いの位置がズレて資産曲線が異なるのですが、すぐに1/1取引開始の物と同じものになる。

 

 

2か月ずらしてみると、7ヶ月間は1/1取引開始のものと売り買いの様子が異なるのですが、その後は全く同じ取引になってしまう。

 

 

 

 

■■■■ と、以上が「利食い値幅と損切り値幅を同一にした場合」の話でした^^

 

この値幅が同一の場合には「20年間で資産曲線がほぼ上昇基調になる」というケースは存在しませんでした。

やはり利食い値幅と損切り値幅はいろいろに変化させて調べてみた方が良さそうである?!

 

 

そこでまずは、損切り値幅を小さめの50pipsに固定し、利益確定値幅の方を50pipsから300pipsの範囲で変化させてみます。

損切り値幅を50pipsにすると損ばかりですね、これは却下した方が良さそうだ?!

 

 

次に、損切り値幅を75pipsに固定し、利益確定値幅の方を50pipsから300pipsの範囲で変化させてみます。

損切りを少し大きくして75pipsとすると、20年で利益になりそうな利確値幅もいくつも登場します。

 

 

次に、損切り値幅を100pipsに固定し、利益確定値幅の方を50pipsから300pipsの範囲で変化させてみます。

 

損切りを更に大きくして100pipsとすると、ある利確値幅の価格帯域に、20年で大きめの利益を出す部分が鮮明に現れました^^

この価格帯域を選ぶと、損失にもならず、±0付近をウロウロする事も無く利益を出すようですね?!^^

 

実際の資産曲線は↓こんな感じ。

 

 

 

 

 

 

■■■ このコロコロEAについても更に突っ込んで研究してみる必要はありそうです?!

 

ポイントとしては:

これは確率に掛けるゲームですんで、目先の数回程度の取引で「勝った!」「負けた!」などと気にせず、20年を通して2500回くらいの取引をした後に、どのような結果になっているのか?が重要ですので、そこは重々よろしくお願いいたします^^

 

20年間ではプラスでも、1年ごとを取り出してみると⇒

「大きく利益をあげた年」

「まあまあの年」

「損失になった年」

とあり、それを20年足し合わせてプラスになっている、という意味です^^

機関投資家向けのEAのような感じですか?^^;

 

 

※ 短期間で爆益をあげるEAを作らないといけないのですが、これが難しくて^^;

もちろん、↑上の方で紹介したサイコロEAやコロコロEAの、ある小区間(数ヶ月~3年程度)で爆益をあげるタイプを探るのでもいいのですが、そういうEAの場合にはいつ何時下落基調に入るか分かりませんから、そこがアレですよね・・・??

 

 

 

 

 

 

 

 

 

 

 

先日ご紹介しました「サイコロを使って投資を行うサイコロEA」を更に単純化してみました。

※ あくまで、私の場合は「自分の興味」からいろいろ研究し始めているので、商業目的ではありませんのでよろしくどうぞ^^;
既にプログラムも公開してありますんで、興味のある方はいろいろに応用して研究してみてほしいわけです?!

 

※ 「なぜこのようなものが利益を生むのか?」といろいろ考えてはいるのですが、いわゆる単純系で考えても意味が分からない。
複雑系の作り出すカオス(有界かつ非周期的な運動)に起因すると思いますが、今後の研究に委ねるしか手はないようです?!

 

相場は売り方と買い方が提示する価格のマッチング、その非平衡状態が平衡状態を求めて絶えずゆらいでいます。
ここには投機筋もいれば機関投資家もいれば個人投資家・・・もいて、この多種多様な人々のそれぞれの思惑はかなり複雑な様相を呈しているのだが、この価格のマッチングという原理は単純明快です。

このゆらぎをうまく掬い取るような仕方で利益を紡いでいるのだとは思いますが・・・・

取引通貨ペアごとにベストな利食い価格と損切り価格というものがあるようで、ここに焦点を当てた取引手法という事になりますか?!

 

単に「利食い値幅>損切り値幅」と大雑把に考えても無理があるようで、その取引通貨ペアが持っているゆらぎのパターン(癖)のようなものに合わせないと意味がないようですね?!
これは人間の脳で考えていても無理があるようなので、やはり過去の膨大なヒストリカルデータ(Alpari等)とPCを使って、そのベストな組み合わせを探ってやるしか手はないようです?!
(もしかしてベテラン投資家には↑この大雑把な値幅の組み合わせは見えているのかもですが?普通の人では無理だろう)

 


■■ 今回はサイコロも使わず、単に
「売り⇒買い⇒売り⇒買い⇒・・・」
と繰り返すのみの投資を考えてみました。
ただし、利食い値幅と損切り値幅はあらかじめ決めておき、その金額に達したら即座に決済するというルールは守ります。
ただ単に売りと買いを繰り返すだけなので「コロコロEA」とでも呼んでおきます。

色々と実験してみたのですが、通貨ペアごとに「ベストな利食いと損切り価格」というのはあるようでして、GBPJPYでは以下の組み合わせが相性がいいようですね?!

※ 注意:『絶対にこれです!』と断言しているわけではありませんので、皆さんもご自分で独自にプログラムを作り試してもらえば良いかと思います?!

※ 使用するチャートはGBPJPYの5分足です。
つまり5分足が始まったと同時に「売りもしくは買い」を行うEAです。

使用するチャートはAlpariのヒストリカルデータです。

 

※ 注意点としては、テスターで5分足の始値のみでテストする分にはいいのですが、

これを違う足(例えば日足)でテストする場合には「全ティック」を使わないとデタラメな結果になってしまいますんで要注意です(5分足の始値で取引するEAは最初から5分足でテストすればほぼ問題は無し)


こんな感じに、大きな落ち込み(ドローダウン)もあまりなく、20年間資産曲線が右肩上がりになっています。
単純に「売り⇒買い⇒売り⇒買い⇒・・・」と、時間差を置かずに繰り返すのみです。
EAでこういうパターンは珍しいんですよね・・・・

 

で、普通ここで疑問に思う点は最初の「売り」を作るタイミングですよね?!
↓↓この①ように、相場が下落基調の時に売りを作れば勝てますが、②のように上昇基調では負けてしまう。

ですから「どのタイミングで投資を開始するのか?」は結構重要な問題だと思うのですね?!

 

しかしながら、このような20年に渡るEAを考えるときには、その問題は些末すぎてどうでも良いようなんですね?!
多少時期がズレようが、20年間の2000~2500回の投資の中で平均化されてしまうようです^^

これは投資タイミングを半年遅らせたものです。
資産曲線の形はほぼ同じですから、時期がズレたからといって特に問題はないようです?!
↓↓

 

 

これは1年遡って1999年1月から投資を始めた場合の資産曲線です。
時期が1年ズレても資産曲線は同じようなものです。
↓↓

 

※ 25000pips という利益は、20年間「単純に売りと買いを繰り返しているだけ」で投資金の57000円が「単利で」250万円の利益を生むという意味ですから、馬鹿には出来ませんよね、研究の余地はあると思われる?!
「複利」にするとどうなるか?は天文学的数字になり過ぎてここでは言及しません^^;

2000年6月1日に取引を始めた場合の3か月間の具体的な売り買いの様子。

 

 

 

 

 

■■ ここで「先週に起こったポンド円での窓開け急上昇で、このEAがどうなったか?」を見てみますと・・・
2019年のポンド円の動きの中では↓↓こんな感じの上昇になってます。
コロコロEAの売りと買いの様子も併せてどうぞ^^

 

1年を通してみると、先週の急上昇もそれ程の異常イベントでもなく、大きな流れの中のひとコマのようになってますよね?!
コロコロEAは今回は運よく買いで取ってますが、ここで運悪く負けても、他で勝つので問題はないのです^^
20年を通してみるEAなので、近視眼的な1回2回の勝ち負けはどうでも良いと思われます?!

 

 

 

 

 

■■ 以上のコロコロEAは「サイコロも使わず、20年間単純に売りと買いを繰り返しているだけ」なのですが、
一方でサイコロ(乱数)を使うサイコロEAの方では、C言語の乱数発生パターンをいろいろ工夫してやりますと、資産曲線がより滑らかになり(凸凹が少ない)、利益率も伸びる事もあるようです?!

20年のEAにしては、かなり滑らかで利益率も伸びています^^
リーマンショックだろうが不況だろうが我関せずといった雰囲気。

 

今後に工夫するとすると、この乱数の発生パターンの研究でしょうかね??
色々な数列が考えられるのですが・・・ちょっと素数の並びのパターンを取り入れてみようかな?と思っている所です?!

ただ、私の場合には20年に渡るEAばかりを考えているわけにもいかず、近視眼的な目先の仕事もやらなあきませんので、サイコロEAについてはボチボチ進めます^^;

 

 

 

■■■ ここで気になるのが

「コロコロEAで、オープンポジションは売りと買いを交互に繰り返すとして、損切り値幅はあらかじめ決めておき、利食い値幅を『トレイリングストップ』にしたらどうなるか?」

「利益が伸びるんじゃないか?」

という点なのですが・・・・

 

おそらく、そのような余分な条件を付与するとなると⇒

「大きなトレンドが出ている時にはトレイリングストップを設定」

「レンジ相場では小さめの損切りとレンジ内の利食い」

のような条件分けが必要になり、しかも相場は生き物でトレンドといっても一つとして同じものが無く様々なので、

 

2~3年位の短期間だと高い利益率を誇るEAになる可能性はあるのですが、その時期を外れるとまるで真逆に損失ばかりを繰り返すEAになる可能性が大^^;

(そういうもののようです)

 

※ 一応実験はしてみますが、あまり期待は出来なそう?!

 

ですんで、20年に渡って爆益ではないけれどそこそこの安定した利益を狙う場合には、余分な条件は付与せず、単純に売りと買いを繰り返すパターンが最良だろうと思われます?!

 

※ コロコロEAでなく、サイコロEAの方の「乱数発生パターン」は、ただ単純が最良でもなさそうで、不可思議な点も多いです?!

 

 

 

たまには「現実的な実現可能性のある夢の話」も語っておかないと、何のために苦労してMT4でEAを作ってるのか?が分かりませんよね?!

苦労だけして極貧では、誰も努力しなくなりますからね^^;

 

とかく「金儲けなんて考えやがって、面白くないもん!」などと言われる事もあるのですけれど、そう主張している人の中には、もちろん不遇な人もいるのですけれど、逆にご自分はシンガポールあたりに裏金ガッポガッポでウハウハ生活をされている人までもが、そうなんですよね^^;

 

どうも、自分が裏金で潤う事は善、他人がちょっとでも金儲けの話をしていると「面白くない!」という気持ちになるようです、困ったもんだね?w

 

「多少は他人にも分配する気持ちにならないとな?^^;」

「そうだよねー」

 

まあしかし、いつまでも格差社会で不遇なままいても精神的に滅入って何か新しい事をやろうという気にもなれず、このまま国全体が傾きそうですんで、この現状を脱却して行く何かという意味でも、少し現実化しそうな夢の話もしておかないと^^;;

 

「宝くじだけでは未来はないしね」

「そうそう、私の両親は宝くじというと毎回買っていたが、当たったためしは無く旅立ってしまった」

「あそうなんだ^^;」

 

 

相変わらず前置きは長くなりましたが、具体的にはEAによる資産曲線と利益の計算の話です。

(あくまで具体的な現状打破論です)

 

これが私の中では、最近の3ヶ月間では良さそうなEAです。

「BB_ATR_7」と名付けています。

↓↓↓

 

「儲けすぎおま4号」や「爆益おま2号」では、受け狙いとしては良いが、やや疑念を抱かれるケースもあるようなので、やや堅めの名前としました(名前だけ受け狙いで内容は真面目なんですけどねw)

 

※ このEAはプログラムは公開できませんが、特に難しいものではなく、ごく簡単な指標を2つ組み合させてあるだけです。

(似たような資産曲線のEAについてはご自分で作ってくださいね^^)

 

 

このEAを1ヶ月ごとに丁寧にパラメーターを見直して、今後1年位使った時に、これがうまく機能してくれた場合の投資金のシミュレーション計算をしてみました^^

(月に何とか580pips稼いでくれた場合の話です)

 

 

■■ まずは、大きな失敗もなく理想的にうまく行ってくれた場合:

 

実用的な範囲でレバ200倍とすると、ポンド円は1万通貨単位が7000円換算です。

年間を通して1万通貨単位のまま運用していると、年70万の利益を生むという事。

 

「途中でポジションを増やしてくといくらになるのか?」ですが、

増えた分をすべて再投資に振り向けた場合・・・・

 

1ヶ月経過して運よく資金が7000+58000=65000円になったとすると

(月に580pips)

次の月には9万通貨単位の取引になる。

 

2か月経過して運が良ければ資金は65000+522000=587、000円

ここで83万通貨単位の取引になる。

 

3か月経過して運が良ければ資金は587000+4814000=5、401、000円

ここで771万通貨単位の取引になる。

 

4か月経過して運が良ければ資金は5401000+44718000=50、119、000円

ここで7160万通貨単位の取引になる。

 

5か月経過して運が良ければ資金は50119000+415280000=465399000円

ここで66485万通貨単位の取引になる。

 

6か月経過して運が良ければ資金は465399000+3856130000=4、321、529、000円


あくまで、スンナリうまく行けばの話です。


※ 過去に似たような実績のあるあの人の証言などをYouTubeで伺うと、
 「稼いだお金はただの数字だと思わないといけません、お金だと思うと腰が引けて投資できなくなります」
という事らしいです?!

 


■■ 「理想的に半年間、大きく負け続けないで順調に行った場合はそうなのだろうけれど・・」
「じゃあもう少しリスクについて細かく見ておこうよ^^」

 

「最初の投資金7000円が65000円に増えた時に、次の月からいきなり9万通貨単位に増やさず、
増えた投資金の4分の1の投資金をレバレッジ200倍で運用するという事にしよう。」

 

取引通貨数を増やした直後に連敗しないとも限らないからな^^;」
「ある程度利益が出た所で連敗してもいいんだけど、直後ではまずいからね?!」

 

「このEAは10連勝しているけど、逆に7連敗もしているよね?」
「細かく負けているので、7連敗の時に150pipsやられている。」
「10連勝の時は282pips稼いでいた。」
「なるほど、それでトータルではプラスなわけか?」
「そうそう」

 

「ということは、ほぼ資金の全額をレバ200倍で投資した直後に7連敗されるとまずいよね?^^;」
「だよね、だから資金に余裕を持たせて4分の1をレバ200倍で投資しよう」
「なるほど実質レバ50倍やね?」

 

「それならば、投資した直後にいきなり7連敗というのを連続1.5回、つまりいきなり10連敗程度くらっても耐えられるわけか?」
「そうそう」

 

これでいきますと・・・・

最初の投資金は7、000円。

1ヶ月経過して運よく資金が7、000+58、000=65、000円になったとすると
(月に580pips)
次の月は、16、250円をレバ200倍で運用するので、2万3000通貨単位の取引になる。

 

2ヶ月経過して運よく資金が65、000+133、400=198、400円になったとすると
(月に580pips)
次の月は、49、600円をレバ200倍で運用するので、7万通貨単位の取引になる。

 

3ヶ月経過して運よく資金が198、400+406、000=604、400円になったとすると
(月に580pips)
次の月は、151、100円をレバ200倍で運用するので、21万通貨単位の取引になる。

 

4ヶ月経過して運よく資金が604、400+1、218、000=1、822、400円になったとすると
(月に580pips)
次の月は、455、600円をレバ200倍で運用するので、65万通貨単位の取引になる。

 

5ヶ月経過して運よく資金が1、822、400+3、770、000=5、592、400円になったとすると
(月に580pips)
次の月は、1、398、100円をレバ200倍で運用するので、199万通貨単位の取引になる。

 

6ヶ月経過して運よく資金が5、592、400+11、542、000=17、134、400円になったとすると
(月に580pips)
次の月は、4、283、600円をレバ200倍で運用するので、611万通貨単位の取引になる。

 

7ヶ月経過して運よく資金が17、134、400+35、438、000=52、574、400円になったとすると
(月に580pips)
次の月は、13、143、100円をレバ200倍で運用するので、1、877万通貨単位の取引になる。

 

8ヶ月経過して運よく資金が52、574、400+108、866、000=161、440、400円になったとすると
(月に580pips)
次の月は、40、360、100円をレバ200倍で運用するので、5、765万通貨単位の取引になる。

 

9ヶ月経過して運よく資金が161、440、400+334、370、000=495、810、400円になったとすると
(月に580pips)
次の月は、123、952、600円をレバ200倍で運用するので、17、707万通貨単位の取引になる。

 

10ヶ月経過して運よく資金が495、810、400+1、027、006、000=1、522、816、400円になったとすると
(月に580pips)
次の月は、380、704、100円をレバ200倍で運用するので、54、386万通貨単位の取引になる。

 

11ヶ月経過して運よく資金が1、522、816、400+3、154、388、000=4、677、204、400円になったとすると・・・・

 

「同じ金額を稼ぐのに、安全策で行くと11ヶ月かかるわけか?^^;」
「投資直後に10連敗くらっても耐えられるようにだね」

 

「しかし、そもそも10連敗も食らうEAは使えないでしょ?w」
「10連敗を食らってもいいんだけど、レバ50倍の場合には、せいぜい-200pips以内にしてくれないとな・・・」

「-190pips~-200pips負けると、だいたい2か月前に逆戻りか?」

「その位の負けなら2か月前からやり直せる」

 

「連敗ではなくて、勝ち⇒負け⇒勝ち⇒勝ち⇒負け のような負け方なら問題ないんでしょ?」
「まるで問題はないです^^」

 

「なるほど、あとは月に580pips稼いでくれるEAを保守点検を怠らないようにして運用すればいいわけか?!」
「有り得ないような話でもないでしょ?」

 

「うんうん、格差社会にあえいでいる特に若者諸氏にも、このMT4を使って明るい未来が見えてきそうだね?^^」

「私も早く現状打破したいです^^」

「そりゃそうやろw」

 

「もっと早くからMT4に集中しとけば良かったのに??」

「ん~いろいろと難しい問題があって、やっと7年ぶりにやる気になった次第」

 

「周囲にこの手の取引ツールを好む人の存在だとか、情報がもっとあると良かったよね?」

「そうだねー投資の世界もファンダメンタルを詳しく語る人は多いんだけど、自動売買を推奨している人はごく少ない・・・」

 

「ファンダメンタルに詳しくなっておくと会話のネタには苦労しないのだけども、実際の投資となると別物やろ?^^;」

「投資が確率に掛けるゲームだとすると、ファンダを追ってるとその確率の部分が見えなくなし日々の浮き沈みに巻き込まれちゃう」

 

「これなんか、不況も暴落も我関せずで20年間ほぼ一直線だよね?」

「そうなんだよね、それが理想だろう?」

「要は『確率に目覚めなさい』という意味か?」

 

サイコロEAをいろいろと調べているのですが、移動平均線やボリンジャーバンド等の指標と単純に組み合わせてもあまり意味がないようです?!

いろいろな指標を使わず、サイコロ(乱数)のみの取引に徹した方が利益率が伸びます。

 

この時に、例えばある利食い値幅と損切り値幅を決めたとしますと、あとはサイコロ(運)任せになるわけですが、当然に運の良い人と悪い人では成績に差が出てまいります。

 

要するにC言語プログラムで乱数を発生させても、その発生パターンはいろいろあるわけですから、すべてが良い結果となるわけではありません?!

 

※ ですから、やり方としては⇒

 

1.プログラムを作った時に乱数の発生のためのプログラムは1つに固定し、その後にいじらない。

ヒストリカルデータは信頼のおけるものを使用する。

(例えば私のプログラムだと最安値の足の位置がずれない程度で良いと思いますが)

 

2.2000年~2015年(15年間)位のバックテストでパラメーターを選び、

それをもってフォワートテスト2016~2019年をやってみて、大きく崩れないものを使う。

 

これならかなり勝率は上がるかと思います^^

 

※ サイコロEAは比較的に真っ直ぐな資産曲線を作る場合が多いので、やり易いと思います。

 

 

参考のために、良い成績の「利食い値幅と損切り値幅の組み合わせ」をいくつか選び出しまして、その値幅を固定して、乱数の発生パターンの方をいろいろに変化させた場合にどのような結果になるか?を調べてみました。

 

乱数の発生パターンというのは、いわゆる「運気」ですから、いろいろな運気の人が同じ「利食い値幅と損切り値幅の組み合わせ」で挑戦した時に、どの程度に成功するか?しないか?を調べたわけですね。

 

※ なるべく大勢が成功する「利食い値幅と損切り値幅の組み合わせ」を選択した方がうまく行く確率も増えるだろうという考えです^^

 

「利益率の高いり利食い値幅と損切り値幅の組み合わせ」といってもかなりの数になりますから、全部のパターンは調べられないのですが、いくつかについて見てみました。

 

 

まずはこれなのですが。

20年間ほぼ上昇基調で来て、最近やや騰勢を強めています。

信頼感はありそうですよね?!

純益も29094pipsなので悪くはなさそうですね。

 

日本の取引業者さんだとポンド円を1万通貨単位取引するには57000円くらい必要ですが、それが20年間で290万円の利益を生む(あくまでこの資産曲線にうまく乗った場合の計算ですが)

 

運の良い人はそうなるのですが、問題は運が悪い人はどうなるか?ですよね・・・・

そこで、いろいろな運気を持った人100人で調査してみました。

 

↓1つの点が1人を表しています。

真ん中の白ラインは資産がプラスマイナス0のラインです。

 

すべての人が異なる運気を持っているという前提です。

(すべての人が違う乱数発生パターンを使うという前提)

 

見た感じ、大半の人が成功していますね?! (9人ほどが運悪く損失を出しています)

結構高い利益をたたき出している人も複数いますから、最近の騰勢を考えてもこれがベストのように感じますよね??

 

※ 20年間で、あるEAにおけるこのような点の分布は結構貴重なんですよね^^

 

※ ただ、より高い利益を出したい場合には、15年位のバックテストと5年間のフォワードテストで良い乱数発生パターンを選び出した方が良いですよね?!

(この例だと プログラムの中のtが t=62 なので、seedの値を2本前から64本前の足の中で最安値のある足の番号になるようにしています)

 

 

 

次が、20年間の利益は良いのですが最近ややしょぼくなっているパターンです。

また上がり始めてはいますけども・・・

「57000円が20年間で323万円の利益を生むのか・・・#^^#」

とニンマリしつつ上と同じ調査をしてみます。

 

 

 

この場合も、損失を出している人は少ないですね?!

(やはり9人が運悪く損をしているが)

 

 

※ これも15年位のバックテストと5年間のフォワードテストで良い乱数発生パターンを選び出せば成功確率も高まりますよね?!^^

 

 

 

次は取引回数が多いパターンです。

20年で4820回の取引をしてますが、最近に騰勢が強めです。

 

 

 

これも大半の人は成功していますが、約11人が運悪く損失になってます。

ただ、最近の騰勢を考えると「運気(乱数発生パターン)」をバックテストとフォワードテストで良い物を選べば、ほぼ失敗する感じはしませんよね?!

 

 

 

 

 

これは、見た目で最も信頼感のありそうな資産曲線。

20年間それほど崩れずに真っ直ぐに伸びています。

利益率も高い。

 

※ これも乱数発生パターンを t=88 としている場合にこのような資産曲線になるという意味。

 

ただ、他の乱数発生パターンにすると、やや運の悪い人が出やすいようですね?!

バックテストとフォワードテストで良い乱数発生パターンを選ぶしかないでしょうか??

100人中29人が損失になってる。

 

 

 

 

補足:

 

このサイコロEAにトレイリングストップを付けてみました^^

「始めに利益確定値幅と損切り値幅を設定しておくのはいいのですが、仮に利が乗りそのままポジション方向に相場が動いている時には、トレイリングストップの方が良いのではないかな?」

という考え方です。

 

結果的には「まるでうまく行きません」でした^^;

トレイリングストップなど付けますと、逆に純利益が伸びなくなり、しかも投資回数が激減しますから、このEAの普遍性に疑問が出てしまいます?!

 

例えばこれですが、バックテストで一番良い形の資産曲線で、フォワードテストもなかなか良いものです。

トレイリングストップにしたので総取引数は激減してます。

 

ただ、これはまぐれっぽいですね?!

総取引数が少ないと、どうしてもこのような例が出てきてしまいます。

 

 

試しに乱数発生パターンを100通りで調べてみると、案の定、利益を出す点に対して、損失になる点の数が多すぎますね^^;

 

 

 

 

トレイリングストップを付けると、20年の資産曲線はどうしてもこのようにギザギザになってきます。

ただ次第に上昇していますので、試しにこれでも乱数発生パターンを100通りに変えてみます。

 

 

 

これも利益の出ている点に対して損失を出している点の数が多すぎ、投資不適格ですね?!

 

 

 

トレイリングストップを付けると、20年の資産曲線ではこんな感じになってしまうのが一般的でして、

これはもう投資する気になりませんので、ここまででおしまいです。

 

 

 

 

ということで、ここでも結論は・・・・

 

「20年などの長期間に渡りサイコロEAを使い、ほったらかし投資をすると、他の指標を使うよりも純利益が大きくなり資産曲線も真っ直ぐ上昇しやすい。」

 

「サイコロEAにトレイリングストップや、移動平均線やボリンジャーバンド等の指標を組み合わせると、逆に純利益がガクンと落ち、資産曲線がグニャグニャと曲がり出してしまう。」

 

「20年などの長期間では、適切な利確値幅と損切り値幅を設定後は、サイコロEA(乱数)のみに任せるのが良い。」

 

「その時の乱数発生パターンは、15年位のバックテストと5年間のフォワードテストで良い物を選ぶ必要あり。サイコロEAの場合には、フォワードテストしても素直に上昇するものが多い。」

 

という事の様です^^

(今の所はですが)

 

 

実はこれが今現在私が使っているEAの最適化点グラフなのですが、3ヶ月という短期間の最適化を行っているので、このように資産がプラス圏の上の方に位置する点が大半なんですよね?!

 

これを仮に20年で最適化しようとしたら、いきなり利益率がガクンと落ちると思います?!^^;

ひとつのEAがパラメーターを変更せずに20年間プラスを維持するというのは大変なんですよね。

 

※ 厳密にはすべてのパラメーターが実数値をとりません。

 

 

試しに、この現在短期決戦用に使用しているEAですが、20年でバックテストしてみました。

パラメーターの中でも成績の良い例です。

20年間で最適化すると利益率は落ちるが、まあまあ右肩上がりを維持してますか?!

 

 

パラメーターをいじると、資産曲線はこの位には滑らかになるのですが、20年間で最適化すると純利益がサイコロの3分の1になってしまいました。

 

ほったらかし投資の場合には、サイコロ恐るべし・・・・

 

 

 

BB_ATR_7 の最近3か月のバックテスト+フォワードテスト

 

 

実用的な範囲でレバ200倍とすると、ポンド円は1万通貨単位が7000円換算です。

うまくいくとこれが年間70万の利益を生むという事か・・・・

 

途中でポジションを増やしてくといくらになるのかな?

1ヶ月経過して運よく資金が7000+58000=65000円になったとすると

(月に580pips)

次の月には9万通貨単位の取引になる。

 

2か月経過して運が良ければ資金は65000+522000=587、000円

ここで83万通貨単位の取引になる。

 

3か月経過して運が良ければ資金は587000+4814000=5、401、000円

ここで771万通貨単位の取引になる。

 

4か月経過して運が良ければ資金は5401000+44718000=50、119、000円

ここで7160万通貨単位の取引になる。

 

5か月経過して運が良ければ資金は50119000+415280000=465399000円

ここで66485万通貨単位の取引になる。

 

6か月経過して運が良ければ資金は465399000+3856130000=4、321、529、000円

いきなりブログが重くて打てなくなりましたが・・・
まそんな感じです。
あくまで、スンナリうまく行けばの話ですよ??w

 

※ 過去に似たような実績のあるあの人の証言などをYouTubeで伺うと、
「稼いだお金はただの数字だと思わないといけません、お金だと思うと腰が引けて投資できなくなります」
という事らしいです?!

腰が引け、足がガタガタ来るほど稼いでみたいものですね?!^^;


MT4というのはそういう目的のものだものね?!

リスクを抑える(キチンとストップロスを実行する)という意味でも貴重なツールですよね^^

 

 

昨日ご紹介しましたサイコロEAのプログラム、皆さんも実験していただけたでしょうか??

 

要するに、利食い値幅と損切り値幅を「ある価格帯域」に設定しておくと、10年とか20年に渡り安定して資産曲線が右肩上がりのものがいくつも見つかる(しかも利益率が半端でない)

というものでした。

 

「ということは、サイコロですら↑このような結果を残すわけですから、ただのサイコロに任せずに、他の有益そうな指標を使って売買サインを出し、利食い値幅と損切り値幅をサイコロEAと同じ価格帯域に設定すればいいかも??」

 

と普通にはピンと来ますよね?!

そこで、売買サインをサイコロを使ってデタラメに出すのではなく、

「短期移動平均線が長期移動平均線を抜いたらポジションをオープン!」

という定石ともいえる手法で実験してみました。

 

 

ただ

「短期が長期を下から上に抜いたら買い!」がうまく行く時期と、逆に

「短期が長期を上から下に抜いたら買い!」がうまく行く時期といろいろありますんで、念のために

 

短期移動平均線の期間を18~200で2刻みで変化させる

長期移動平均線の期間を18~200で2刻みで変化させる

のように融通を効かせて実験してみました。

 

今回使用した足は GBPJPY の15分足です。

バックテスト期間は 2000年1月1日~2018年12月31日までの19年間。

これで良い成績を出したパラメーターを使い2019年の約1年間でフォワードテストしました。

 

 

まずバックテストの結果のみで、成績の良い典型的パターンのひとつはこれです。

50本短期移動平均線が116本長期移動平均線を下から上に抜けたら買い

50本短期移動平均線が116本長期移動平均線を上から下に抜けたら売り

ですね。

利食いと損切り値幅は今回は240pipsと75pipsに固定してます。

 

バックテストでは成績は良かったのですが、その後のフォワードテストで崩れてしまった^^;

バックテストの純益も19年間にしてはたいしたこともない。

 

 

 

 

これもバックテストで成績の良い典型パターンの別の例です。

ポイントは、短期移動平均線と長期移動平均線の期間にほとんど差がないのです。

つまり、この2本の移動平均線はたえず交差を繰り返していますんで、売買サインとしては

「サイコロのようにランダムにサインを出しているに近い」

という意味になりますよね?!

 

サイコロのようにランダムに売買サインを出すので、総取引数はグッと増えます。

ただ、バックテストで良い成績だと、フォワードテストでもそれほど崩れる様子が無いようです?!

 

 

 

 

その他の例も掲載しますと・・・・

 

これも短期移動平均線と長期移動平均線の期間(本数)の組み合わせから見て、売買サインはサイコロと同じようにランダムに出しているに近いものです。

 

 

 

サイコロと同じような売買サインになっている例

 

 

サイコロと同じような売買サインになっている例

 

 

 

次に、サイコロと同じようなサインではなく、定石的に

「短期線が長期線を抜いたら売買!」

になっている例をいくつか載せます。

(キチンと売買サインを出すので取引回数は少なくなる)

 

 

 

 

 

 

 

■ という具合に、売買サインについてはですね・・・・

 

「2本の移動平均線をキチンと機能させてサインを出すと、バックテストでうまく行ったパラメーターがフォワードテストでは崩れるケースが多い。」

 

「2本の移動平均線が絶えず交差するような(要はサイコロのようにランダムに近いサイン)に従って売り買いすると、バックテストでうまく行ったパラメーターがフォワードテストで崩れないケースがいくつも見つかる。」

 

という感じを持ちました^^

 

 

 

■ 念のために、4時間足でも調べてみました。

 

4時間足を使うと取引回数が減ってしまうので、普遍性は若干下がるかと思われます?!

取引回数も減り、純利益もグッと落ちます。

 

バックテスト+フォワードテストで共に比較的成績のよいもの。

こちらも、移動平均線の交差を使わずに、ランダムに近い形で売買サインを出した方が成績は良さそうですね?!^^

 

 

 

 

 

 

以上の結果から見て、どうやら長期に渡る取引では、サイコロが最強ではないでしょうか?!

(安定性、利益率の両面からですね)

利食い値幅と損切り値幅を適切に設定したら、後はほったらかし。

 

もちろん、指標の組み合わせ方、パラメーター値の臨機応変な設定の仕方などで利益率を上げる手法はいくつもあると思うのですけれど・・・・

長期間に渡りパラメーターをいじらず、ほったらかしで投資する際にはサイコロが最強かもですね??

 

※ 短期で高い利益をあげるような方法はこれではないと思いますけど・・・・

 

まず、サイコロEAというのは

「サイコロを振って偶数が出たら買い、奇数が出たら売りと決める」

「損切り価格と利食い価格をあらかじめ設定しておく」

の2つのルールで売り買いするというごく単純なEAです。

 

私が普通に作るEAではここまで長期間に渡り右肩上がりで、かつ利益率もかなりの物は存在しないのですよね^^;

 

なんでただのサイコロがこのような成績を上げるのか??

(神はサイコロを振るのか?@@;)

 

 

ただ本当にサイコロを振るわけでなく、MathRand()関数という疑似乱数を発生させるプログラムを使います(rand()関数ともいう)

そこで発生させた乱数が例えば12351であれば、これは奇数ですから「売り!」というサインを出します。

 

でその乱数を発生させる前にひとつ事前準備がいります。

(たいした手間ではありません)

MathSrand()関数なるもので疑似乱数生成のための初期設定を行う必要があるのです。

ここでこの関数にseedといって「乱数の種」になるint型整数値を与えます。

 

この乱数の種が整数値の2とかに固定されていると、MathRand()関数は呼び出されるたびに

45 29216 24198 17795 29484・・・

という乱数を生成します(この数の並びの同じ繰り返しをする)

ですから、この「seed」の値を2に固定せずにいろいろに変えてやる必要がある。

 

今回はこのseedの値を、過去の足の最安値のある位置(現在からの位置)をiLowest()関数を用いて取得し、それをあてました^^

 

※ 例えば、23本前に最安値があったら、seed=23 となります。

 

という風にあたかもサイコロを振っているかのようにプログラムしてあります^^

それが偶数ならば買い、奇数であれば売りですね。

 

すると不思議な事に、利食い価格と損切り価格を「ある価格帯域」に設定しますと、かなりの確率で約10年に渡って延々と右肩上がりの資産曲線を持つEAがいくつも見つかってしまったのです^^;

 

※ 特殊なパラメーターの値を採用するのでなく、利益確定値幅と損切り値幅をある価格帯域に置くわけですね。

 

 

※ 今回はポンド円(5分足)で実験していますが、他の通貨ペアでもこのような現象は起こると思われます?!

 

10年どころか20年間資産曲線が右肩上がりというケースも存在します。

ただサイコロを振ってるだけなのですけどね・・・・

(あくまで長期戦のEAなので、近々に利益をあげるわけではないのですが)

 

 

 

 

この10年のパターンであれば、近々でも利益をあげていますね^^

 

 

 

 

以下にプログラム部分も載せておきますので、ご興味のある方はどうぞ。

ホントは自分だけの秘密にしてこっそり運用したいのですが・・・・

何しろ現在の私のやる事はすべて秘密にできない状況がありますんで^^;;

(この手のプログラムは、自分だけでコッソリ使うと効果があるのですよね)

 

 

 

サイコロを振るだけなのでプログラムそのものは簡単です^^

TPPoint と SLPoint の組み合わせがポイントのようです。

↓↓

//+------------------------------------------------------------------+
//|                                                                                           PF_SL_1.mq4 |
//|                                                        Copyright 2019, Teijing Software Corp. |
//|                                                                            https://www.teijing.com |
//+------------------------------------------------------------------+
//
//覚書:
//
//20年の例: TPPoint2400,  SLPoint750
//10年の例: TPPoint2500,  SLPoint750
//
#property copyright "Copyright 2019, Teijing Software Corp."
#property link      "https://www.teijing.com"
#property version   "1.00"
#property strict

 

//注文時にポジションに利食い価格を付与する
 

input int TPPoint = 2400;   //利食い値幅(pips)
input int SLPoint = 750;     //損切り(ポイントで指定しておく、業者によって異なる)
input int t = 5;                  // t=2から~51あたりでバックテストするのが実用的。
                                     //乱数生成のためのSEEDを作るMathSrand()関数用の引数(チャート上で最安値となる足の位置、2~2+tまでのいずれかの値をとる)
input double Lots = 0.1;    //売買ロット数
input int Slippage = 3;      //スリッページ

int Ticket = 0;                 //チケット番号、まずは初期化
int Magic = 201911201;    //マジックナンバー、各EAに固有の番号

 

int OnInit()
{
   for(int i=0; i<OrdersTotal(); i++)      //OrdersTotal()でオープンポジションの総数を取得する。
   {
      if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
      {
      Ticket = OrderTicket();             //確認出来たら、新たなチケット番号をOrderTicket()関数で取得してTicketに入れておく。
      break;                                    //1つのEAが所持するポジションは1つなので、ポジションとEAが関連付けられれば、breakでこのfor文は抜けて良し!
      }
   }
   return(INIT_SUCCEEDED);
}
 


void OnDeinit(const int reason)
  {
 
  }

 

//ティック時実行関数
void OnTick()
{

// ポジションのチェック
                 
   int pos = 0;                                                          //ポジ種類を入れる変数定義、初期化
   if(OrderSelect(Ticket, SELECT_BY_TICKET) && OrderCloseTime() == 0)             //ポジを選択、ポジあり且つ未決済のときには・・・・
   {
      if(OrderType() == OP_BUY) pos = 1;                      //買いポジならposに1を
      if(OrderType() == OP_SELL) pos = -1;                   //売りポジならposに-1を                       
   }

//仕掛けシグナルのチェック&売買開始    
   int sig_entry = EntrySignal();                                    //仕掛けシグナル関数のチェック

   if(pos==0 && sig_entry==1)                                      //posが0になってれば買い注文発注!
   {
      Ticket = OrderSend(_Symbol, OP_BUY, Lots, Ask, Slippage, Ask-SLPoint*_Point, Ask+TPPoint*_Point, NULL, Magic, 0, clrBlue);
      //通貨ペア、売買注文の種類、売買ロット数、売買価格、スリッページ、 損切り価格、 利食い価格、 コメントは省略、マジックナンバー、待機注文期限なし、色 
   }
  
   if(pos==0 && sig_entry==-1)                                     //posが0になってれば売り注文発注!  
   {
      Ticket = OrderSend(_Symbol, OP_SELL, Lots, Bid, Slippage, Bid+SLPoint*_Point, Bid-TPPoint*_Point, NULL, Magic, 0, clrRed);
   }
}

//仕掛けシグナル関数
int EntrySignal()
{
   //乱数生成  
   int index=0;
   int R=0;
   int a=0;

   index = iLowest(Symbol(), 0, MODE_VOLUME, t, 2);
  
   MathSrand(index); 
   R = MathRand();
   a = R%2;
  
   int ret = 0;                  //シグナルの初期化

   //買いシグナル
   if(a==0) ret = 1;
   //売りシグナル
   if(a!=0) ret = -1;
  
   return ret;                   //シグナルの出力
}

 

 

 

 

今回ご紹介しているサイコロEAなのですけれど・・・・・

偶然にあるパターンに気が付いてしまいました^^;

 

2019年のある時期の半年間を選んでバックテストし、それを2010年1月1日~2019年11月28日までの10年に当てはめて計算させていましたら、以下のように次から次に10年間ほぼ右上がりの資産曲線となるパターンが出てきてしまいました^^;;

 

対象通貨ペアはポンド円、これの5分足を使っています。

 

5分足で10年間、ここまで次から次に右肩上がりになるパターンも見たことがありません?!

サイコロを再現するために、MathSrand()関数に50パターンのseedを与えています。

 

第1パターン: 1,2をランダムに繰り返すseed

第2パターン: 1,2,3をランダムに繰り返すseed

第3パターン: 1,2,3,4をランダムに繰り返すseed

・・・・

第50パターン: 1,2,3,4、・・・・51をランダムに繰り返すseed

 

なんですね。

でseedがこの50パターンに変化するというパラメーターと、あと2つが利益確定値幅と損切り値幅です。

利益確定値幅と損切り値幅もいろいろに変えるわけです。

すると組み合わせとしては約20000パターンが出来上がりました。

 

この3種類のパラメーターを変化させる事でできる20000パターンについて、半年間のバックテストをしました。

すると、利益確定値幅と損切り値幅をある値近辺に設定しますと、不思議な事に10年間資産曲線がほぼ右肩上がりになるのです^^;

 

その右肩上がりになるパターンは、どれも↑上に書いたseedを変化させるパターンが異なりますから、当然にMathrand()関数が作り出す乱数も異なります。

乱数が異なるのに、結果として資産曲線が10年間右肩上がりになる。

 

ということは、これは乱数(つまりサイコロ)ではなくて、利益確定値幅と損切り値幅の関係性の問題に帰着しますよね?!

 

利益確定値幅と損切り値幅をある値近辺に設定したときにできる625パターンの多くが

こんな感じなのです(サイコロに依存せずに確実に右肩上がりになる)

 

利益確定値幅と損切り値幅をある値近辺に設定し、あとはサイコロ振ってれば10年間右肩上がりです。

↓↓↓

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

この手のパターンのオンパレードには今までにお目にかかったことがありませんので不思議この上なしw

サイコロも奥が深いですかね?!

 

昨日ご紹介しましたサイコロEAですが、MT4のバックテストでポンド円のスプレッドを10銭で計算しておりました^^;

 

なぜそうなったか?といいますと、実はMT4をインストールしなおしてすぐにテストしたので、その時にテスターのスプレッドの所を初期値の「現在値」としたままテストしたのですね。

ところが、土曜日の早朝にポンドがドタバタ暴れたらしくスプレッドが大きく開きまして、MT4はどうやらその時の値で計算したようなのです。

 

なので、テスターのスプレッドの所は、てきとうに10とかの数値にしておけばよいかと思います^^

(10というのは1pipsになります)

 

ではスプレッド1銭で計算しなおしたものも載せておきますね^^

 

サイコロEAというのは⇒

「サイコロを振り、偶数が出たら買い、奇数が出たら売りと決める」

「利益確定価格と損切り価格はあらかじめ決めておく」

これだけです。

 

人間がいろいろ考えず、サイコロに任せたらどうなるのか?

の実験ですね。

 

このルールだと、スプレッド1銭ではおよそ半数の人は利益を出してますね?!

スプレッド10銭では破産する人もいましたが、1銭だとそこまで損する人はいないようです。

これでやっと「半数が勝ち、半数が負ける」というFXの様相っぽくなってきましたか?!^^

 

 

 

割と成績の良い人の資産曲線は・・・・

こんな感じで、7ヶ月のバックテストをし、フォワードテストに加えて過去に5年遡ってみましたが、結構いけてますね?!

 

念のために10年遡りましたが、それほど大きく崩れる様子もなく、これはしばらく使えそうですかね??

ただサイコロを振るだけのルールなのですが、損切り価格と利益確定価格を適切に決めるだけでここまでの利益が出るとは?@@;

 

 

 

私が日ごろ使うボリンジャーバンドにしても、確かにそこで逆張りしたら利益になる場合もあれど、バンドウォークになるケースも多々あり。この区別をリアルタイムに的確に判別できませんよね?!

サイコロのようなものなんですよね、要はね。

 

もしかして私の作るEAはサイコロと同レべなのか??^^;;

そのあたりがやや疑問になる今日この頃ではあるのですが・・・・

 

ただ↓↓このように、偶然に任せずにそれなりに利益の出そうなルールを採用すると、確かにグラフ上の点はプラスに浮上する方が多くなるのですよね?!

 

つまりは

「EAを工夫して作る事には間違いなく意味があるので安心しろ」

という事なんでしょうね?!^^

 

 

 

一応念のために一時間足でテストしてみました。

 

この手のEAは短いタイムフレームではうまく行かないようです?!

1分足だとほぼ利益は出ない。

そこで1時間足にしたところ、5年程度は持つパラメーターもいくつかありました^^

 

1時間足で5年なので、利食いと損切りも大きめ。

GBPJPYの1Hで 利食い230pips、損切り230pips に設定

MathSrand()へseedは1~45をランダムに与えます。

 

サイコロでここまで行くわけですから、いいんじゃないでしょうかね??

今から乗っかってもしばらくは持つかも?!

(ただ長期戦にはなるでしょうから、今日明日にどうというわけにもいかないか)

 

 

 

 

 

GBPJPY 1H 最適化グラフ(seedは1~150まで計算しても変化はないので1~50までにしました)

↑↑

1時間足の方が5分足よりも利益は出やすい印象ですよね?!

プラスマイナス0ラインから上に出る点の比率が高くなった。

↓↓

GBPJPY 5M 最適化グラフ