FC2ブログ

ストキャスティクスと平均足

EA作成中
01 /26 2019
「移動平均でスキャルEAを作ってみた」も「ダイバージェンスでスキャルEAを作ってみた」も右肩上がりのバックテストになるのは良いのですが、フォワードでは散々な結果で・・・・
┐( ̄ヘ ̄)┌ 
他の方法を模索しています。

両方のスキャルEAではフィルターとして使用している平均足の「Volatility Quality」をシグナルとして使えないかとか、ストキャスティクスのGMMAのような「Spuds Stochastic Thread Theory」でシグナルができないかなどなど、いけてる手法を集めています。

Volatility Quality

VQテスト

オシレータ窓に3つインジケータを表示しました。
1つめが、オリジナルVolatility Qualityの表示です。
2つ目が、変化のない場合は赤(ダウン)・緑(アップ)トレンドの表示をしないように改造したもの。
3つ目が、一定の数値以上の乖離がないとアップ・ダウントレンド表示をしないもの。

3つ目のVQシグナルは、チャートに表示しているカウフマン適応型移動平均のシグナルのノイズが消えたシグナルになりそうです。ただトレンド終了付近でのシグナルは防げそうにありません。
なにかフィルターが必要になりますね。

Spuds Stochastic Thread Theory

期間6~24までのストキャスティクスを19本表示してGMMAのように見た目で判断できるようにした手法です。

Spudsテスト2

1.貝殻のパターン
2.ロープのパターン
3.網のパターン

3つのパターンからオーダーと決済をするのですが、1の貝殻はよくわからないのでスルーして、ロープと網でのトレードを考えてみます。

まずは色の説明です。期間6~13までは水色、期間14が赤、期間15~24がピンクにしています。
そして全部の色が集まるとロープになります。
水色とピンクがクロスしまくるとになります。

またストキャスティクスですから、20%と80%で買われすぎ、売られすぎ判断をします。

・買いオーダー:20%以下でロープができたら。
・売りオーダー:80%以上でロープができたら。
・決済:網ができたら。(「ロープができたら」もですね)
 
どれも絶対しなきゃ!というわけではなく、裁量で判断が必要です。
上図では青丸以外のオーダーは上手くいっているようです。1回めの決済はトントンですが。

めっちゃ省略していますので、詳しくはいろいろ説明しているサイトを見てみてください。
なぜ省略したかというとシンプルにしたほうが他のテクニカルの併用や裁量の余地があるからです。
 
このインジケータも作成しましたが、多く表示しすぎているのか20%と80%の表示ができません。
そして19本も必要なの?w
本数を調整して無料で出してみようかなー

パペ太メモ

いろいろなテクニカルがあって面白いのですが、変更したインジケータって無料配布OKなんでしょうか?

今回のインジケータはとりあえず出品する予定はないのですが、もし調整したら良いインジケータになった!ということになると出品したいですしねー

まずはストキャスティクスでEA作ってみますか。

モデリング品質と時間足

EA作成中
01 /12 2019
前回の続き:
バックテストのチェックをしていると、モデリング品質という項目が気になり調べてみました。モデリング品質を上げるにはヒストリカルデータの品質を上げればいい、そして1分足ごとではなく、ティック毎のデータを使えば良いんじゃないかというところ・・・でした。

DUKASCOPYのJForexでティックデータがダウンロードできるということで、DUKASCOPYにデモ口座を作成しJForexをインストール。そして無事ダウンロード画面にたどり着きました。

ティックデータダウンロード 
ティックデータをダウンロードしようとすると、MT4のフォーマットのhstでは1分足以上を指定してくださいって・・・??

も、もしかして?!
MT4自体が1分足でデータを持っていて、ティックでのバックテストができないのでは?
( ̄へ ̄|||) 
試しにDUKASCOPYの1分足データでバックテストするとモデリング品質24.99%><
おおーい (TヘT)

MT4のバックテストでモデリング品質を上げるには5分足以上じゃないとダメみたいですね。
5分足でバックテストするとモデリング品質は90%になりましたとさ。

