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

Bitcoinの自動売買のあれこれ

FX及びバイナリーオプションに最適なPCと環境とは

FX及びバイナリーオプション時に最適なPCと環境って何だろうと考えて、ある程度落ち着いてきた。
半分自分メモ
2019年5月現在の私の考え。なので将来はきっと変わっていると思います。
個人的にPCが大好きで妄想するのが好き。

また自動売買のプログラミングといいますかバックテストなどを頻繁に行わない前提での話。
バックテストと最適化を頻繁に行う人はなーんも考えずに高スペックPCを買うのが幸せかな。(20-40万円近くの。)


■必要なPCスペック
裁量と自動売買する程度であればハイスペックなPCは必要ないと考えます。
市販の10万円程度のノートPCで十分。
3-6万円のネットブック的なのでも対応できなくはないけど、もう一声あると安心的な。

CPUのこだわりはなくてもいいのですがメモリは最低8GBは必要。
バイナリーオプションは基本ブラウザベースでAjaxJavascriptバリバリなのでブラウザのメモリは多い方が良い。
特にchromeはメモリをがっつりフルで使ってくるので、数時間ページを開きっぱなしにしていると動かなかったりする。
肝心な時に取引出来ないのはつらいのでメモリは多めが良き。


個人的にはノートパソコンをおすすめ。
絶対ノートパソコンでないとダメって事ではないのですが私の周りの勝ってる人はノートパソコンの利用率が高いかな。
※少数での判断なので気にしなくてもおけーw

一応のメリットしては
1. 家又はカフェなど色々な場所で取引出来る。気分転換にもなる。
2. ノートパソコンにはバッテリーがついているので万が一コンセントから電源抜けても取引機会を失わない。
3. 取引しないときはモニター閉じて画面を見ないで済む。


あると結構便利な機能

"タッチパネル"
私はバイナリーオプションSurface goをメインマシンにしていますが思いのほかタッチパネル便利。
特にバイナリーオプションの裁量取引の時なんかマウスを使わないでタッチパネルでトレードした方が早い。
マウス操作よりもタッチパネルの方が便利。(バイナリーオプションだけね。)
もしバイナリーオプションで稼ぎたいのであればタッチパネルのPCをおすすめ。

タッチパネルのPCは実質Surface 系になるのかなーと。

マイクロソフト Surface Go (128GB/8GB) MCZ-00014

マイクロソフト Surface Pro 6 [サーフェス プロ 6 ノートパソコン] Office Home and Business 2019 / Windows 10 Home / 12.3 インチ Core i5/ 256GB/8GB

ノートって画面が小さいから。。。って考える人もいますが、外部モニターを利用すればOKです。
私もノートの画面だけでは辛いので以下記載のモニターを利用しています。

■必要な環境
モニター
ウルトラワイドモニター
私が利用しているのは34インチのモニターです。
チャートを長い期間で見れるので裁量している人はウルトラワイドモニターはおすすめ。

私は27インチ4Kモニター=>34インチウルトラワイドモニターに変えました。
27インチ4Kっても結局はフルHD(1920x1080)で利用していたので4Kの意味が。。。多少綺麗に表示されるってのはあるかとは思いますが。

ノートパソコンのモニターでも検証含め出来なくはないのですが、出来れば大きなモニターはあった方がよい。

■通信環境
光回線であれば何でもおケー。FX(MT4)だけであれば低速なモバイルsimでも大丈夫な気がします。
超高速のプログラム取引をするのであれば話は変わってきますが、もしそんな取引するのであればpingを調べて近くのリージョンでVPSを借りてプログラムを動かした方がいい。


■その他(個人的にあって便利だった系)
複数台のPC(ノートパソコン)
バックテストの検証を複数台同時に行えるは本当に便利。
過去10年分のバックテストで最適化項目が増えると1通貨の一つの時間で数時間とか掛かります。
それをメインPCで行うとバックテスト中他の作業が何もできないのでバックテスト及びフォワードテストは他のPCにお任せ。

やり方としてはRDBリモートデスクトップ)でネットワーク内の別のローカル内のPCに入れるようにしておく感じです。
リモートデスクトップであればメインのモニター(私の場合はウルトラワイドモニター)と同じ画面で作業が出来るので全く問題なしです。

↑実は仮想通貨のマイニング用に購入したノートパソコンで価格下落でそれらは使わなくなったのでいくつも部屋に転がってますw

