Bitcoin 裁定取引と自動取引 abitra.netのブログ

Bitcoinの自動売買のあれこれ

バイナリーオプション(ハイローオーストラリア)の勝率とエントリー回数の関係について

自分用メモ
エントリー回数と勝率を計算及び比較

エントリー回数と勝率について


勝率80%と勝率60% どちらが利益を多くだせるのか?
エントリー回数が同じであれば勝率80%の方が利益を多く出せます。書くまでもなくあたりまえー


勝率が重要なのは言うまでもないのですがエントリー回数も重要。

バイナリーオプションの利益の計算


※ハイローオーストラリアの場合で計算しています。

ペイアウト率 : 0.88
エントリー金額 : 1000

エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
100 75% 66000 25000 41000
100 70% 61600 30000 31600
100 65% 57200 35000 22200
100 60% 52800 40000 12800
100 55% 48400 45000 3400
エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
200 75% 132000 50000 82000
200 70% 123200 60000 63200
200 65% 114400 70000 44400
200 60% 105600 80000 25600
200 55% 96800 90000 6800
エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
300 75% 198000 75000 123000
300 70% 184800 90000 94800
300 65% 171600 105000 66600
300 60% 158400 120000 38400
300 55% 145200 135000 10200
エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
400 75% 264000 100000 164000
400 70% 246400 120000 126400
400 65% 228800 140000 88800
400 60% 211200 160000 51200
400 55% 193600 180000 13600
エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
500 75% 330000 125000 205000
500 70% 308000 150000 158000
500 65% 286000 175000 111000
500 60% 264000 200000 64000
500 55% 242000 225000 17000
エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
600 75% 396000 150000 246000
600 70% 369600 180000 189600
600 65% 343200 210000 133200
600 60% 316800 240000 76800
600 55% 290400 270000 20400
エントリー回数 勝率 獲得 利益
100 80% 70400 20000 50400
700 75% 462000 175000 287000
700 70% 431200 210000 221200
700 65% 400400 245000 155400
700 60% 369600 280000 89600
700 55% 338800 315000 23800

勝率80% で100回エントリーと勝率60% で500回エントリー出来る機会であれば勝率60%の方が利益が出る。

裁量でもバイナリーオプションの自動売買でも勝率を求めがちですがエントリー回数も重要。
勝率低くても利益が優先。


もちろんベストは勝率80%で高回数のエントリーですがねw
エントリー機会を絞っていけば高勝率は出来る可能性がありますが、その絞ったエントリー回数とそうでない場合のエントリー回数の比較して利益ベースで選択する。

エントリー回数の考え方

どちらかといえば裁量でのエントリー時に気を付けたい勝率の考え方かもしれません。
裁量の場合、勝率上げたいのでエントリーを絞りがち。


もちろん裁量もバックテストしてエントリーポイントや平均的な勝率を把握した上でですが実際エントリーとなると絞りたくなるのが心情。
絞るのは悪くないのですがねー絞り過ぎるとエントリー出来なくなる。


理由としてはバックテスト時は簡単に24時間エントリーポイントを見つける事が出来るのですが実際はリアルタイムでエントリー出来たり出来なかったりして、そのエントリー出来なかったエントリーポイントの方が根拠が強かったり魅力的だったりすると直近のエントリーポイントと比較して見送ってしまったりする。
(私だけかもしれませんがw )


自動売買であれば極端な高勝率が出る事がないのでエントリー回数を注目しやすいかな。


そんな時は今回の記事を思い出してエントリー回数も重要って事も思い出す。


追記 2019年8月10日

TMシグナルインジゲーターの取引回数の重要性を追加しましたー

"TMシグナルインジケーターとバイナリーオプション(ハイローオーストラリア)の取引回数の重要性"
abitra.hatenablog.com

FX ドテン君 フォワードテスト 約3か月状況報告

半個人メモ

ドテン君のフォワードテストが約3ヶ月経過したのでご報告。

結果報告

1時間足のドテン君は結果マイナスです。
lot数の違いなどにより利益率などは変わりますが80%位といった感じでしょうか。

