俺にも執筆活動させろボケ

FXCM→FXPROに鞍替えしました。


日食なつこ「エピゴウネ」弾き語りバージョン - YouTube

最近はまってるアーティスト。ものすごくタイムリーな歌詞がグッときます。

 

2月はスイングばっかりやってるもんであんまりだったんだけど、

それでも一応pipsベースにしても金額ベースにしてもプラスのはずなんだけどどうにもfxproにくらべてFXCMだとシグナルの絶対数がかなり少ないようでfxpro-300pipsぐらいで余裕でマイナス。

普段の月だったら1000pipsほど利益が上がるっぽいのでなあなあにしてたかもしれませんがこれにはブチ切れ。ダメダメな月が早めに来てくれたお陰で日本の認可されたものを諦めてfxproに一直線です。

数カ月前にデモ口座を紹介してからFxproはリアルでも使いたくなるような改良(1000通貨単位や銀行送金に対応したり)が多く個人的に好感度がかなり上がってきている業者です。

MT5も始める気マンマンだしcTraderもやってるし、一応日本語でもサポート受けれますメールとスカイプっぽいですけど。

HPのチャットで日本語でサポートしてって言ってみたらHelp的なテンプレを30行ぐらいいっぺんにはられて最後に日本のメアドくれました。

チャット欄が高速で超スクロールしたんでビビりましたが。

っていうかさ

3ヶ月ちょっとで収益率もうすぐ100%よ

pipsにしたら5300ぐらい。デモだけどさ、最初からfxproでお金も貯金があったらって考えると萎えるよね。

リアルの方は右下の方にmyfxbookのリンク貼ってあるよ。

貯金ぐらいしとけ&業者下調べぐらいしとけって話ではあるんだけどさ。

f:id:nemui3900:20150318204624j:plain

 

Mt4-4400339 System by nemui3900 | Myfxbook

 

 

f:id:nemui3900:20150318205824g:plain

あと低ボラが続いて危機感を煽られたので

ネット巡回で見つけてきたイメージをもとに閃いた

低ボラ用のFlyByってEAは途端ボラリティが上がって出番なしです。これが3通貨ペアではなく7ペアぐらい効いてくれたらうはうはだったんですがそう甘くはなかった。

 

まあいまんとこあんまり噛み合ってないですねいろいろと、三ヶ月後にはもっと金額的に楽になって笑ってられるといいなと思いつつ。

トレンドに乗る

トレンドは長めに続いてそれに乗っていけば利益が上がるというのがスイングトレードの基本理念です。

もっともシンプルなトレンドの検知方法とは何でしょうか?

上げ相場であれば価格が上がっているということが最もシンプルな解答でしょう。

つまりClose[3]<Close[2]<Close[1]であればトレンドBuyと判定します。

ほおっておけば儲かることとシグナルを検知した時点のプライスの方向が異なることがあるようではトレンドに乗っかったとは言えないということです。

f:id:nemui3900:20140910205129p:plain

具体的に言えば-5から-3の状況がBuyシグナルです。

f:id:nemui3900:20150316204845p:plain

つぎの図のように延々と上がり続けた場合

右にずらした時点でもBuyシグナルが出続けるためにSellのシグナルは出ないことになりますがスイングトレードではそれで良しとします。

むしろ未来永劫続いてほしいと願うべきです。なぜならば

f:id:nemui3900:20150316205201p:plain

多くのスイングトレードでは利益(取り分)はトレンド検知してからの保有時間が長くないと十分な取り分が受け取れないからです。

短すぎる場合得てしてマイナスになってしまいがちです。

f:id:nemui3900:20150316210533p:plain

上がり続けることがトレンドと言いました。

だからClose[3]<Close[2]<Close[1]

それが最も美しく完成されたシステムトレードなのですが残念ながらこれでは儲かりません。

そもそも上げのトレンドとはほっとけば上がり続けるという条件だけです

だとすれば本来はもっと自由なわけで、もっと具体的に言えばClose[2]は必要ないので

Close[3]<Close[1]これでも上がり続ける方向に乗れます。

Momentumという手法です。

これは前回説明した3の手法の基本概念です、シンプルなEAで利益を上げる考えとは得てして大したことがないのです。

しかし、Close[3]<Close[1]というシステムで利益が上がるかといえば疑問です

なのでもう少しだけヒントを出すと

Closeというものを比較するのがいいのかという問題があるんじゃないかということを常々思っているわけです。

なんで一番キリの良いタイミング、時間が繰り上がるタイミングにつけた一瞬の価格だけを比較して上がっている下がっていると結論づけてそれであっているのか。

それをもっとうまくやれば十分機能する前回の3のシステムが出来ると思います。

nemui3900.hatenablog.com

nemui的スイングトレードの基本的な振る舞い

 

スイングのロジックの基礎(設計図の基礎図みたいなもの)。

