/株やFXで使われるインジケーターが無意味なわけ2019.01.08株やFXで使われるインジケーターが無意味なわけTweet移動平均線、ボリンジャーバンド、RSI、ストキャスティック、etc...チャートにはよくある指標がありますが、そのほとんどが、そのまま使っても意味がないことがわかりました。指標を使っても使わなくても同じ?ヘッドラインFXで、とある投資法を試してみたく、ポジションを持っていなかったらどんな位置でもポジションを持つプログラムを作って、利確/損切両方とも10pipsで決済というプログラムを作った。したところ、利益確定率が約48%、プロフィットファクター0.96という、要はスプレッド分負けるプログラムが作れた。1/2の利益確定率だから、そんなに悪くない。この足りない2%が上積みされ、さらにもう1~3%程度利益側にシフトしてくれればプラスになるのだが。インジケーターで、より天底やトレンドがつかめれば勝てる?そう。ポジションを入れるより、理にかなったシグナルの位置でポジションを持つことができれば、マイナスより、プラスの決済が増えるので、プロフィットファクターも1.0を超えてくるはずという期待があった。やりやすい方法で言えば、ボリンジャーバンドで、天底を探りポジションを入れる方法。少なくとも、無為にポジションを入れるよりも、より、天底を探れる分利益確定率が上がると推定していた。ボリンジャーで天底をどれだけ探っても、的中率は49%がいいところ。プロフィットファクターは0.99が限界だった。条件を絞れば絞るほど、ポジションオープン数が減るだけで、それほど、プロフィットファクターや利益確定率に差異はなかった。いうか、インジケーターを使う前と後でほとんど差がない。その他のインジケータも本来の使われ方に従って、ポジションを持つためのシグナルとして活用してみたが、何をどうやっても、プロフィットファクターが1.0を超えることはなかった。使い方を誤ると、利益確定率が45%を切ってくることも多かった。結論で言えば、機械的な売買にインジケータは必要なさそう。どこでどんな風にポジションを持ったとしても、的中率は50%に限りなく近い50%未満で、スプレット分をプロフィットファクターは1.0を切ってくる。利確と損切に幅を持たせても、相関関係は同じ例えば、利確10pips/損切20pipsと、利確と損切のpipsに差をつけた場合、その差分だけ利益確定率が良くなったり悪くなったりする。上記の設定なら、利益確定率は66.6%に限りなく近い65%前後。プロフィットファクターは0.94~0.98の間。結局スプレッド分負けるような計算だ。これも、同じようにインジケータを使ってもほとんど変わらない。変わらないのであれば、使わず投資機会が多い方が良いに決まっている。勝てる方法は見えてきたトレードで勝つ方法はもうこの二つと、絞ってもいいかと思っている。10pips/10pipsの条件なら、利益確定率が50%を超えるトレード方法を見つけ出すこと資金配分で、46%程度の利確率でも利益が上がるようにしていく。(確率論、統計学を駆使して資金配分を行う。)じゃあ、できるのか?というと、まだできていない。試した資金配分法と、なぜダメなのか解説したいと思う。確率論的に、1/2の確率なら、30連敗を意識するべき実際、バックテストで、勝率48%程度の投資をした場合、2005年~2018年1分足でテストした結果、最大連敗が15回。最大連勝も15回だった。1%の確率で出現する最大連敗数が6連敗、30回は100万回に1回程度の確率ではある。2005~2018年の1分足の場合、約500万回のチャートの中で走る分けだから、この30連敗は1回や2回は訪れてもおかしくない計算になってくる。実際は15連敗が最大だから、その倍の30連敗くらいは意識しても普通である。いうことで、最大連敗数30があり得る計算をしたうえで投資法を解説してみるマーチンゲール法ご存知の通り、マーチンゲール法はいわゆる倍々ゲームだ。10pips/10pipsというのは、負けた場合10pips分マイナスになり、勝った場合に10pips分利益額が積みあがるので、いわばオッズで言えば2倍だ。ルーレットの赤/黒に賭けたのと同じである。ロットを倍にしていけばマーチンゲール法といえるため、一番とっつきやすい方法であるが、これの場合買った時点で初回かけ分だけプラスになるという、リスクの割にリターンが少ない方法であることも覚えておこう。そのうえで、収益1000円儲け設定のスタートで30連敗に耐えるには、ざっくり計算しても、証拠金で兆を超し景の単位で証拠金が必要のようだ(景とは、兆の一つ上の単位。)仮に投資できたとして、31回目に的中して上がる利益は1000円である。ちなみに、実際のバックテストの最大連続負け回数でも、4000億円以上の証拠金が必要になる。これを考えると、仮にマーチンゲール法で投資していた場合、この13年間で何回か破たんしていたことが考えられる。モンテカルロ法おそらく、50%に近い、また、オッズ3倍と同等の状況を作り上げかつ33%に近いので、モンテカルロ法は、マーチンゲールより現実的でありかつ勝てる可能性も大いにあるといえよう。モンテカルロ法というのは、勝率が50%以上(オッズ2倍の場合)、もしくは33.33333%より上(オッズ3倍の場合)じゃない場合、長期的にはなからず負けるようになっている。便宜上、ルーレットなどの赤黒は1/2と謳われることが多いが、実は緑の0(00)が、存在しているため限りなく1/2に近いが1/2ではないのがルーレットである。この緑が存在するため3倍であろうがなんであろうが、モンテカルロ法が通用しないよう作られているのだ。実は全く同じで限りなく50%(33.33333%)に近いが、それ未満なのである。長期的に見れば必ず破たんする事がわかっている。馬券の投資で使われる方法ではあるのだが、FXの配当をオッズと考えたとき使えると考えた。モンテカルロ法なのだが、連敗による投資額の増大と、勝ち抜けたときの利益に非常に不満が残ることと、競馬の場合オッズが変動するので売買法では2倍を超えた場合投下する資金が多すぎたり、2倍を切っていた場合は足りないなどの現象が起きるためオッズによって変動させることができるという方程式だ。こちらを使い、的中時(利確発生時)に、損失金額と、累計損失額の1.x倍(1.3倍とか1.6倍とか)0.x倍利益が残るように計算式を作ってやってみた。こちらはこの3つのうちでもっともまともな状況ではある。状況ではあるが2つのことが引っかかり頓挫する。証拠金不足これは、マーチンゲール同様、最大連敗中には大変大きな資金が必要になってくるためなかなか厳しい。15連敗で400億近く必要になってくるのはさほど変わらない。15連敗が現実に存在している以上、単純に500億以上持っていないとできない投資法となってしまう。各FX会社には、ロット上限というものがある。一回の投資で投下できるロット数に上限がある以上、無限にロット数を増やしていくわけにはいかなくなる。ロスカットルールもあるので要注意また、自動強制ロスカットというプログラムもある。口座残高の○%以上の含み損が発生した時点で強制ロスカット(強制的に決済されてしまう。FX業者により存在の有無や、%は違う)のだ。これではプログラムが完遂しない。ベッティングシステムの落とし穴モンテカルロ法、ココモ法、ウィナーズ法、31法など、2倍配当のものに対するベッティングシステムがあるがこれらは基本として勝率が50%以上で、勝ちにつながるベッティングシステムだ。2倍配当で勝率50%ということは、勝ちと負けが同数、いわゆるプラスマイナス0ということだ。それ以上を必要とするということは、そもそも50%以上の勝率なら負けないのだ。ルーレットで言えば、0、00という番号がある以上、赤黒でも50%以下なのだ。ようは、数万回と繰り返せば繰り返すほど、50%に満たない、47~49%程度の勝率に落ち着き、確実に負けるのだ。この47%を50%より大きな勝率にできるのであればそもそもベッティングシステムも必要なく、一定の掛け金をかけ続ければ勝てるのだ。上記の方法をそのまま為替で運用しても、スプレッド幅分勝率が下がり、47~49%になる。この3%ほど足りない分、どの投資法を使っても負けていく。やらなければいけないこと同じ利確/損切の幅なら、利確率50%以上を目指さないとお話にならない。多少の前後もあるだろうから、52~55%程度の利確率のものを作っていかないとお話にならない。利確/損切×2であればオッズ3倍相当なので、利確率は34%以上、35~37%くらいが理想か。そのようなプログラムを作り、そのうえで、投資ロットを決定するプログラムを組み込み、最大利益をもくろむのがベストだろう。5年近くEAを作り続けて見えてきたことだ。これが見えてきたのかと言うとそのほとんどはバックテストを10年分走らせ、完走し大きな利益を上げるEAでも、ほぼ必ずフォワードでは破たんするからだ。バックテストは過去チャートによる後付だ。未来におけるチャートに対して対応できるものではないからだ。信じられるのは上記の統計値だ。この統計値をずらすことができるインジケータの使い方を学ばなければいけない。※追記その後分かったことスプレッドは、勝率にかかわる表題ですが、当たり前といえば当たり前なのだが、10pips程度のSL/TPであれば大きくかかわってくるのがスプレッド幅。10pips程度なら、スプレッド0.1pipsあたり1%前後の勝率にかかわる。USD/JPYスプレッド幅0.5pipsというFX業者での勝率は45~47%。GBP/JPYスプレッド幅2pipsという通貨ペアの場合勝率は40%くらいまで落ち込む。そのうえで、同じチャートを使い、GBP/JPYのスプレッド幅を0.1pipsに強制的に修正しバックテストを行ってみたところ、49%まで勝率が向上した。10pips程度のSL/TPであれば、2pipsというのは約20%。大体1/2の勝率のものに、20%の1/2である10%分勝率減にすれば40%となる。スプレッドを加味せず、インジケータを使わずSL/TPを同じにした場合、どんな通貨ペアでもほぼ同じような勝率になるが、スプレッド幅によってかなり勝率は変わる。SL/TPを大きくすればスプレッドの影響度は下がるSL/TPを100pips程度まで大きくした場合、スプレッド幅の影響は軽減する。GBP/JPYのスプレッド幅2pipsは、SL/TP100pipsから見たら2%だ。影響度も2%程度に収まるので勝率は48.6%程度となった。スプレッド幅を0.1pipsなどにすればおそらく極限まで50%に近づくことだろう。100pips程度であれば、スキャルピングとは言わないまでも、適度に決済も入り、100pips程度なら、精神衛生上も、安心してみていられるのではないだろうか。スワップを取ることができる?上記の状況を踏まえて、スワップを取る作戦は大いにありなのではないかとおもう。EA的には常にポジションを持っているプログラムを作ることで、保有しているぶんだけスワップがつく&50%に近づけることができるのであれば、ほぼトントンでトレードは終わらせることができる。勝率50%に足りない1~2%分を資金配分を使い、勝利時に負け分を取り戻すことができれば、少なくともスワップ分の利益は積みあがる。スワップ金利分をTPとして組み入れることで勝率を上げることもできるのではないか?(あくまで計算上TPの利益額として組み入れることができきればの話だが。実際に、上記の説明のようにならないものか。馬法の方程式にて、投資ロットを決めるプログラムを組んでいるが、やはりどうしても証拠金不足や、最大ロットに抵触してしまい、先に進めない。負け額の割に、投下ロットが大きくなってしまいがちだ。このあたりは勝率50%は、やはり、最低限15連敗は意識して行わなければいけないだろう。※追記2~追い上げ投資・コロガシ投資を活用して大きな利益を~マーチン・馬法の方程式の追い上げ投資は当面諦めるマーチンゲールと馬法の方程式については結論から言うと、あきらめた。理由は簡単で、2倍配当なら50%以上、3倍配当なら34%以上の勝率を誇らないと絶対に破たんするからだ。おまけに、仮に、その50%以上の勝率を維持できるのであれば、資金配分などせずとも勝てるのだ。この2つの方程式については、少なくとも今の現状では諦めるのがベストと考えた。モンテカルロ法はもしかしたら行けるかもしれないいま、取り組んでいるのは3倍配当のモンテカルロ法だ。これは、単純にバックテストを行っても、プロフィットファクターが1.00以上(要は1以上はプラス収支でおえることができる)で、かつ、ドローダウンが低いものが簡単に作ることができた。良くてもPFは1.3、1000万円スタートで10年のバックテストでプラス1000万が限度。スタート資金100万円で破たんすることなく10年後に1000万くらいになってくれるようなものを作りたいのだが。回収率100%を超えることができたのはかなり大きい。少なくともトレードはトントンにできるのだから、購入の方向性をスワップの付く方向性だけに絞れば毎日スワップが取れる。その分は必ずプラスになるのだ。逆転の発想でコロガシにモンテカルロをモンテカルロ法によって、PFを1.00以上にすることはできた。10年間でほとんど利益を出せない、限りなく1.00に近い1.00より大きいPFと言ったところなので、はっきり言って面白くない。先述の通り10年で10倍くらいにはなってほしいので、1.3~1.6くらいのPFにはなってほしいものだ。結局何がいいのか全く分かっていないので、次に考え付いたのはコロガシにモンテカルロ法を使ったらどうなるのか?ということだ。現在バックテストを絶賛実施中なので、ある程度データが出てきたらまたご紹介したいと思う。勝率はどの通貨で行っても47~49%前後の勝率になりました。先述の通り、スプレッド幅分、勝率が下がる結果に。その結果を踏まえてインジケータを使ってみました。ボリンジャーバンド20,2αで、下側の線にかかったらBuyポジションを持つ、SL/TPは10pipsというシンプルな逆張りトレードのバックテストを行った結果、勝率は45%前後となった。これは、1分足でやろうが1時間足でやろうがトレードの本数の違い以外に勝率などに差異を見出すことはできませんでした。同じようにRSIの逆張りや順張り、エンベローブやMACDなど、どのインジケータを使っても勝率はインジケータを使わないものより少し悪くなる結果となりました。この結果からも、インジケータを単体でかつ、セオリー通り使ってもいい結果は生み出せない。トレード本数が減る分損する可能性が高いということがわかりました。インジケータ複合させて使った場合こちらについては、可能性が大いにあるので何か良い組み合わせを模索していく必要はあります。言われるような組み合わせでいくつか試してみました。大体どの通貨でも勝率が40%程度に落ち込みました。上記からの流れを見ていただくとわかる通り、インジケータを入れると、3~5%ほどずつ勝率が落ちていきます。インジケータは的中させにくいものなのではないかと思ってしまうほどです。複合インジケータの利用は良い落としどころが必ずあるはずだと思いますので、今後も模索したいと思います。ベッティングシステムについて現在のところ、一番勝率の良いものが残念ながらインジケータを一切使わないものですので、こちらをベースにベッティングシステムをいくつか試してみました。そのためした結果を記録に残しておきます。マーチンゲール法ルーレットの2倍配当(赤・黒)のような勝率が50%で2倍配当のもので使うことで机上では、負けないと言われる方法です。FXでの2倍配当というのは、SL/TPが同じpipsのものであれば2倍配当と同じになります。勝率が47%と、たった3%足りない程度なので、案外と行けるのではないか?と思いました。本当に残念ですが、10年間程度の運用で、2~3回、大きな連敗が起きてしまうので、確実に破たんします。その破たんするタイミングというのは、リーマンショックや東日本大震災、チャイナショックのような場所ではなく、本当に何気ないところで起きます。防げるのか・防げないのかで言えば自動運用している以上、連敗をかぎ取るすべはありません。10連敗後、11回目が勝てるか負けるか、統計学的には勝つ可能性というのは負ける可能性より高く見えますが、その1トレード単体で見た場合、やはり、47%の勝率なのです。最大連敗数が15回以上というのが2~3度現れるので、破たんはほぼ確実です。馬法の方程式この記事でも何度か紹介しましたが、マーチンゲールは、買った時点で初期投資額しかプラスにならないので、利益額を調整できる、かつ、オッズに合わせて投資額を変動させることができる方程式を導入したマーチンゲール法といえるこの方法。10/10pipsでは、マーチンで破たんしていますから、利益を20pips、損失を10pipsと、配当で言えば3倍配当で試してみました。調整することでどの通貨でも利益を上げることができることがわかってきました。連敗による投資金の増額に耐える必要があり、いわばドローダウンを10%~30%程度に抑えようとした場合、10年間で利益が1%など、非常に小さくなってしまいます。投資の方向性をスワップ金利の付く方向のみと定めて運用した場合、スワップ金利分プラスになるという考えでもありますが、基本的に投資ロットも小さくなるため、大きな利益を上げるには少し厳しいものがあります。リスクを負う分だけ損なイメージがあります。次にモンテカルロ法を導入してみました。モンテカルロ法は2倍配当バージョンと3倍配当バージョンがありますが、まず2倍配当バージョンはお話になりません。完結した時点でマイナスというケースはざらですし、連敗した時、資産を目減りさせてしまうことで必要なロットが証拠金不足で買えなくなりもう戻ってこれなくなります。投下ロットを小さくして完走しても、馬法の方程式同様小さな利益しか生まないためバランスに賭けてしまいます。次に3倍配当ですが、今私が研究している中では1,2をあらそう、可能性のある投資方法が3倍配当バージョンのモンテカルロです。こちらも、素直にやった場合必ず破たんします。すべて同じなのですが、2倍配当のベッティングシステムなら勝率が50%より良くないとまず破たんします。3倍配当のベッティングシステムは33.3333%より上です。今私の勝率の限界は2倍なら47%、3倍なら32%が限界です。あと1割の向上なのですが、その1割が達成できません。モンテカルロも現状では破たんしますが、破たんの部分より、利益の積み上げについて大変魅力的です。その点を勘案したうえで、連敗時にいかに投下ロットを低く抑え、連敗終了までに戻してくることができるのかが勝負になりそうです。31法いま最も期待を込めたいのがこの31法であるおそらくFXというフィールドのルールに最も適している方法であると考えます。言うと、最大負け(ロット)を、あらかじめ決めることができる点です。FXの場合、FX業者にもよりますが、日本の業者の場合は投資ロットに上限がある場合がほとんどのため、事前に最大負けロットが設定できる31法はもっとも使いやすいベッティングシステムです。こちらの場合も、勝率が50%を超えていないと、超えなかった分だけじわじわと負けが広がります。標準的な設定でもいくつかの通貨ペアで完走し、利益を上げることができましたが、逆に言えばいくつかの通貨ペアで破たんしています。EAは、どの通貨でも同じ設定ですべての通貨ペアで完走しないものはほぼ100%といってもいいほど実際に運用を始めるとどこかで破たんすると思います。何とか完走できたと言って運用に回せません。勝率50%、1/2という確率と連敗の関係を調べてみました。調べると言っても、学者のようにコンピュータで様々なケースを算出したっていうわけではありませんので確実なことは言えませんが、大体こうなるというのは見えましたのでメモがてらこの記事に記載しておきます。これは、FXに限った話ではなく、競馬やぱちんこ、ルーレットやバカラなど、確率で語ることができるものすべてに言えることです。50%の勝率というものがあって、10回繰り返した場合、2回に1回は勝利にたどり着くのが50%という確率です。聞いたら、3回負けたら次は勝てる可能性が高く感じますが、確率だけで言えば4回目も半分は負け、半分は勝ちます。そのうえで、どのくらい連敗するのか。いうのを調査しました。ほとんどの方は意識的には、10連敗していたら次は来るだろう。その次はさすがに来るだろう。意識だと思うのですが、平均して15連敗くらいは普通に起きるのが50%の世界です。FXのスキャルピングに当てはめてみると、10年間繰り返していた場合、この10年で15連敗は20回程度出現するのが一般的です。要は半年に1回程度15連敗します。)私が探そうとしたものの一つは、15連敗しない勝率50%を探せばいいなんていう、都合のいい考えのもと、USD/JPY、GBP/JPYなど、様々な通貨ペアで勝率50%でかつ連敗数の少ないところは...という視点で探してみました。20通貨ペアくらい調査しましたが、50%程度であれば、どの通貨ペアでも15連敗程度は普通におきます。ひどいペアだと30連敗近いものもありますが、統計学的には10年に1回程度30連敗は起きうるのが50%なのです。30連敗に到達する確率が大体100万分の1なのですが、1分足のチャートは、10年間で300万本以上あります。いうことは、10年で3回程度起きても何らおかしくないというお話しなのです。10年で3回程度の確率なので、ここまで運よく30連敗しなかったペアがあったり、運悪く何回か登場してしまったペアがあるにすぎません。この先の未来、起きなかったペアで起きないとは限りませんし、もう起きているペアでもう来ないなんて言う保証もありません。確率は一定なので、同じ確率で30連敗程度は起きうる可能性があるのです。これが、50%という実態なのです。競馬の50%(1~2番人気の複勝相当)なら、そんなことはない。思うかもしれませんが、競馬は母数が小さくて判断ができません。(1日12R、3場開催で36R程度では何とも言えない確率である。)ぱちんこで1000回転ハマった。ある話ですが、確率からしたらそれは当たり前の話で、確率から考えたら本当にひどい状態の場合、10万回転くらいハマったって何らおかしくない計算になります。こちらも、母数が小さいため(1日せいぜい1万回転程度)、また、そこに到達する前に諦める(もしくは時間切れ、資金切れ)のでわからないだけです。ならない質の50%などというものは存在せず、どうやっても、50%なら、15連敗は当然のごとく起きうることとして考慮しなければいけませんし、FXなら、30連敗が最大ハマリで、考慮しなければいけません。それらを踏まえると、追い上げ投資(マーチンゲール法やモンテカルロ法のような資金をどんどん増やしていくタイプの投資法)は、30連敗で計算すると初期投資額をかなり小さく(最小ロットに)、でかつ、その1万倍以上の投資金額をもって初めて30連敗に耐えることができます。残念なことに、ほとんどのばあい、最大ロットも制限があるため上限に引っかかってしまうのもオチです。それらの条件をすべて回避したとしても、初期投資ロットが最小ロットのため、利益が上がったとしても、利回りにすると、ものすごく小さくなってしまいます。この30連敗を回避し、50%らしい勝ち負けの繰り返しの時に資金配分で回収していくか。残念ながら今のところそれは見つけられていません。15連敗にしても、30連敗にしても、突如として始まります。それは、リーマンショック、東日本大震災のような大きなインシデントの時より、本当に何もない平穏なときの方が訪れていることが多いからです。(インシデントがあるときは動きが激しいため、一方的に負けるということが少ないのだろう。)だからと言って、平常時は投資しないなどというプログラムは、平常時に発動もしないため面白くない。動きの激しいところだけを選んでも、勝率が50%なら、その中で結局最大連敗になるときが来るのだろう。避けることはできないのなら、なんとか連敗中は少額でやり過ごすかつ、連敗に耐えてからどう処理するのかを考える方が良いだろうと考えている。見つけられていないが。2019年8月現在~複数のインジケータ活用で勝率UP~ここまで、この記事に記載した通り、インジケータを単発で使っても、勝率は50%を超えるような係数を見つけることはほぼできなかった。極端な変数を入力すれば勝率をあげることはできるがトレード回数が減る(要はサンプル数が減るので統計的には信頼に値しないデータとなる)ので、あまり良いものにはならなかった。ここまで調査してこなかった、インジケータを複数種類組み合わせてみることに手を付けてみた。ボリンジャーバンドとRSI。この2つの組み合わせで勝率が50%を超えてくるものが作れるようになってきた。馬法の方程式と、コロガシのハイブリッド作戦でかなりの利益を上げることも可能に。現在はマルチ通貨で走り切るよう、係数の調整を行っている。これはかなり確信を持ったEAになりそうだ。統計SNSでもご購読できます。【追記あり】WordPressサイトを徹底チューニング!どのくらい効果が上がるのか?PleskのDBをMariadb10にアップデートしてみた新型コロナウィルスの影響でテレワークになった。リモートデスクトップ接続は誰でも簡単にできるの?WordPressのバックアップにBackWPupを使うWEBコンテンツのバックアップは必要です!Plesk18でいよいよメールサーバーもSNI対応に!海上自衛隊ヘリ搭載護衛艦『かが』に乗ってきました。