4時間足のドテン君の結果はプラスです。
約120-130%位。
一時期初めて1っカ月もたたない位で200%近くになっていたのでこれは期待出来ると考えたのですが、トレンドが終わると利益が減っていきます。。。

実際フォワードテストしての感想

何かしらのトレンドが発生しているときはいいのですがレンジが続くと辛いなーと。
ドテン君の特徴として抜けるとポジションを持つので幅の大きなレンジが続くと死ねるw


一応バックテストの結果からトレンドが発生しないと辛いことは分かっていましたが改めて年を通して考えていかなといけないと感じました。
下手したら数年は考えないとダメなロジックになりますかねー3カ月だけでは判断出来ないw(意味がないとかではないのですがw)

実弾の運用を開始するの?

4時間足の方は実弾開始しようかと考えています。
フォワードテストでは複数の通貨ペアで動かしていますが、1-2通貨にして様子をみようかと考えています。


実弾運用にあたっての対応

手動による決済は考えた方がよさそうです。

lot数は固定の方が良さそうです。
証拠金に合わせて変動lotでも運用しているのですがレンジで死んでるwトレンド発生していると爆益ですが、固定ロットで手動で小まめに変更した方が良さげ。



7月頭ごろのポジション

f:id:hogehoge_kato:20190723144554p:plain



直近2019年7月19日頃

f:id:hogehoge_kato:20190723144614p:plain

ruby seleniumで複数のブラウザで並行処理を行う方法 バイナリーオプションで同時に複数の通貨ペアエントリー

自分用メモ

バイナリーオプション(ハイローオーストラリア)のエントリー時ですが次足のタイミングエントリーの場合、同じ時間に2-3通貨ペアのエントリーが重なる事が時々ある。
例: 同タイミングで3通貨ペア(USD/JPY, GBP/JPY, EUR/JPY) 全部にアラートが出た場合を想定。
手動であれば事前にブラウザのタブを開いて2通貨位であれば何とかマウス裁きで行けるかなw



運用当初は1ブラウザ立ち上げで行っていた事もあり複数の通貨ペアのアラートが出た時はバックテストの結果から成績の良い通貨ペアでのエントリーを行っていました。


ですが同時に複数の通貨ペアにもエントリー出来ないかなーって欲求がw


そんな時はThreadで処理

私はrubyseleniumを利用して自動売買を組んでいますがThreadのエントリー数分のブラウザ立ち上げで処理出来ないかなーと思いテストしてみました。

結果あっさり成功。

"ドラえもん", "アンパンマン", "ポケモン", "妖怪ウォッチ", "ドラゴンボール"のキーワードをランダムで複数ブラウザで同時に検索


f:id:hogehoge_kato:20190717130500g:plain


4つブラウザを立ち上げて各ブラウザで検索を行っています。

プログラム的には

プログラム的にはブラウザ立ち上げの所をごっそりThreadで処理してやります。
上記動画のプログラム例

require 'selenium-webdriver'


def yahoo(search, n)
  url = 'https://www.yahoo.co.jp/' #やほー
  driver = Selenium::WebDriver.for :firefox
  wait = Selenium::WebDriver::Wait.new(timeout: 100)
  driver.navigate.to url
  #ここに各検索処理などをずらずらずら
 
  #ここに各検索処理などをずらずらずら
 
end

search = ["ドラえもん", "アンパンマン", "ポケモン", "妖怪ウォッチ", "ドラゴンボール"]

4.times do |n|  # nはなくてもOK 私はブラウザの位置調整でnを利用しているだけ
  Thread.new do
    yahoo(search.shuffle, n)
  end
end

sleep(60) #Thread処理対策。これ以外にも方法ありますが面倒なのでsleepにて対応。


簡単に書くとこれだけで複数ブラウザのほぼ同時に立ち上がります。


この方法は事前にブラウザ立ち上げてアラートが出ての即エントリー方法を採用しているロジックでは難しいかもです。
事前に立ち上げるブラウザ数が分からないため次足エントリーの方法のみで使えるのかなーと考えています。



実際のバイナリーオプション(ハイローオーストラリア)での処理はLoopを利用して処理をしています。