トレンドはわりかし長く続くと仮定してその上で

システムの評価の為に回数は必要(Live取引を始めてもついて回る事)。

回数がなければ大数の法則はつかえない、しかし必要経費に負けないために出来るだけ長くポジションをとっておきたい。

スイングのロジックはこの矛盾した2つの問題をはらむ。

そのためにはドテン売買が基本になってくる。

なるべく長く滞在するためには直近の値段についていくことになる、順張り系のロジックであることは生き残る上で最も重要。

もちろん一つの戦略では到底足りないのでいくつも作って管理しないといけない。

通貨ペアもできるだけ多く採用したい。

 

 

ドテンの順張りのロジックで必要なこと。

 必要な物は意外と簡単でSellかBuyのサインしかいらない、

そのサインが前回(ポジションの方向)と違っていればトレードするだけでいい。

もしサインが頻発しても方向に連続性さえあれば騙しは少なくすむ。

f:id:nemui3900:20140910203853p:plain

 

in-outの2つのルールはいらない

常にinだけあればよくて一つのシンプルなルールによって堅牢性がもたらされる。

この思想は過剰最適化へのアンチテーゼにもなる。

 

価格の最もシンプルな捉え方

買いたい人と売りたい人の差分で価格は決定されるために

とてつもなくシンプルな図にしてやるとこうなる。

f:id:nemui3900:20140910205129p:plain

-1を持った人によって価格は下げられて。

+1を持った人によって価格は上げられる。

その差分の方に動くので差分のみを考えてよいことになります。

 

Aの地点を見てくださいそこで買いで入ったAさん、逆にBの地点で買ったBさんもいます。

この図の中で一番正しいのはAさんとBさんどちらか?

Aさんが買った時点で他に誰もいなかったので0点、

逆にBさんが買った時買いの派閥は増えに増えて他にも5人もいて5点。

正しさはBさんにあって、一番高値を掴んだのもBさん。

直近の買いと売りの派閥の多い方に一番多い時(正しい時)に入ると直近の高値(安値)を掴む。

 

よく言う少数派であれってやつですな。

 

全てはタイミング

 Aさんに誰もがなりたいがスイングトレーダーは-5や-1の時点でポジションは取れない。

価格についていく順張りトレーダーは安値が更新されている間や高値が更新されている間には同方向のポジションしか取れないという呪縛がある。

ではどうするか-4や-2で入ることになる、それで騙しが増えて負けるようならば-3.5や-2.5に更にずらす。場合によっては-3でも優秀なシステムになる。

 しかし注意が必要なのは変数でタイミングをただずらすようなロジックにしないことだ。3には3のロジックを作り4には4のロジックが必要だということ。

そして他の通貨ペアにおいても同じように動作して検証しないといけないので3は3で4は4と区別できるようにすること、

間違っても15pipsで利確で5pipsで損切りなどとたわけたことを言ってしかもそれを最適化しようとしてはいけない。それは最も愚かな行為だ。

 

 

 

リスクリスクってお前ら何も知らないくせに

金融工学から言ったらリスクとはボラリティの大きさといってほぼ差し支えない。

スワップ派のためのFXポートフォリオ 標準偏差

は?ってやつはここをよく読むべきだ。

スワップはどうでもいいんですがものすごくためになる話です

必須の基礎がただで学べます。

 

あとはつねづね思うのだが

統計知識を優位性に変えるためにはダビスタの最強馬育成をある程度ガチでやりきったような特殊な人間じゃないと無理なのかもしれない。

とくに思うのはプログラムも中途半端、金融工学にも明るいわけでもなく、人より閃くわけでもない、しかし今のところ俺が順調なのは使えるシステムを捨てるかもしれないことを物ともせずに簡易テストしてバンバン捨てるサイクルを早めることで開発速度を上げたおかげだと思う。

ダビスタではバージョンによって根性があってもいけなかったりなくてもいけなかったり、体重が多いと能力を見ないで捨てるという側面があってトップの奴らに追い付くにはそんなところでもったいないなんて一瞬たりとも思って立ち止まるようではおいていかれるのである。思っただけで置いて行かれる恐ろしい世界であった。

 

元々の始まりは龍金さんの金言だったけど、

金言(受け売り) - nemui3900’s blog

 

 

システムトレードってのは総合プロデュース能力が重要です、自分の個々の必要なパラメータを冷静に判断して頑張って使えるレベルまで全体的に底上げしなければならない色が強いです。

自分が気持のいいゾーンなど心理的なものだけとか、俗っぽいテクニカルに時間をかけまくって明るくなってもしょうがないわけです。

FPSがクソうまい人が言ってた「マリオであれ」の実践です。要は穴がないすべてがうまくならないといけないって話、

一番ダメな部分をあげたら次にダメな部分をまた上げてってやっていけば理論上最強のマリオの出来上がり世界で通用します。

 