MT4ではなくJForexに移植してバックテストする必要があるのかな?

JForex

DUKASCOPYではJForexが推奨チャートツールになっています。
このJForexではインジケータ、自動売買ソフト(ストラテジー)をJavaで作成できます。
MT4はMQLという特殊な言語ですが、Javaがネイティブで使えるとは。乗り換えようかなー

そしてMT4ではVPSを月額2000円程度で契約して24時間動かす必要がありますが、DUKASCOPYでは、ストラテジーをリモートサーバーで実行できます。それも無料で!

そんなことを検討していると、もう一ついい考えが。

OANDA REST API

なんとこちらはPythonです。

Pythonで作れるということは、ディープラーニングでの予測が楽に組み込める可能性があります。
そしてPythonは実装が楽!
売れませんけどねw
自分で使うだけなら No Problem.

そして24時間の稼働もAWS Lambdaを使えば、多分無料で運用できます。

VPS

実口座はConohaで運用しています。(Linux上でMT4を動作させているので月額900円+税)

調べてみると、AWS、Microsoft Azure、Google Cloudでは、12ヶ月無料でその後も1500円弱で使用できるようです。
(AWS(Amazon)はデモ口座での自動売買にもう使っています)

特にMicrosoft Azureは安い(月額9$程度)ので乗り換えようかなと思っています。
12ヶ月無料なので、ながーいお試しができます。
動作がもっさりしていたり、レイテンシが落ちたら戻しても良いですしねー

安定しているAWSに実口座を移動し、デモ口座をAzureで試して、良ければAzure1本かなー
Office365 soloで割引とかできれば良いなぁ。

パペ太メモ

どんどん安価で良いクラウドサービスができてきますね。
アンテナ張ってないと損します。
( ̄- ̄;)

EAは5分足にして改造を行っていますが、取引数が大きく落ちる(1/5)ため調整に時間がかかりそうです。


バックテストの信頼性

EA作成中
01 /06 2019
バックテストのチェックをしていると、モデリング品質という項目が気になり調べてみました。
モデリング品質 
25%って低いですよね。(_ _|||)

他のEAを見てみると、90%程度になっています。
┐( ̄ヘ ̄)┌ 

ヒストリカルデータ

パペ太はFXDDから1分足のヒストリカルデータをダウンロードして使用しています。

しかし、MT4は1分足より小さい単位=TICKで動作しています。
1分足でもリアルタイムでは上下しますから、データはTICK単位で保存されます。
MT4を常に動作させている環境では、常にTICKで保存され続けます。

FXDDのヒストリカルデータは1分足が最小単位です。
TICKでデータを供給できませんから、MT4が擬似的にTICKデータを作成しているということです。

え~・・・そういう大切なことは最初に言っておいてもらわないとw

パペ太のバックテスト環境はFXDDからのヒストリカルデータなので、擬似的にしかバックテストができません。
テクニカル指標は確定した値(1足前の終値、初値、高値、安値)で計算するので実際のデータと変わりませんが、オーダー値(Ask、Bid)は擬似的に作成されます。当然、クローズする値もですね。
そしてリアルタイムでは不定期なTICKの発生があるため、意図しない動作を起こす可能性があります。・・対処が必要ということですね。

TICKデータ

バックテストのヒストリカルデータをWebで調べると「FXDD」からダウンロードするのが一般的のようです。
しかし、TICKデータはありません。
今から過去に戻ってMT4を終夜運用するわけにも行きません。

「デューカスコピー」にデモ口座を作ると1日毎にダウンロードできるようですが、一括はできないようです。

調べてみると「tickstory」というサイトでダウンロードサービスがありました。
ただし無料では過去1年のみ。( ̄□ ̄;)

とりあえずモデリング品質を上げるために過去1年のバックテストを行ってみました。

バックテスト結果

残念です。(TヘT)

モデリング品質NAレポート モデリング品質NAグラフ