Uber Eatsの配達で楽々稼ぐ方法を見つけたかも

以下方法は出来るかどうか検証していません。
また個人的におすすめしている訳では御座いません。
※私は行いません。


FX及びバイナリーオプションは全く関係ない記事ですがアービトラージっぽいのかなーとも考えているので方向は同じ。

Uber Eatsの配達で楽々稼ぐ!!

※私はUber Eatsの配達員を一度も行った事がないので想像だけで書いてますのでご了承下さいませ。


最低限必要なものスマホ2台とUber EatsのアカウントとUber Eatsの配達員側のアカウント。

Uber Eatsのキャンペーンの逆手をとる

前提としてUber Eatsの配達無料キャンペーンの時にしか使えない手法と考えます。
Uber Eatsですが時々配達料を無料キャンペーンを行っています。Uber Eats側が費用負担してのキャンペーンかと。
正直私は配達料無料キャンペーンの時にしか利用しないのですごく助かっています。


で先日からマクドナルドの配達無料キャンペーンが始まっており利用したのですが、その時の感じた違和感。

f:id:hogehoge_kato:20190717031906j:plain



普段からマクドナルドではチーズバーガーの単品でしか頼まない事あるので、Uber Eatsでもチーズバーガー単品を頼もうかと。
チーズバーガー単品の値段は150円(店舗だと130円)。


これこのまま頼むとチーズバーガーの150円のみで配送料無料で届けてくれます。何度でも!!!

やばくないですか何度でも150円でチーズバーガー届けてくれるんですよw

Uber Eatsの配達員の一件当たりの配達料は550-700円前後(Uber Eats => 配達員に支払われる費用)

他の方のブログ等を拝見する限り1件辺りの配達料は550-700円との事。
何件以上配達するとボーナスとか色々あるようですが今回は無視。単純な配達料にて計算。

アービトラージの道が見えてきた

上記前提から注文と配達料の差額で儲かるんじゃないか疑惑。
チーズバーガーの150円の費用で、配達料550円を獲得。差額400円。

Uber Eats アービトラージ手法


仲間内で一人は注文、もう一人は配送。これを永遠に繰り返す。
注文よりも配達料の方が高い限り使えます。

↑えーだったら普通に配達員として他の人に配達した方がよくない?疑惑。
違います。それだと普通にUber Eatsの配達員。この手法のミソは配達手間を限りなく小さくする事。


どぎついやり方をすればマクドナルドの店の入り口で一人がUber Eatsを使って注文して、もう一人に届けてもらえば配送手間はほぼ無いに等しい。

で仲間内で再度注文して即届けてもらってを繰り返していく。マクドナルド内で配達を繰り返している様な感じw

出来るか分かりませんが自分で注文して自分で配達が出来れば完璧なアービトラージです。
スマホ2台使えば完璧なアービトラージ出来そうなんですけどねー 配達用スマホと注文用スマホに分けてやれば。。。


利用規約を読んでないけど注文回数に制限もないと仮定すると100回やれば4万円。


利益を出す事だけを考えての方法になりますので、100個もチーズバーガー注文してもどうするんだ?といった事は無視してます。
確かハンバーガーもあるので120円の費用に抑える事も出来る。

懸念点

必ず注文したチーズバーガーを配達出来るとは限らない可能性問題。(配達員をした事がないので雰囲気が分かりませんw)

即バレ&即アカバン まぁ注文数やらなんやかんやは見られていると思うので。。。

送料無料キャンペーンが無かったら利益が小さすぎて使えない。

マクドナルド以外では使えない。商品価格が高いとダメです。商品価格が100円台ってマクドナルド以外あるんですかね。。。


まとめ

妄想で書いているだけなので有効かどうか分かりませんw
何か起こったとしても私は一切責任も持てませんのでw妄想なのでねーw

裁量が最強。それはまぁそうなんやけど自動売買の方が好きって矛盾。

自分用メモ(2019年7月16日現在の思いメモ)
将来自分で見直してあの時の思いを思い出す用。


以下バイナリーオプション(ハイローオーストラリア)前提の話です。