ネタがなくもないけど連載のコーナーがあるとblogが捗るのがわかったので近々スイングトレード概論って連載でもしようと思う。

 

 

MySQLにスプレッドを記入していこうのシリーズだが

DBの原則というか使い方の大まかな決まりって全然理解してないな、例えばBidとAskをほしいタイミングで入れるもんなのかな?

計算した結果をDBに入れていくのはだめなんだろうか例えば

fix口座から可変のレートが呼べるみたいなのでbid-ask-(fixbid-fixask)ってMT4の方で計算できるんでそれ自体を書いていくみたいな使い方ってやらないのかな?

なにをどう実装するのが正解なんだろうか、

まあ実践ハイパフォーマンスMySQLという書籍を買ったのでそれを読めば少しはわかるのかもしれない。

テーブルとかカラムとか全然覚えてないのをどうにかせねば。

ともかくもっと弄くるべきなんだろう。

MT4からMySQLに接続する。

まずはローカルからやってみる。

 

OnInItで接続して

OnDeinitで切断かな。

MySQL :: MySQL 5.1 リファレンスマニュアル :: 23.2.3.52 mysql_real_connect()

ログインに失敗するんだよなあ

 

https://www.mql5.com/en/articles/932

こっちのが楽に実装できそうだなあ。

なるほど

MyConnection.iniにパスとか書いとけばあとはほとんどそのままでいけるのか。

f:id:nemui3900:20150310185955j:plain

チャートを開きまくってって考えてたけど

ティックが更新されるってのを生真面目に考えずに一つのチャートの初めのティックで他の通貨もとってくるって感じにするか。

ただDBに接続するだけで終わってしまったぜ。

こんなのあるよっていう紹介になったなあ、まあやりつつ更新なのでしょうがないが。

次回までにMySQLを勉強しつつ実用に耐えるDBの設計をしたいところ。

 

 

 

MySQLの勉強を始めたけど

マンネリ化している、やっぱり道具は使ってこそなんで。

ほとんどDBのコマンド理解してない俺が超実践していく。

FXファッキン糞CMのせいで俺のお金がなかな帰ってこなくてクソファッキン暇なので。

FxProのスプレッド固定口座と可変口座ではどちらが得なのかざっくり確かめるためにちょこっとインディケーターでも作成してMySQLに外部出力してやるかってかんじです。

まず最初の値しか使わないのでバーの初めの値だけ計測してMySQLに書いていくことにします。

よくわかってないまま実装していくので

MetaTrader4の受信TickデータをMySQLに逐次記録するスクリプト作った | ヤノラボ:やのしん研究所

この辺が頼りです。

とりあえず何が必要かを整理します。

XAMPP

FxPro MT4 と

FxPro MT4 fix 用に2つフォルダを分けてインストール。

ずっと起動はめんどくさいのでVPSで動作させるためにこれらを全部VPSで構築します。

思ったよりも大掛かりになってきました。

コードとしてはバーの初めだったらスプレッドを作成してMySQLに時刻とシンボルと一緒に出力。

ついでにデモ口座でもスプレッドを出力してみることにする。

 

俺が使うシンボルセットと時間

30min 1H 4H

ということは30分で作成してDBに入れておけばいいわけか

シンボル

AUDJPY

AUDUSD

EURAUD

EURGBP

EURJPY

EURUSD

GBPJPY

USDCAD

USDJPY

GBPUSD

CHFJPY

ここからはあまりわかっていないので間違いや修正が入る可能性があるがDB名はデモ、FIX、Nomalという3つ?テーブルがシンボル名?

カラムが日時とスプレッドの2つ。

MySQLVPSでrootとパス作成しようとしてなんかコマンドが認識されない、VPSSSDだろうし自宅のPCのHDDに書き込むようにするか。

つーことでVPSから自宅のMySQLに接続するインジケーターの作成をしてみる。

 

MySQLに外部ホストから接続できるように設定する | Linuxで自宅サーバ構築

database:mysql:setup [Tipsというかメモ]

http://itmemo.net-luck.com/linux-centos-mysql-remote/

ふむふむユーザーの登録が必要なのね

コマンドプロンプトでMySQLモニタを起動しようとして、「mysql -uroot」... - Yahoo!知恵袋

VPSでうまくいかない理由はパッチがちゃんと登録できてなかったからだった。

やり直して成功だが接続はできない。

-hで接続するのね、ふむふむ。

ユーザーの登録もできているので接続するコマンドがまずいのか?

一度閉じてからもう一度やったら接続できたなあ。

これをインジケーターから接続して書き込むのかふむふむ。

なんかbuildが上がってからユニコードがどうとかいってたやつかなあ、まるで理解していないけど。

とりあえず書いてみるか。

一旦ここで終わり。

進捗はlibmysql.dllをいれて

#import “libmysql.dll”

と書いただけ。