収益は半分以下になってしまいました><
最適化をしたので、S/L30PIPSで勝率が87%になっています。S/Lが大きくなったのでグラフも乱れていますね。

そして何ですか?この「n/a」って?
 モデリング品質NA
ダウンロード失敗?
そういえば無料だと対応MT4がVer1160までってなっていたような。使っているMT4はVer1170・・・
惜しい ( ̄- ̄;)
無料で最新版には対応しないよってことですね。

やっぱり1万円払って有料会員にならないとだめなのかなー

パペ太メモ

利益の出るEA作成の道のりは遠いです><
まさか、こんな落とし穴があるとは。いろいろハマりながら少しずつ進みましょう。

ダイバージェンスでスキャルEA作りました

EA作成中
01 /05 2019
まず、Diver Eye出品しました。


MACD,RSI,CCI,ストキャスティクスのダイバージェンスと、プライスアクションを表示するインジケータです。

ダイバージェンスってトレンド転換だと言われていますが、本当に有効なサインなの?という疑問からインジケータを作成しました。
そしてEAも作ってみました!

ダイバージェンスでスキャルEA作りました

スキャルEAなので、S/Lは10PIPS、T/Pは(最低)5PIPSです。USDJPY 1分足で試してみました。

2018-時間フィルタ 2018-時間フィルタ-グラフ 
0.1ロット、2018年1年間で、利益が1917.22 PFが1.21 勝率が55%・・・勝率は低いですが、利益は十分ですね。証拠金10万円として19万円の利益が見込めます。1年間で約3倍になりますね。

EAでこれだけの利益が出るようなダイバージェンス!
使えるやつですねーo(⌒ー⌒)o

移動平均でスキャルEAを作ってみた


「移動平均でスキャルEAを作ってみた」も、まだまだ手を入れています。
週末クローズの実装や、ディバスキャ(ダイバージェンスでスキャルEA作りました)の細かいロジックの調整をフィードバックしたりしています。

2018-週末フィルタ 2018-週末フィルタ-グラフ
2018年1年間のバックテストでは、利益が2384.37 PFが1.24 勝率が83%とまずまずです。
こちらも1年間で3倍になりますね。(S/L=18PIPS、T/P可変)

でも「まずまず」ではねー ┐( ̄- ̄)┌ 
と思って、均スキャとディバスキャを合わせてみました!!
・・・残念ながら、ただ合わせるだけでは足の引っ張り合いになってしまい、収益がだいぶ落ちてしまいました。難しいですねー EA開発への道は遠いです。

パペ太メモ

この正月休みで均スキャEA、ディバスキャEAを出品できるレベルにしたかったのですが・・・
もう終わりですよ。( ̄へ ̄|||) 

でも、均スキャEA、ディバスキャEAの取引数は1日10回以上なので、まだ勝率を上げられるかなーとぼんやり考えています。
なにか良いテクニカル指標があれば良いなぁ・・
使えそうなインジケータを思いついたらまた出品を考えようと思っています。

移動平均でスキャルEAを作ってみた その2

EA作成中
01 /04 2019
トレンドフォロー型のEA「移動平均でスキャルEAを作ってみた」を作成中です。
10年以上、右肩上がりのEAはやはり難しいですねー
ナンピン・マーチンゲールとか、10年の最適化をすれば何とかできるんでしょうけど・・・

ただカタログスペックが「10年右肩上がりのEA」で、実運用してみると「?」なEAがたまにあることを知っていると、目指さなくてもいいかという考えがムクムク大きくなってきました。

定期的に最適化をすれば使えるEAになるんじゃない?!
そんなコンセプトで作ってます。

そして一番重要視している要素は「スキャルピング」です。
スキャルピングは、○取引数が多く、○損切りが早い=S/Lが小さい、□T/Pは少なく、○ポジションを持っている時間は短い取引方法ですよね。

「移動平均でスキャルEAを作ってみた」EAは、1日の取引数が平均10以上、S/Lはデフォルト18PIPS、T/Pは可変(デフォルトでは最低3PIPS)です。