BO仲間と打ち合わせをしていて出た話題。
「やっぱり裁量が最強だよねー」って。


うーん。半分正解で半分違うんじゃねーって(正確には私の中でのモヤモヤ感)

裁量が最強


勝ってる人の勝率だけで考えると裁量が最強は同意。
私の師匠は裁量のみですが安定して80%程で利益を取れてるので本当に凄いなーと。


その弟子達(私も含む)はどうなのかと考えるとうーん。勝ってる人もいるけどそうでない人もいる。
師匠の教えを聞いたから絶対勝てる訳ではない。
センスといえば終わりなのですが、センスだけで片付けられない何かがある。
あらゆる考え方をセンスで言ってしまいがち。
私も含め弟子たちは間違った相場の知識、認識を持っている可能性もあるのですが、それとは別の何かが違う。


師匠含め勝ててる人は抽象化と具体化がうまい気がする。そしてそれを人に伝える為の言語化が出来ている。
言語化する為には市場の知識やらローソク足、流れ、タイミングなども理解していないとダメ。

あと根拠はないですが裁量で高勝率の人はゲームが上手い気がするw


話戻って勝てる人前提で考えると裁量の勝率には自動売買では絶対に勝てないと考えてます。
自動売買だと短期的に特定の時間で結果的に80%とかはあるけどトータルでみると60%いかない位に落ち着く。

ですが自動売買のメリットは勝率だけで判断するのは間違ってるなーと。

自動売買のメリットは自身の時間確保とトレード以外での安定収益 精神的な安定

自動売買をお勧めする意図では御座いません。裁量、自動売買も一長一短でどちらが最強って事はないのかなーと。
その上で自動売買のメリットの話。

自動売買で自分の時間を確保

私の場合ですがチャートを見なくてもいいのが本当に気が楽です。(チャート見ることに苦痛があるわけでないですが特に楽しいとも感じていないので)
主夫をしているので子供のお迎えや晩御飯、寝かしつけなどしていると夕方から夜までは何も出来ません。
裁量をメインで考えていた時はこの時間帯にチャートが見たくてイライラしていましたが自動売買化してからは気にしなくなり子供と遊ぶ時間が持てています。

トレード以外の収益化

自動売買プログラムを他者への販売等によるトレード以外で収益を出す事が出来ます。
私もこっそりいくつか提供して収益化しています。
月額課金での提供もあるのでトレードで損をしていてもここまでは大丈夫って精神的な安定が半端ないです。

精神的な安定

私が未熟な部分が影響しているのですが裁量の精神的なストレスは辛いです。
自分自身を信用しきれていないのも原因かもしれませんが、自動売買にその部分が薄いですw
バックテストをプログラム的に行っているので過度な期待もないのが理由かもしれません。



ちなみによく巷で言われているのが儲かってたら他者への提供はしない。って話。
半分はあってるけど、半分は違う。
儲かってるってレベルにもよりますが儲かっていても他者提供することにより収益化出来るのであれば他者提供はアリ。破壊的なメソッドまたはバグを突くような方法はナシ。


裁量と自動売買どっちがおすすめ?


個人的には自動売買の方がいいかなーって考えてます。(自身でプログラム組める人は)
自身でプログラム組めずに誰かのプログラムを買ってって人は裁量もやった方が良いかなー


正直好みの問題でもあるので絶対こっちってのは無い。
その上で私が自身でプログラム組める人って書いたのは、トレードで負けてもプログラムノウハウは裏切らないってのがあるから。
自身でプログラム組めれば取引ロジックの変更なども出来るし何らかの方法で収益は出すことが出来ると考えてます。


まぁ今の気持ちを書いただけなので将来どう考えているかは知りません。
やっぱ裁量サイコーって言って裁量メインで取引しているかもしれませんしw


ちなみに承認欲求を求めるのであれば裁量かな。

TMシグナルインジゲータをFXのスキャルピングで運用したらどうなる

TMシグナルインジゲータをFXで運用したらどうなるのかを検証してみました。
簡単に説明するとバイナリーオプション(ハイローオーストラリア)用のインジゲータをFXで運用したらどうなるのかの検証ですね。