RSIを利用した逆張り手法を検証してみた。

RSIを利用した逆張り。誰しもが一度は考えた事ありますよね。
私は何度も考えてまして手動でチャートをポチポチして見る限りでは結構イケてんじゃないかなーとw

RSIとは簡単に説明するとRSIの指標が70以上で買われすぎ、RSIの指標が30以下であれば売られすぎって感じです。

買われすぎると利確売りが入り売られすぎだと買いが入るので、その反対側に動くんじゃないかなーって。
数値だけを見ればいいのでめっちゃ簡単な指標ですよねー

ただ気を付けないといけないのは損切ロジックをいれとかないとRSIの指標が70以上になったからって売りを入れても逆方向に行くこともよくありんごです。

売買ロジックとしてのベースはRSI70以上で売りを入れてRSI45で利確、再びRSI70以上になった場合は損切、買いは逆でRSI30以下で買いで入れるRSI55で利確、再びRSI30で損切。

基本はこのロジックをベースに最適なRSIの指標を探していくといった感じ。
指標の詳細が気になる人はご連絡下さいませw
検証した事ある人なら分かると思いますがRSI70、RSI30の単純な逆張りでは利益でませんのでw


でプログラムを組んで検証してみました。

■ 検証状況
通貨ペア : USDJPY
ヒストリカルデータ Dukascopy
期間 2018/1/1 - 2018/12/31
Model Every tick
lots 0.1
最適化でいくつかの条件を設定して一気に検証


時間 M5(5分足) いくつかの条件にて

profit total trades profit factor expected payoff drawdown drowdown
447.64 893 1.24 0.5 102.51 1.00%
425.45 1628 1.13 0.26 143.6 1.41%
402.04 1150 1.16 0.35 128.62 1.27%

時間 M15(15分足) いくつかの条件にて

profit total trades profit factor expected payoff drawdown drowdown
354.73 547 1.21 0.65 137.47 1.34%
316.3 407 1.24 0.78 252.27 2.46%
315.08 456 1.22 0.69 158.19 1.53%

時間 M30(30分足) いくつかの条件にて

profit total trades profit factor expected payoff drawdown drowdown
483.48 344 1.32 1.41 244.91 2.37%
447.39 305 1.36 1.47 144.73 1.41%
350.64 392 1.22 0.89 231.98 2.22%

時間 H1(1時間足) いくつかの条件にて

profit total trades profit factor expected payoff drawdown drowdown
608.68 135 1.47 4.51 281.89 2.60%
512.29 135 1.36 3.79 251.49 2.36%
412.59 135 1.22 3.06 465.08 4.59%

時間 H4(4時間足) いくつかの条件にて

profit total trades profit factor expected payoff drawdown drowdown
967.72 30 2.67 32.26 483.6 4.49%
942.99 30 2.63 31.43 483.6 4.49%
872.53 30 2.48 29.08 483.6 4.49%

去年1年間の全ティックにて調べた限りだと5分足と1時間足で結構よさそうな予感。

イケそうやん!!これはレバレッジ効かせれば儲けられそうやん!!

って事で2014年からの5年ほどで再度検証。
検証。
検証。
検証。




はい。全滅。ほとんど利益出ませんw

何でなんだろうなーそれなりに利益が出る様なといいますか特定の期間では利益出るので間違ってはない気がする+普遍的なオシレーター系のテクニカル指標なので爆益とはなりにくいのですが利益が出ないって事も少ない様な。。。


だからって順張りにしちゃうと2018年は死んじゃうしねー

うーん。

誰か分かる人いれば指摘して頂けると幸いです。

時間があるときMACDや平均足でも検証してみよう。

FXバージョンのドテン君のフォワードテスト実施中

複数の通貨ペアと時間足でのバックテストの結果から4パターンにて為替のドテン君をフォワードテストを実施しています。
まだ数日なので何とも言えませんが本日は利益がガッツリです。

各パターンで約10%以上の利益が出てるんじゃないかと。

f:id:hogehoge_kato:20190424001041p:plain

まぁ数カ月かけて様子をみていきます。

ドテン君をFXで運用してみた。結果修正。利益マイナス=>プラスへ

先日ドテン君をbotを運用してバックテストをしてみたらマイナスになっておすすめ出来ないって記事を書いたのですが設定ミスってました。
先日のテスト時はControl pointsで行っていましたが、今回はEvery tickにて再検証。