最適化≒カーブフィッティング

2018年に最適化しています。
最適化≒カーブフィッティング
多かれ少なかれEAのパラメータは最適化を行っています。
どの区間で最適化するかは開発者次第ですが、2005年からのバックテストの場合はFXDDのヒストリカルデータを使っていると思いますので、2005年から現在の取引の最適化を行っているのがほとんどでしょう。
(よくバックテストのデータ・グラフをEA販売サイトで掲載しています)

そういうEAが成績が良いのかというと、レビューで見かける「2,3ヶ月は良いんですけど、その後はあまり良い成績ではない」という感想が表しているように、バックテストのようには収益を上げてくれません

結局は「今のトレンド」、ここで言うトレンドは上昇・下降ではなく、「相場の雰囲気」という意味のトレンドですが、そのトレンドは過去とは異なる動きになるということでは無いでしょうか。

ならば、直近のカーブフィッティングを定期的に繰り返していく方が、現在のトレンドを反映できます。
手間がかかる+内部ロジックを晒しているようなものなのでEAの開発者はやりたがらないとは思いますが。

「移動平均でスキャルEAを作ってみた」のバックテスト

さて2018年で最適化を行った2014年~2018年12月31日のバックテスト結果です。
2018-USDJPY-M1-fitレポート
純益4723.86(0.1Lot)、PF1.07、総取引数22152回。1日18回の取引です。
2018-USDJPY-M1-fitグラフ2018年だけで行うと純益2200程度で、収益のカーブからも2017~2018年に合ったトレードだと判断できます。

勝率は80%ですが、大きくT/Pを稼ぐタイプのEAでは無いので純益が少し控えめになっています。
2018年だけで考えると、1年間で22万円程度(証拠金10万円程度)の利益が出るため、まぁまぁな成績だと思います。

2018-USDJPY-M1-SL50.png
勝率を上げるにはS/Lを大きくすれば良いのですが、コツコツ・ドカン型になるため収益は下がります。
S/L50PIPSでは93%ですね。ナンピン・ループ型のシストレのように500PIPSとかにすれば、98%以上になり、ほぼS/Lにかからなくなります。(2019年1月3日のドル円のような相場では無理ですけどねw)

バックテストとフォワードテスト

バックテストではスプレッドが最小1.0PIPSで、フォワードテストではデモ口座でも実口座でもスプレッドが低いです。それが吉と出るのか凶と出るのかが、フォワードテストをしないとわかりません。
(今年のおみくじは「小吉」( ̄- ̄;) でも商売は「売買ともに利益が出ます」でした。o(⌒ー⌒)o)

またバックテストでは、実際のTICK(プライスデータの時間間隔)で動作していないのでプログラムによっては挙動が変わったり、価格の捉え方が違ったりします。
バックテストでは良いEAがフォワードテストで良いとは限りません。

またデモ口座で良いEAが、本口座で良いとも限りません。
本口座とデモ口座が違うFX会社では値動きから違いますし、本口座とデモ口座のサーバーの場所が違えばレイテンシの違いなどもあります。
そしてデモ口座と本口座では約定率が違います。
よくコメントで「フォワードと自分の口座の動きが違う」という書き込みを見ますが、FX会社、デモ口座と本口座、サーバー位置で動きが違いうのは当然です。フォワードと同じトレードにするには少なくとも同じFX会社の口座、同じVPS会社で運用すべきですね。

EA開発では、バックテスト(信頼性中)→フォワードテスト(信頼性高)→実運用となります。
なるべくフォワードテストと実運用を近づけるために同じFX会社でテストしたほうが良いですね。

パペ太メモ

「移動平均でスキャルEAを作ってみた」が完成に近づいてきたので、まずはフォワードテストをしてみたいと思います。

さて利益が出るのか?楽しみです。
o( ̄ー ̄)o


パペ太

パペ太は自動人形(EA)を操るという意味で、puppeteer(人形遣い)から付けました。
高収益のEAを目指して日々悩んでいます。