もちろんTMシグナルインジゲータはFX用のインジゲータでは御座いませんので期待はしていませんw
ですがバイナリーオプション逆張りで良い感じに成績が出ているのでFXでも逆張りスキャルピングでいけんじゃないのかなーって淡い期待をせずにはいられませんでしたw

バックテスト条件など運用


通貨ペア : USDJPY
時間 M5(5分足)
ヒストリカルデータ Dukascopy
期間 2014/1/1 - 2018/12/30 5年程
エントリーは逆張り
StopLoss=20 => 120まで最適化
TakeProfit=20 => 120まで最適化

エントリーは順張りでもテスト
Moment trueとfalse両方でテスト

結果発表


もったいぶってもあれなので早速結果発表。

はっきりと言って儲かりません。勝率も最適化などを行いましたが50%超える事はなかったですねー

酷い結果だと勝率25%などもあったので、これは順張りであればいけるかもと思ってテストするも勝率は低いままw

利益が出ない理由

FXはスプレッドがありスキャルピングだと小さいスプレッドが大きく影響して勝率を上げる事が出来ていない。

FXのエントリータイミングとは違うバイナリーオプション用のロジックなのでエントリーのタイミングが合っていない。


因みに5分足以外にも1分足だとどうだろう?と思い検証してみましたがダメですw
5分足よりも結果がひどいw

結論

TMシグナルインジゲータはバイナリーオプション(ハイローオーストラリア)用のインジゲータ!!

FXの逆張りタイミングとは違うロジックが入っているのか逆張り、順張り共に結果は悪い。
もしかしたらUSDJPY以外の通貨であれば成果の出る通貨もあるかも知れませんが。。。うーん。調べるの面倒w

TMシグナルインジゲーター用のバイナリーオプション自動売買プログラムの構築準備

自分用メモ

"TMシグナルインジゲーター"のバックテストがある程度完了したのでバイナリーオプション(ハイローオーストラリア)自動売買プログラム構築に入っています。
今までのバイナリーオプションの自動売買プログラムは基本即エントリーの自動売買のロジックを行ってきたので次足を考慮したプログラムを考えていませんでした。
※プログラム自体の作成はしたことあったのですが今迄のロジックは即エントリーの方が成果が良かったので使ってないし、ちゃんと組んでこなかったといった感じ。

自動売買プログラムのロジック前提

最初は即プログラム同様に事前にブラウザ立ち上げておいてエントリーのアラートを把握してエントリーってのを考えていましたが今回のTMシグナルインジゲータの様な次足エントリー場合は事前ブラウザは必要ないのかなーと。
プログラム書いてる途中で思ったのでプログラムロジックの方向転換。


簡単に書くと
■今まで
事前にブラウザ立ち上げて待機 => MT4などでエントリーのタイミング => エントリー


■今回のパターン
MT4でエントリーのタイミング把握 => ブラウザ立ち上げ => エントリー

エントリー足の15-20秒前に把握出来ればブラウザ立ち上げてエントリーでも間に合うんうじゃね?といった考え。


基本は事前にブラウザ立ち上げて待機している方が良いかと考えますが時々不具合起こすといいますかブラウザを立ち上げっぱなしにしているとページが固まったり、何かしらの不具合が発生するんですよね。
その対策として適当なタイミングでブラウザを落として立ち上げたりといった処理をいれていました。
もしかしたら運用PCのスペック問題の可能性もあるのですがブラウザ立ち上げっぱなしも完璧ではない。
※運用PCはノートパソコンですがメモリも8gでcore i 7(古い)のでブラウザ動かす程度であれば問題ないとは考えますが。。。なぜかブラウザ立ち上げっぱなしだと時々ブラウザで不具合起きるんですよねー


なので今回は次足なのでその都度立ち上げで良いような気がしてます。(実際運用してみないと何ともですので運用して追って報告します。)

次足エントリーの都度ブラウザ立ち上げエントリーの問題

都度ブラウザ立ち上げで問題になってくるのがMT4の時間とブラウザの起動時間。
運用をイメージした時にエントリータイミングがきていざエントリーのタイミングってなったとしてもブラウザが起動中ってのは頂けない。
アラートのタイミングの把握は難しいのですが自動売買のブラウザ起動時間は測定出来るので早速テスト。