正直時間が掛かるのでEvery tickは面倒で最終的な確認程度で考えていたのですが結果が全く違う。。。
といいますかマイナスが利益の出るロジックになってる。

設定状況は全く同じにしています。
最適化で一気に検証してます。

以下結果報告
■ 検証状況
通貨ペア : USDJPY
時間 H1(一時間足) H4(四時間足)
ヒストリカルデータ Dukascopy
期間 2014/1/1 - 2018/12/31
Model Every tick
lots 0.1
usd通貨にて

利益順
2014/1/1-2018/12/31 every tick H1
期間 profit total trades profit factor expected payoff drawdown drowdown
70 4544.04 256 1.56 17.75 1054.8 9.11%
80 3725.08 230 1.45 16.2 1273.26 10.84%
50 3454.09 380 1.31 9.09 1285.97 8.81%
40 3027.6 494 1.23 6.13 1313.79 11.03%
60 2974.08 316 1.29 9.41 1476.13 10.92%
90 2618.3 216 1.3 12.12 1506.12 12.86%
10 1688.87 1942 1.06 0.87 1194.21 9.47%
20 1565.71 989 1.08 1.58 1448.96 12.19%
30 1502.4 654 1.09 2.3 1518.76 13.10%
100 539.2 208 1.06 2.59 1924.55 17.51%



2014/1/1-2018/12/31 every tick H4
期間 profit total trades profit factor expected payoff drawdown drowdown
10 4114.54 478 1.34 8.61 1042.99 7.91%
20 3947.24 236 1.48 16.73 1281.08 10.97%
70 2598.41 62 1.69 41.91 892.38 8.78%
80 1763.32 58 1.47 30.4 1321.08 11.38%
50 1471.96 96 1.25 15.33 1171.3 11.03%
60 1264.04 84 1.23 15.05 1130.08 11.08%
30 1060.36 178 1.12 5.96 1505.76 12.84%
90 674.6 56 1.15 12.05 1858.59 16.78%
40 23.02 132 1 0.17 1552.83 13.66%


■レビュー
H1であれば70期間でのドテン狙い。H4であれば10期間でのドテンがベターかなー
H4であれば70期間もいいかもです。

H4の10-30期間辺りで再度詳細を検証してデモ口座でフォワードテストを数カ月回して様子をみます。

■おまけ
実は上記の期間でより利益を上げる方法として複利をつかうと37.93倍利益を出す事が出来ますw
複利ヤベーただドローダウンも大きくなるのでタイミング(時期)次第かな。

何か良いアイデアあればコメントくれると嬉しいです。
システム作っちゃいますw

ドテン君をFX(外国為替のUSDJPY)で運用したらどうなるの?

ドテン君ってBotをご存知でしょうか?
2018年の3-4月頃に話題になったbitcoinの自動売買botプログラムです
買いと売りが必要なのでBitflyer FXとBitmexでの運用が中心となります。

AKAGAMIさんとUkiさんがTwitterで話題にして一時期盛り上がったBotです。
私も知り合いと色々話しながらどの期間がいいのかなど検証して運用もしていました。
結果としては有効でしたが、私は信じ切る事が出来ずに継続運用はしていませんでした。

直近のBitcoinの値上がりを受けて再度私の周りで検証する人がちらほら。。。

ドテン君を簡単に説明すると、ある一定期間の高値安値をブレイクするとそのブレイクした方向にエントリーしていき、決済のタイミングは逆方向の高値安値の時に決済+ブレイク方向にエントリーといった感じ。
常にポジションを持ってドテンを繰り返していきます。
トレンドフォロー型の自動売買になり、勝率は低い傾向で利益を出す時に大きく出す手法かと考えます。(一年以上前なのでどの程度の勝率だったか忘れましたw)
損小利大型のBotなのかなーと。


で、そのドテン君をFXで運用したらどうなるのかって話。
Bitcoinで検証した時にもUSDJPYで調べた事もあって利益は出てたと記憶していたのですが、正確に調べていなかったんですよねー
主にtradingviewで検証したのですがさかのぼれる期間が短い事もありましたので。

https://www.tradingview.com/chart/IaP4fBCP/



以下簡単に結果報告
■ 検証状況
通貨ペア : USDJPY
時間 H1(一時間足) H4(四時間足)
ヒストリカルデータ Dukascopy
期間 2014/1/1 - 2018/12/31


■ 結果