ブラウザ起動してエントリーするまでの時間テスト

実際にブラウザを自動売買プログラムで動かしてエントリーするまでの時間を把握してその時間分を考慮してMT4及びアラートデータの取得のタイミングを計る。

自動売買のバックテスト

実際のブラウザ起動からエントリーまでの実時間を測定

処理内容
  1. ブラウザ起動
  2. クイックデモ選択
  3. 取引を始める選択
  4. HighLowタブ選択
  5. 15分選択
  6. 全ての資産を選択
  7. 通貨ペア入力 ※一括入力ではなく一文ずつ入力しています。
  8. 通貨ペア選択
  9. 終了時刻の2番目を選択
  10. 金額入力 ※一括入力ではなく一文ずつ入力しています。
  11. High or lowを選択
  12. 今すぐ購入を選択


f:id:hogehoge_kato:20190713010443g:plain



この流れを自動売買プログラムにて構築してブラウザ起動から今すぐ購入選択までのベンチマークを記録しています。

適当に何回か実行して様子をみる。

ブラウザは2種類
Firefox, Chrome

実際の自動売買の実行時間

Firefoxの場合
他でブラウザ起動していない状態
処理概要 12.370185199892148s
処理概要 11.762579799862579s
処理概要 11.181782899890095s


他でブラウザ起動した状態
処理概要 11.221059600124136s
処理概要 13.282766799908131s
処理概要 13.061269599944353s

※ffヘッドレストモードではエントリーが出来ない?


Chrome
他でブラウザ起動した状態
処理概要 11.068493400001898s
処理概要 10.834517000010237s
処理概要 10.724587799981236s
※テスト中に止まったりすることが何度かあった。

chromeヘッドレストモードではエントリーが出来ない?

実際に自動売買プログラムを動かしての結果

●ブラウザ起動からエントリーまでの時間は色々な条件で何度か試しましたがChromeの方が早いです。
平均して1-1.5秒程FirefoxよりもChromeの方が早いです。


Chromeは時々エラーを起こして処理が止まります。
要素確認などの処理をいれているのですが無視されるのか止まります。


FirefoxChromeよりもエントリー時間までの処理は遅いのですがテスト中は止まったりする事は少ない。


●最速タイムを目指す為に要素確認などの処理を除いた場合はどうなのか? => さほど処理時間に影響はない。
要素確認と似たよう対策としてクリックするタイミングを各1秒又は0.1秒程開けて検証したらどうなのか?なども考えたのですが、さすがに各処理に1秒などの余裕を持たせるとエントリー処理までに20秒とか必要になりそうなので違うのかなーと。
一応各クリック処理などの前にfind_elementでHTMLタグの存在は確認出来ているはずなので大丈夫とは考えていますがどうなんでしょうかね?


ヘッドレストモードで実行すれば負荷少なそうだし早くなるかも?と考えましたがエントリー途中で止まってエントリー出来ませんでした。
理由は分かりませんが今すぐ購入前に選択するHighボタン又はLowボタンを選択する所で処理が落ちます。
誰かか詳しいかたいればコメント下さいませ。


Firefoxはもしかして事前にアプリ立ち上げておけば少しは実行速度早くなるかも?と考えてFierfoxを立ち上げた状態でも自動売買プログラムを実行してみましたが対して変わりません。(むしろ少し遅くなるw)

バイナリーオプション(ハイローオーストラリア)の自動売買プログラムのブラウザ結論

Chromeの方がエントリーまでの時間は早いが何度かプログラムが止まったりと安定に欠けるのでバイナリーオプションの自動売買プログラムで利用するブラウザはFirefoxに決定。


エントリーする時間の15秒前前後にMT4のアラート情報を取得させます。


今の所都度立ち上げを行う前提のロジックであればFirefoxですが将来はChromeを使っているかもしれません。 エラー処理が出来るブラウザであれば正直どれでも一緒の様なきもします。

他に良い方法など御座いましたらお気軽にコメント下さいませ。