期間 H1 プロフィットファクタ 最大ドローダウン
10 0.68 99.04%
20 0.77 63.49%
30 0.82 47.95%
40 0.95 22.88%
50 1.08 16.76%
60 1.09 15.93%
70 1.27 11.90%
80 1.27 13.67%
90 1.1 15.67%
100 0.91 22.06%

参考までに期間20のブラフ
f:id:hogehoge_kato:20190409021501g:plain
うーん。順調に損失を出してますねーw



期間 H4 プロフィットファクタ 最大ドローダウン
10 0.89 32.65%
20 1.13 12.11%
30 0.95 16.94%
40 0.88 19.84%
50 1.09 14.60%
60 1.04 11.84%
70 1.53 9.23%
80 1.3 12.23%
90 1.05 17.86%
100 0.92 21.32%

参考までに期間20のブラフ
f:id:hogehoge_kato:20190409021520g:plain
利益は出ていますが安定していないなーと。おすすめの設定ではないなーと。



■ レビュー
勝てる期間もあるがどうなんでしょうねー
期間70-80足は、このドテンロジックは間違っていない、自分は勝てると信じ込まないと辛い気がする。

また今回の検証では期間70足、80足のバックテストは1000回もトレードしていないので信用出来ないですしねー
世間的にはきちんとした検証するのであれば直近10年程度のバックテストと1000回以上の売買をーって言われているので興味ある方はぜひ検証おねしゃす。

ちなみに今回のプログラムで10年通しても勝てる期間設定と利益を出す設定も見つけましたのでしばらくデモ口座で運用して良い感じだったら販売するかもですw
単純なドテンに一手間加えてます。
興味がある方は以下に今回の検証のソースコードの概要を記載しているのでよろしければどうぞー


■おまけ
知り合いからMT4(MQL4)のプログラム教えてーって言われたので今回のロジックの概要を案内。
バックテスト用のプログラムって感じですので細かい所は自身でお願いします。

extern string Doten_term_view = "ドテンの間隔  初期値は適当に18にしています。";
input int    Doten_term       = 18;
extern string Lots_view       = "ロット数";
input double Lots             = 0.1;
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
{
    return(0);
}

//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
{
    return(0);
}


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
    int BuyCount  = 0;
    int SellCount = 0;
    int Ticket    = 0;
    int ErrCode   = 0;
    // 最安値最高値を求める
    int HighestIndex = iHighest(NULL, 0, MODE_HIGH, Doten_term, 1);
    int LowestIndex = iLowest (NULL, 0, MODE_LOW , Doten_term, 1);
    double HighestRate = High[HighestIndex];//期間中で最も高い高値
    double LowestRate = Low [LowestIndex];//期間中最も安い安値

    
 
    // オーダー情報取得
    for ( int i = 0; i < OrdersTotal(); i++ )
    {
        // オーダー選択をここに記載

        // オーダー確認をここに記載
        
        // 買いポジションカウント をここに記載
       
        // 売りポジションカウントをここに記載
 
        // オーダーチケット番号取得をここに記載
       
        // ループを抜ける
        break;
    }
 
    // 安値更新で成行売り
    if ( LowestRate > Low[0] && SellCount == 0 )
    {
        // 買いポジションがあれば決済
        
 
        // レートのリフレッシュ
        RefreshRates();
 
        // エラーがなければ成行売り
        
    }
 
    //  高値更新で成行買い
    if ( HighestRate < High[0] && BuyCount == 0 )
    {
        // 売りポジションがあれば決済
      
 
        // レートのリフレッシュ
        RefreshRates();
 
        // エラーがなければ成行買い
        
    }
 
    // エラーがある場合はエラーコードを出力
    if ( ErrCode > 0 )
    {
        Print( "ErrCode=" + ErrCode );
    }
 
    return(0);
}
//+------------------------------------------------------------------+

MT4バックテスト用のヒストリカルデータ取得方法誰か教えて。。。

自分用メモといいますか誰か良い用法あれば教えて欲しいです。

MT4でバックテストを行うにあたってある程度データがきちんとしているヒストリカルデータが欲しいと考えています。
誰か良いヒストリカルデータの取得先しりませんか?
適当に検索する限りだとFXDDが有名なのかと考えますが2016年だったかどっかの年に歯抜けがありそれを解決したいと考えてます。
現状はFXDDを利用しています。
簡単なテスト程度であれば歯抜けのデータでもいいのかなーと考えてますが、一応きちんとしておきたいって事で。


■候補
1) FXCMのBasic Historical Data Downloader
https://www.fxcmapps.com/apps/basic-historical-data-downloader/


2) AlpariのMT4からデータダウンロード
MT4の標準ヒストリカルデータからダウンロード
https://alpari.com/

3) HISTDATA_COMからダウンロード
https://www.histdata.com/download-free-forex-data/


4) Dukascopyからダウンロード
https://www.dukascopy.jp/home/


■結論
3と4しかデータダウンロード出来ませんでした。


■状況
1) FXCMダウンロードスタートするもデータダウンロード出来ず。
ダウンロード状況のバーが全く動かず。
理由も全く分からない。。。有料のモードもあるのですがうーん。しばらく色々いじってみましたが諦めました。

f:id:hogehoge_kato:20190405033423p:plain

2) Alpariのツール>ヒストリーセンターでUSDJPY 一分足選択してダウンロードを選択
ダウンロードを選択すると以下の様なダウンロードアラートが表示されます。
```
"MetaQuotes Software Corp"ヒストリーセンターからデータをダウンロードしますが、お客様の口座は"Alpari International"トレードサーバに開設されています。
```

f:id:hogehoge_kato:20190405032816p:plain

本当であれば↑のアラートは表示されずデータがダウンロードされるはずなのですが私の環境ではなぜかダメ。
別PCでも試したが同じ。
アインストールして再インストールしたりもしたけどダメ。
現在Alpariにお問い合わせして回答待ちです。

3) こちらは問題なくダウンロード出来ました。
ちょっと面倒なのは一年単位でのダウンロードになるのでMT4にインストールが若干面倒。

4) こちらも問題なくダウンロード出来ました。
面倒もなく一番おすすめ。

f:id:hogehoge_kato:20190405033217p:plain

細かいやり方はこちら
https://fx-ea-automated-trading.com/2018/12/16/post-948/

ローソク足の連続性の検証。何回連続で陽線(陰線)が出た時の次足は?

知り合いから3回連続で陽線(又は陰線)が出たら次足はその反対の足になる確率ってどうなん?って聞かれて実際どうなんだろうって事で検証してみました。
確率だけで言えば連続で同じ足が出ても次足は陽線陰線の確率は50%になるのかなーと考えていますが、実際検証した事がなかったので。

知り合いが3回連続の次足は反対になる気がするって言っていたのでねー
テクニカルと組み合わせてると確率は変わってくるのかと考えますが今回はそれ関係なくって事で。

■検証内容
2018年の一年間 USDJPY
5分足
連続足の次足でハイローで入ると考えてwin or loseで判定

2018年
3足
陽線でwin 4149 53.81%
陽線でLose 3561
陰線でwin 4113 53.53%
陰線でLose 3571
合計 15394 53.67%

4足
陽線でwin 1933 54.42%
陽線でLose 1619
陰線でwin 1866 54.42%
陰線でLose 1563
合計 6981 54.42%

5足
陽線でwin 839 54.41%
陽線でLose 703
陰線でwin 876 55.90%
陰線でLose 691
合計 3109 55.16%

6足
陽線でwin 380 56.05%
陽線でLose 298
陰線でwin 385 56.29%
陰線でLose 299
合計 1362 56.17%

7足
陽線でwin 166 56.08%
陽線でLose 130
陰線でwin 155 54.58%
陰線でLose 129
合計 580 55.34%

8足
陽線でwin 71 56.35%
陽線でLose 55
陰線でwin 71 56.35%
陰線でLose 55
合計 252 56.35%


■結果
単純な勝率だと6足(6回連続)と8足(8回連続)の陰線が一番高いですねー
陽線陰線の確率は50%ではなかったです。
若干ですが偏りがあり。ですがこれだけで取引するのは難しいかなーと。

■勝つパターン戦略
勝率だけでは6足又は8足って事になりますが、利益(勝率×取引回数)を考えると3足ですかねー
利益を出すことを考えるとペイアウト率2倍のスプレッド有でエントリーが有効かなと考えます。
※次足エントリー出来る事を考えるとスプレッド有でもイケる気がする。(気がするだけ)

回数と優位性があるのであればマーチンで逃げれるかもと。

■利益額(想定利益)
2000円エントリー
3足での想定利益 => 2,260,000JPY
6足での想定利益 => 336,000JPY

って事で3足。