tag:blogger.com,1999:blog-77851717017149396092024-03-14T16:44:43.656+09:00MT4&TradingView&株新ブログはこちらへ<a href="https://trv-and-mt4.blogspot.com/">https://trv-and-mt4.blogspot.com/</a><br>
<a href="https://trv-and-mt4.blogspot.com/p/v10.html">ハーモニックパターン検出インジケータV10取説</a>
だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comBlogger620125tag:blogger.com,1999:blog-7785171701714939609.post-30887791374921125112020-04-26T14:27:00.000+09:002020-04-26T14:42:06.488+09:00[株]4/27からは決算シーズン突入!個別株の選別が運命を分ける前回の個別株分析<br />
[個別株]恩恵銘柄はすでに上昇。ダイレクト影響銘柄にこそチャンスあり<br />
<a href="https://trv-and-mt4.blogspot.com/2020/04/blog-post.html">https://trv-and-mt4.blogspot.com/2020/04/blog-post.html</a><br />
<br />
でいくつか4月前半に銘柄を上げましたが、それぞれその後どうなったかをまずは調べたいと思います。。<br />
<br />
<blockquote class="twitter-tweet">
<div dir="ltr" lang="ja">
4/6の午前中にアップした記事の銘柄のその後。TKPが予想以上の上げを見せていました・・。撤退戦してなければ・・><<a href="https://t.co/jGcwDxKfIK">https://t.co/jGcwDxKfIK</a><br />
業績悪化株も結構反発していて決算怖い。アンファクが決算下げしているので反発している銘柄は注意。ミンカブ・SBI怖い・・・。 <a href="https://t.co/58giWVnrar">pic.twitter.com/58giWVnrar</a></div>
— 開発日記 MT4/TradingView (@mt4program) <a href="https://twitter.com/mt4program/status/1254179903915700224?ref_src=twsrc%5Etfw">April 25, 2020</a></blockquote>
<script async="" charset="utf-8" src="https://platform.twitter.com/widgets.js"></script>
一部決算すぎた後落ちている株も多いですが、どの株もいったんは利益確定するチャンスがありました。<br />
原油でボロカスやられましたが、4月はミンカブ・イーガーディアン・SBI・ブロッコリーを中心に利益確定できました。ありがとうございます。これらで利益出てなかったら死んでました。<br />
<br />
そして、わかりやすいコロナダイレクト影響株たちがリバウンドし始めています。決算経過後黒字を維持できるとさらに伸びる傾向があるようです。うーん?マネーゲーム?<br />
アンファクの値動きを見ると決算悪いと売り込まれそうなので、手は出しにくいですが、思いっきり下押しするなら100株だけなら買ってもいいかな?という株がいくつかはあります。<br />
<br />
さて、決算シーズン。個別株です。ここからは個別株の選択が勝敗を分けそうです。<br />
<br />
いつもTwitterで絡ませてもらっているオジサンの動画。今回は特に参考になります。図でわかりやすく分類されているので理解しやすかったです。<br />
<br />
ブログで紹介させていただきます。(DMで許可いただきました)<br />
<br />
<a href="https://www.youtube.com/watch?v=MUYEvpe40dI&feature=emb_title">https://www.youtube.com/watch?v=MUYEvpe40dI&feature=emb_title</a><br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/MUYEvpe40dI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/MUYEvpe40dI?feature=player_embedded" width="320"></iframe></div>
<br />
オジサンは動画の中で、次の4パターンに分けています。<br />
①一過性の特需型<br />
②大打撃セクターの逆張り<br />
③特に影響無し<br />
④特需継続型<br />
<br />
株価をざっと眺めると、<br />
①はすでにピークアウトしている感じです。<br />
②の大打撃セクターもいったん売りこまれていた為、リバウンド狙いの買いも参入しています。<br />
④の特需継続型については4308 Jストリームを中心にすでに急落前を超えている銘柄も数多い状態になっています。<br />
<br />
上記から私の戦略は①、②、④について、現在すでに値動きが発生しているものについては<br />
①完全スルー。ギャンブル<br />
②わかりやすいものは現物少数買っているので放置<br />
④決算空売り検討<br />
<br />
となります。さて、ここまではまぁ皆さん同じ戦略をとってきそうです。<br />
土日を使って一生懸命探しているのは、次の二つです。<br />
「③特に影響無いもの」<br />
「大打撃セクターだと思われているけど、実は①、④のもの」<br />
<br />
というのも2454 オールアバウトが94%の上昇修正を発表してPTSでS高を付けています。情報系サイトなのでテレワークなどで家にいることが多くなっている現在流入増加は確かにありそうと思ってしまいました。よく見るサイトなのに見逃しているというやらかし感。<br />
<br />
これを見て、まだあるのではないか?と考えました。<br />
なぜ見逃したのか?と思とオールアバウトはJASDAQ銘柄です<br />
<br />
株価を見ると4月はマザーズが強いです。マザーズ銘柄は大きく反発しています。新興株が多いということで着目されやすいためたくさんある株価からマザーズ銘柄が買われている状況です。<br />
私も4月はマザーズ銘柄を中心に利益をあげています。<br />
<br />
ですが決算となると別です。決算発表で一時的に注目されます。あえてマザーズを外して調べると底値でうろうろしている株がまだたくさんある事に気が付きました。<br />
<br />
そこで、その中から勝負すべき株を一生懸命探しています。<br />
<br />
SBI証券ではチャート形状検索ツールがあるのでこれを利用します。マネックス証券ならチャートフォリオです。<br />
<br />
<a href="https://site2.sbisec.co.jp/ETGate/WPLETmgR001Control?OutSide=on&getFlg=on&burl=search_domestic&cat1=domestic&cat2=none&dir=info&file=domestic_chartshape.html" target="_blank">チャート形状銘柄検索ツール</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJbZ5CNjw36BuXPmqp6EXqSqn5Pn7CaXbmG87eVSPre6Q6Wgz16n6ijiNubGswcegTHksM5Rlm3mibmfIry3Lkz6jnr4C9xeHf19w83X2xFz4asYCk43nBXxXQm0bwwzeotdqgrkMGSJk/s1600/%25E3%2583%2581%25E3%2583%25A3%25E3%2583%25BC%25E3%2583%2588%25E5%25BD%25A2%25E7%258A%25B6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="947" data-original-width="1404" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJbZ5CNjw36BuXPmqp6EXqSqn5Pn7CaXbmG87eVSPre6Q6Wgz16n6ijiNubGswcegTHksM5Rlm3mibmfIry3Lkz6jnr4C9xeHf19w83X2xFz4asYCk43nBXxXQm0bwwzeotdqgrkMGSJk/s400/%25E3%2583%2581%25E3%2583%25A3%25E3%2583%25BC%25E3%2583%2588%25E5%25BD%25A2%25E7%258A%25B6.png" width="400" /></a></div>
<br />
やれることが微妙に異なるのでどっちも使っています<br />
で底値圏をうろうろしている株を見ながら自分の考えに一致するものがあるか調査といった形です。<br />
<br />
SBIの方がチャート形状と業種を絞れるのでやりやすいかもしれません。また銘柄コード順にするとよく似た業種が続くのでその中から選びやすいです。<br />
<br />
とりあえず1つこれは?というのは見つけました。少々ギャンブルですがデータ的には+影響が出ていることを示していました。<br />
<br />
丸1日かけてひとつかよ!って感じですが、さすがになかなか難しいですね。あと見逃していたコロナ影響株でリバウンドが早そうな銘柄もいくつか調査しました。こちらは実際にトレードした結果でご報告します。<br />
<br />
現在保有している銘柄で当てはまるのはマクロミルです。<br />
3978 マクロミル<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.tradingview.com/x/1D2tg8Kb/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="800" height="351" src="https://www.tradingview.com/x/1D2tg8Kb/" width="400" /></a></div>
<br />
リサーチ系ということでセクター全体で下げていますがマクロミルが得意とするのはネット上のリサーチです。<br />
コロナ関係もあり対面リサーチ需要は落ち込んでいるはずですがネットリサーチは変わりに恩恵を受けているのでは?と思い買っています。来年の選挙に向けてリサーチ需要の伸びそうですし、韓国の子会社も韓国総選挙でのリサーチ需要も取り込んでいるはず。ということで株価が半額になるほどのマイナス業績になるのかな?と疑問に思ってます。<br />
<br />
③といえば、前からトレードしているこちら<br />
9505北陸電力<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.tradingview.com/x/57pyzzFr/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="800" height="351" src="https://www.tradingview.com/x/57pyzzFr/" width="400" /></a></div>
<br />
上方修正出るかと思ってたのですが出なかったので少し不安もありますが・・。<br />
<br />
無配期間が終了して、値上げ効果を見せつけるタイミングです。ついでに増配も来るととっても嬉しいなぁ25円来たら最高なのですが。配当だけで5万円もらえそう。先週水曜日までかなり頭を押さえられていたのですがやっと上昇基調になってきました。<br />
なお、原料費安ですが、短期的に急激に下がったので2020/03期には多少のプラスにはなるでしょうが、来期以降、自動的に調整されてしまう価格なのであんまり恩恵なさそうです。<br />
ディフェンシブ株の中で配当が見劣りするため他に出遅れているので増配する事ができればきっちりある程度までは戻っていくと考えています。<br />
年50円配当まで戻れるなら1000円は確実に超えるはず。ですので4/30の決算は配当予定に着目です。<br />
<br />
本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-5978807678633973642020-04-19T11:48:00.000+09:002020-04-19T11:52:47.641+09:00[ETF]先物とETFとCFDの関係、原油は上がる。ただしETFは上がらない先週、原油の期近つなぎチャートが20ドルから26ドルに跳ねあがり原油爆上げ!と大騒ぎになりました。<br />
これ先物をきちんと押さえていた人は何言っているの?ってなっていたかと思います。なぜならNYMEXの6月限の先物価格は前日27ドル台で中心月限が切り替わっただけのチャートの為です。<br />
といっても私も最初、最終取引日は5/22じゃ?と思っていた為、ここで切り替わるのおかしくない?って思いました。世界の株価が取得元としているCFDが切り替わったようです。このあたりのルールは、ちゃんと調べましたので後で詳しく書きます。結論からいうと私が間違って覚えていました。<br />
<br />
そこで、先物とETFとCFDの関係をまとめました。いま原油ETFを3か月以上持つ場合いかにチャンスが少ないかがわかるかと思います。<br />
<br />
<h4>
・先物とは?</h4>
<b>「将来の」</b>価格に対して原資産の引き渡しも含めて取引を行う商品です。<br />
そのため引き渡し日という期限が切られていて、その引き渡し日に現物を売買できる権利を取引きします。必要があれば現物を受け取ったり売却する事が出来ます。ただし大半はCFDと同様に差金決済されます。<br />
<br />
<br />
<h4>
・CFDとは?</h4>
「差金決済取引」となります。<br />
<br />
<b>「今の」</b>に対して、売りもしくは買いのポジションを構築して、決済した時に差額が利益となります。<br />
また、レバレッジをかけてトレードすることが可能です。<br />
<br />
CFDというと、いろんな商品(原油・株・株価指数など)に対する差金決済取引の事を差します。為替を対象にしたCFDはFXと呼ばれます。ですのでFXをトレードされている方はおなじみですね。<br />
<br />
CFDにはポジション保有期間の制限はありません。<br />
<br />
<br />
<h4>
・ETFとは?</h4>
対象の商品と連動するように設計された債権です。債権ですので株式市場で取引が可能です。ETFの場合は、現物もしくは現物をあらわす先物や債権をETFの資金を使用して売買します。日本の税制制度ではFXやCFDは株と損益通算ができませんが、ETFなら損益通算が可能です。<br />
<br />
余談<br />
よく似た仕組みでETNというのもあります。こちらは発行主体が価格が連動するようにETNそのものを売り買いします。原資産は売買しません。<br />
<br />
<br />
大まかに先物とCFDとETFの関係を示しました。<br />
これが株価指数だった場合とても分かりやすいです。<br />
<br />
「n月後」の株価指数を取引するのが先物<br />
「今の株価指数」に対して証拠金で差金決済するのがCFD<br />
「株価指数を構成する株」をまとめて債権で取引するのがETF<br />
<br />
となります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUdXP22TQmzEbZgjsS249hyEJjiTAW3otho7xydj-N35Bvxq7G0b_WK0V8tkiQKsi2WNVz_HsCo1Qd992ug-rBMWXt-Evg7RFOontRWCWYKPlrY1MAsMxRE526cv3eM7Pz9untMU2TOVk/s1600/ETFCFD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="649" data-original-width="673" height="385" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUdXP22TQmzEbZgjsS249hyEJjiTAW3otho7xydj-N35Bvxq7G0b_WK0V8tkiQKsi2WNVz_HsCo1Qd992ug-rBMWXt-Evg7RFOontRWCWYKPlrY1MAsMxRE526cv3eM7Pz9untMU2TOVk/s400/ETFCFD.png" width="400" /></a></div>
<br />
<br />
<br />
さて、これが商品を対象とした場合どうなるでしょうか?<br />
問題は「今の商品価格」とは?となります。<br />
<br />
話題の原油を例に取り上げます。<br />
<br />
原油の場合にも現物を取り扱う市場が存在します。最大手はNYMEXの原油スポット市場です。しかし実際にはNYMEXの先物市場の一番月限が近い価格を使用しています。これは一番取引高が多くカバートレードの行いやすい為です。<br />
<br />
CFDもETFも同じです。<br />
野村原油(<a href="https://www.jpx.co.jp/equities/products/etfs/issues/files/1699-j.pdf">https://www.jpx.co.jp/equities/products/etfs/issues/files/1699-j.pdf</a>)<br />
<br />
とすると、原資産が先物という事で将来の価格を表すことになります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-HHWj_CmQv7LqFMx3jkgGB4odtjmpkaHSkyv9kuFa0e7zeUHl6urCx3pwaFUbrabmokNX03QDE7JZ1c4BemhTvHCcHswieaCRB9d3TKd8SpmF8lsFJBXEQs2r2N8McEz0g17Jfj5930/s1600/ETFCFD2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="328" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-HHWj_CmQv7LqFMx3jkgGB4odtjmpkaHSkyv9kuFa0e7zeUHl6urCx3pwaFUbrabmokNX03QDE7JZ1c4BemhTvHCcHswieaCRB9d3TKd8SpmF8lsFJBXEQs2r2N8McEz0g17Jfj5930/s400/ETFCFD2.png" width="206" /></a></div>
<br />
ここで問題になるのは先物には取引期限があるということです。取引期限があるため先物はある特定の日になると終了してしまいます。<br />
そこで次の期に移る事になります。これをロールオーバーといいます。<br />
しかし先物は未来の価格を取引きしている為、差が発生します。これを解決する必要があります。<br />
<br />
CFDの場合<br />
ロールオーバーの際、価格差を「価格調整額」として支払い・徴収します。<br />
<br />
ETFの場合<br />
ロールオーバー後の価格を基準に置き換えます。<br />
<br />
チャートで表すと次のようなイメージになります。今原油先物では通常では考えられないくらいの差が開いています。ひと月後の原油価格は今より30%高い状況です。<br />
<br />
ここではわかりやすくするために、今後原油価格が横横で推移したとします。白い線がCFDの価格です。青い線がETFの価格となります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.tradingview.com/x/LDXPn1Sc/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="631" data-original-width="800" height="315" src="https://www.tradingview.com/x/LDXPn1Sc/" width="400" /></a></div>
<br />
このまま推移すると原油は3か月後には30ドルを回復します。<br />
しかし先物はすでに織り込み済みです。そのため、次のような形になります。<br />
<br />
・CFD買いポジションを持っていた場合のロールオーバー<br />
差額x倍率分を徴収されます。5月の場合は7ドル差あったため、レバレッジ10倍だった場合7ドルx10=70ドル/ポジションの価格調整額を徴収されました。<br />
<br />
・原油ETFの場合<br />
ETFの価格は変わらず、対応する価格位置が18ドルから25ドルへ変更されます。<br />
<br />
つまり買いポジションを持っていて見た目上は原油が30ドルまで上昇しているのにも関わらずCFDでは差額を徴収され、ETFは全く値上がりしないという事になります。<br />
<br />
このように期先が高い状態を順鞘(コンタンゴ)といいます。ちなみに期先が安いことを逆鞘(バックワーディション)といいます。<br />
TL上でコンタンゴが連呼されていましたねw<br />
<br />
つまり、今原油ETFやCFDで将来の原油高になるだろうと予想しても先物は見越して上がってしまっている為、直接的に儲ける手段はありません。<br />
それどころか、来週切り替えが発生したあと、スポット価格(4/18時点で18ドル付近)に寄せてくることを考えると売り方が圧倒的有利です。<br />
<br />
今原油ETFやCFDを買う場合は<br />
「ロールオーバー前に原油価格が上がりそうな場合」が発生するまでは手出し無用だと感じました。<br />
<br />
なお、原油先物における取引最終日のルールです。<br />
<a href="https://www.cmegroup.com/ja/trading/energy/crude-oil/light-sweet-crude_contractSpecs_futures.html">https://www.cmegroup.com/ja/trading/energy/crude-oil/light-sweet-crude_contractSpecs_futures.html</a><br />
<blockquote class="tr_bq">
当限の取引は、受渡月前月25日から3営業日前となる日に終了する。ただし、前月25日が営業日でなければ、25日の前営業日から3営業日前となる日に取引が終了する。原油先物が上場されてから、取引所の公式な休日スケジュールに変更があった場合でも、当初に設定された取引最終日は維持される。ただし、当初に設定された取引最終日が休場日に変更された場合は、その直前の営業日を取引最終日とする。</blockquote>
4月の場合は25日が土曜日なので、24日の3営業日前で21日で取引終了です。<br />
さらにCFDの場合はその2営業日前に切り替わるのが一般的ですので、17日切り替えで正しかったようです。<br />
<br />
この辺りは調査不足でした。<br />
<br />
ちなみに同じCFDでもGMOにエクソン・モービルの株価指数を対象としたCFDがあるので、どうせならこちらに賭ける方がよさそうに思えてきます。<br />
今44ドル付近で原油急落前までは70ドル付近でした。原油先物の順鞘の事を考慮するとエクソン・モービル株のほうが、まだ儲けがありそうに思えます。<br />
<br />
本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-78861550173842103102020-04-18T11:13:00.000+09:002020-04-18T12:50:00.465+09:00[MT4]オーダーを触るときはチケット指定が安全EAにてポジションをクローズする処理を書く場合、素直に書くとこのようなコードになるかと思います。<br />
これでもたぶん問題になりません。<br />
<br />
<pre> for( int i = OrdersTotal() - 1; i >= 0; i-- )
{
if( !OrderSelect(i, SELECT_BY_POS) ) continue;
if( OrderMagicNumber() != MagicNumber ) continue;
if( OrderSymbol() != Symbol() ) continue;
int order = OrderType();
if( order == OP_BUY )
{
//クローズ条件の算出
if( 買い側クローズ条件なら )
{
OrderClose(OrderTicket(), OrderLots(), Ask, 1);
}
}
else if ( order == OP_SELL )
{
//クローズ条件の算出
if( 売り側クローズ条件なら )
{
OrderClose(OrderTicket(), OrderLots(), Bid, 1);
}
}
}
</pre>
<br />
ただ、OrderCloseの処理がそれなりに時間がかかる処理なので、その間に他の条件でポジション数が変更になってしまうと、インデックスずれなどで想定しないポジションに対しての処理や、ポジションが処理されないなどの不安があります。<br />
<br />
そこで、このように一回チケットIDの一覧を取得して、その取得したチケットIDに対してOrderSelectをかけてやることで、その不安をある程度低減可能です。OrderCloseが100ms台の処理なのに対してOrderTicketなどの情報取得系は数ns台で処理されるためです。<br />
<br />
<pre>#include <Arrays/ArrayInt.mqh>
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CArrayInt positions;
int orderCount = OrdersTotal();
for( int i = 0; i < orderCount ; i++)
{
if( OrderSelect(i, SELECT_BY_POS) )
{
if( OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol())
{
positions.Add(OrderTicket());
}
}
}
int targetCount = positions.Total();
for( int i = 0; i < targetCount; i++ )
{
int ticket = positions.At(i);
if( OrderSelect(ticket, SELECT_BY_TICKET) )
{
int order = OrderType();
if(order == OP_BUY)
{
//クローズ条件の算出
if( 買い側クローズ条件なら )
{
OrderClose(ticket, OrderLots(), Ask, 1);
}
}
else if(order == OP_SELL)
{
//クローズ条件の算出
if( 売り側クローズ条件なら )
{
OrderClose(ticket, OrderLots(), Bid, 1);
}
}
}
}
}
</pre>
<br />
なお、このような形で、forの中をcontinueで次の条件に飛ばすような書き方にするとインデントが深くなるのが抑えられて見やすくなりますが、処理には影響ありません。<br />
<br />
<pre> for( int i = 0; i < orderCount ; i++)
{
if( !OrderSelect(i, SELECT_BY_POS) ) continue;
if( OrderMagicNumber() != MagicNumber) continue;
if( OrderSymbol() != Symbol() ) continue;
positions.Add(OrderTicket());
}
</pre>
<br />
ちょっとTwitterで話題になったので私なりの書き方をご紹介してみました。もし問題があればぜひご指摘お願いします。<br />
<br />
本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-77758468989650570412018-11-19T16:17:00.000+09:002018-11-19T17:44:05.295+09:00[雑記]インジケータの改造等やりたい方へコメントでよく、XXに矢印出したいです。どうやってやればよいですか?とか書き込みがあります。<br />
書き込みしていただいた方には、申し訳ないのですが、自分で使うつもりのないものを作成する事はありません。ちょっと技術的や新しいテクニカルツールなど気なる時には頂いただいたコメントを元に記事を作成することはありますが、単純に矢印を出してくださいといった事は対応できません。<br />
<br />
プログラムはできないけど、MT4でこんなインジケータがほしい!という場合、まず検索してみて無いようなら、FX-ONのクラウドソーシングという開発請負サービスがあります。ぜひ検討してみてください。<br />
<br />
その時の予算の考え方です。<br />
作業請負なので、最低限として、その人が作業する時間x1時間当たりのお金は必要です。<br />
<br />
業界単価ですと、最低限3200円/時間だと考えてください。<br />
個人でアルバイト代わりにやってくれる人だと、2000円/時間ぐらいでも受けてくれそうです。<br />
<br />
■既存インジケータの改造ご予算<br />
既存インジケータに特定条件で矢印を出すといった既存の改造の場合は2時間ぐらいからでも対応可能です。実際にはお客様とのやり取りにもう少しかかるため3時間といったところです。<br />
3200円/時x3時間=9600円<br />
<br />
ぐらいが受けてもらいやすい価格となります。<br />
<br />
■新規インジケータ作成ご予算<br />
<div>
1からインジケータを作成、計算式から構築するとなるともう少しかかるようになります。私のブログ記事であれこれ考えてアップしているやつは難しいもので(P&Fなど)で3日ほどかけています。</div>
<br />
そのため、1日8時間だとして、最大このくらい用意すると皆様受けてくれるかと思います。<br />
<div>
3200円/時x24時間=76,800円</div>
ここはインジケータの難易度によりけりですので、受けてくれる人と相談してみてください。超簡単なものであれば9600円ぐらいからでも受けてくれると思います。<br />
<br />
■EA作成<br />
EAとなると、開発者さんとちゃんと話あってください。<br />
バックテストで実際にうまい事結果が出ない時などに開発者さんと一緒に対応することが多いです。バックテストをしながら最適化もしくは新しい考え方の導入等をやっていくと、結構な日数が必要になります。<br />
結果が芳しくないGewinn9君ですら、10日間ぐらいはまじめに組んでいると思うので、単純計算でも<br />
3200円/時x80時間=256000円<br />
<div>
ぐらいかけています。</div>
<div>
<br /></div>
<div>
全自動系のEAでそれで勝てるようなEAはなかなか難しいかと思いますが、トレード補助系EAなら5万ぐらいあれば作ってもらえるかもしれません。このあたり開発者さんとよく相談する必要があります。開発者さんも不具合リスクがとたんに大きくなるため、高くなる傾向にあります。<br />
<br />
まぁ、EAについては、「ソースコード不開示、作成したEAは依頼者は自由に利用可、開発者は別途販売して開発費用を回収可能」ぐらいの条件を出すと安くやってくれる人いるかもしれません。<br />
<br /></div>
余談ですが、この前、ディープラーニングを使用したEA作成で2万で応募がかかっていましたが、ィープラーニング使って儲けることができるEAシステムを自力構築できるなら、1本2万で売るわ!!って突っ込み入れてました(汗<br />
<br />
余談2、PCまで買ってディープラーニングにさんざんチャートぶち込んで何日も回してみましたが、正直難しいですね。評価値が集約しません。ま、やっぱり基本ランダムウォークなんだろうなー。入力する通貨ペアを増やしていくと、GeForce1080の8Gではメモリ不足になるよー(泣)ってなったところで保留してしまってます。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-16259942066109759032018-10-23T16:47:00.001+09:002018-10-23T16:51:12.052+09:00[MT4]通貨強弱インジケータ更新■通貨強弱インジケータ(USDJPY H1)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwMBUmfPEMMrcy5zVDJ4oQe_78RlDmyE5DDzjH8B_d-w0dzsDQTAbaz9PyidOI49dY7FW8mP-fh_MLggt5qSKvHsPhTjSmVTJVEq6GYq9Lf2ie7AdxvIk3K9YEJNZFjcblXbp4Zhi6A_A/s1600/USDJPYH1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="593" data-original-width="967" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwMBUmfPEMMrcy5zVDJ4oQe_78RlDmyE5DDzjH8B_d-w0dzsDQTAbaz9PyidOI49dY7FW8mP-fh_MLggt5qSKvHsPhTjSmVTJVEq6GYq9Lf2ie7AdxvIk3K9YEJNZFjcblXbp4Zhi6A_A/s400/USDJPYH1.png" width="400" /></a></div>
<br />
<a href="http://mt4program.blogspot.com/2017/11/mt4usd.html" target="_blank">[MT4インジケータ]通貨の強弱をUSDを基準に表示する。その1</a><br />
<br />
ずいぶん前になってしまいましたが、宿題になっていた通貨強弱を利用したEAについて考察しています。直近だけ見るとUSDJPYがかなりいい感じですよね。<br />
TradersATRと合わせて表示しています。<br />
<br />
まぁトレンド時はいいです。問題はレンジ相場時です。<br />
JPYが0より上&ドルより上=円高トレンド<br />
0より下&ドルより下=円安トレンド<br />
それ以外レンジ<br />
<br />
てな感じで判別できないかなーと眺めている処です。<br />
ここ最近はリスクオン=ドル高、円高。リスクオフ=ドル安、円安という感じなので、ドル円がじり安じり高という値動きになっているからいい感じに見えているかもしれませんん。<br />
<br />
バックテスト用のEAを組んで検証したいと思います。<br />
その前に、通貨強弱インジケータの移動平均間比較のバージョンを修正しました。これをベースに検証します。値幅ではなくて率でみるのが大好きなので(笑)<br />
Ku-chartは、特定の開始日時からの乖離率で見ていますが、こちらは長期の移動平均に対する値を見ています。移動平均の遅れ量は一定なので、N本前の平均値を見ている形になるはずです。<br />
<br />
<pre><code>
//------------------------------------------------------------------
// 通貨強弱 インジケータ(通貨間平均値基準)
#property copyright "Copyright 2018, Daisuke"
#property link "http://mt4program.blogspot.jp/"
#property version "1.10"
#property strict
#property indicator_separate_window
#property indicator_level1 100
#property indicator_levelcolor clrWhite
#include <Arrays/ArrayString.mqh>
//バッファーを指定する。
#property indicator_buffers 9
input string sep10 = ""; //【計算設定】
input int MaPeriodBase = 300; // 比較元移動平均期間(大きな値)
input ENUM_MA_METHOD MaMode = MODE_EMA;// 比較元移動平均種別
input int MaPeriodTarget = 4; // 比較先移動平均期間(小さい値)
input ENUM_APPLIED_PRICE MaTarget = PRICE_WEIGHTED;// 移動平均対象価格
input string sep20 = ""; //【その他】
input string CurrencyPrefix = ""; // 通貨ペア名の前に付く文字列
input string CurrencyPostfix = ""; // 通貨ペア名の後に付く文字列
input int LabelDistance = 3; // 通貨名ラベル描画スペース
input string sep00 = ""; //【通貨】
input string Currency1 = "EUR"; // 対象通貨1
input color Color1 = clrDodgerBlue; // 対象通貨1色
input string Currency2 = "GBP"; // 対象通貨2
input color Color2 = clrMagenta; // 対象通貨2色
input string Currency3 = "AUD"; // 対象通貨3
input color Color3 = clrGreen ; // 対象通貨3色
input string Currency4 = "NZD"; // 対象通貨4
input color Color4 = clrSilver; // 対象通貨4色
input string Currency5 = "USD"; // 対象通貨5
input color Color5 = clrAqua; // 対象通貨5色
input string Currency6 = "CAD"; // 対象通貨6
input color Color6 = clrPink; // 対象通貨6色
input string Currency7 = "CHF"; // 対象通貨7
input color Color7 = clrPaleGreen; // 対象通貨7色
input string Currency8 = "JPY"; // 対象通貨8
input color Color8 = clrRed; // 対象通貨8色
//バッファ
double m_buffer1[];
double m_buffer2[];
double m_buffer3[];
double m_buffer4[];
double m_buffer5[];
double m_buffer6[];
double m_buffer7[];
double m_buffer8[];
//通貨一覧
CArrayString m_currencies;
//通貨ペア一覧
CArrayString m_currencyPairs;
//USDインデックス
int m_usdIndex = -1;
//オブジェクト名
#define OBJECT_NAME "OBJ_CURR_KAIRI"
//色配列
color m_colors[8];
//------------------------------------------------------------------
// 初期化
int OnInit()
{
ClearObjects();
IndicatorBuffers(8);
int count = 0 ;
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color1);
SetIndexBuffer(count++, m_buffer1);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color2);
SetIndexBuffer(count++, m_buffer2);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color3);
SetIndexBuffer(count++, m_buffer3);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color4);
SetIndexBuffer(count++, m_buffer4);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color5);
SetIndexBuffer(count++, m_buffer5);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color6);
SetIndexBuffer(count++, m_buffer6);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color7);
SetIndexBuffer(count++, m_buffer7);
SetIndexStyle(count, DRAW_LINE, STYLE_SOLID, 1, Color8);
SetIndexBuffer(count++, m_buffer8);
m_currencies.Add(Currency1);
m_currencies.Add(Currency2);
m_currencies.Add(Currency3);
m_currencies.Add(Currency4);
m_currencies.Add(Currency5);
m_currencies.Add(Currency6);
m_currencies.Add(Currency7);
m_currencies.Add(Currency8);
m_colors[0] = Color1;
m_colors[1] = Color2;
m_colors[2] = Color3;
m_colors[3] = Color4;
m_colors[4] = Color5;
m_colors[5] = Color6;
m_colors[6] = Color7;
m_colors[7] = Color8;
m_usdIndex = -1;
for( int i = 0; i < m_currencies.Total(); i++)
{
if(m_currencies.At(i) == "USD")
{
m_usdIndex = i;
break;
}
}
if( m_usdIndex < 0 )
{
//USDが見つからない場合、パラメータ異常
return INIT_PARAMETERS_INCORRECT;
}
//USDに対する通貨ペアを生成する。
for( int i = 0; i < m_currencies.Total(); i++)
{
if( m_currencies.At(i) == "" )
{
m_currencyPairs.Add("");
continue;
}
if( i < m_usdIndex )
{
m_currencyPairs.Add(CurrencyPrefix + m_currencies.At(i) + "USD" + CurrencyPostfix);
}
else if( i > m_usdIndex )
{
m_currencyPairs.Add(CurrencyPrefix + "USD" + m_currencies.At(i) + CurrencyPostfix);
}
else
{
m_currencyPairs.Add("USDUSD");
}
//線のラベルを設定する。
SetIndexLabel(i, m_currencies.At(i));
}
ChartSetInteger(0, CHART_SHIFT, true);
ChartSetDouble(0, CHART_SHIFT_SIZE, 12);
return(INIT_SUCCEEDED);
}
//------------------------------------------------------------------
//終了処理
void OnDeinit( const int reason )
{
ClearObjects();
}
//------------------------------------------------------------------
//計算イベント
int OnCalculate(
const int rates_total, //各レート要素数
const int prev_calculated, //計算済み要素数
const datetime &time[], //要素ごとの時間配列
const double &open[], //オープン価格配列
const double &high[], //高値配列
const double &low[], //安値配列
const double &close[], //クローズ価格配列
const long &tick_volume[], //ティック数(要素の更新回数)
const long &volume[], //実ボリューム(?)
const int &spread[]) //スプレット
{
int total = m_currencyPairs.Total();
//通貨の中心地をとるためにいったんの確保用配列を用意する。
double currentValues[];
ArrayResize(currentValues, total);
for( int i = rates_total - prev_calculated - 1; i >= 0; i--)
{
//インデックス範囲外の場合は、飛ばす。
if( i >= rates_total - MaPeriodBase ) continue;
//通貨のインデックス値と平均値を求める。
double average = 0;
for( int j = 0; j < total; j++)
{
string pair = m_currencyPairs.At(j);
if(pair == "USDUSD" )
{
currentValues[j] = 100;
}
else
{
double baseValue = iMA(pair, PERIOD_CURRENT, MaPeriodBase, 0, MaMode, MaTarget, i);
double targetValue = iMA(pair, PERIOD_CURRENT, MaPeriodTarget, 0, MODE_LWMA, MaTarget, i);
if( j < m_usdIndex )
{
if( baseValue != 0 && baseValue != EMPTY_VALUE )
{
currentValues[j] = targetValue / baseValue * 100;
}
}
else
{
if( targetValue != 0 && targetValue != EMPTY_VALUE )
{
currentValues[j] = baseValue / targetValue * 100;
}
}
}
average += currentValues[j];
}
average /= total;
if( average > 0 )
{
//平均値をベースに再度値を計算しなおす(割合ベース)
for( int j = 0; j < total; j++)
{
SetValue(j, currentValues[j] / average * 100.0, i);
}
}
}
DrawCurrencyLabels();
ArrayFree(currentValues);
return rates_total - 1;
}
//------------------------------------------------------------------
//通貨ラベルを描画する。
void DrawCurrencyLabels()
{
//ソート行う。
//とりあえずバブルソート
int index[8];
double rates[8];
ArrayInitialize(index, 0);
ArrayInitialize(rates, 0);
int total = m_currencyPairs.Total();
for( int i = 0 ; i < total; i++ )
{
index[i] = i;
rates[i] = GetValue(i, 0);
}
//ソート行う。
//とりあえずバブルソート
for( int b = 1 ; b < total; b++ )
{
for( int j = 0; j < total - b; j++ )
{
if( rates[j] > rates[j + 1] )
{
double work = rates[j + 1];
rates[j + 1] = rates[j];
rates[j] = work;
int indexWork = index[j + 1];
index[j + 1] = index[j];
index[j] = indexWork;
}
}
}
//通貨ラベルを更新する。
ClearObjects();
int sub = WindowOnDropped();
double max = ChartGetDouble(0, CHART_PRICE_MAX, sub);
double min = ChartGetDouble(0, CHART_PRICE_MIN, sub);
double distance = ( max - min ) / (total + 2);
datetime writeTime = iTime(NULL, PERIOD_CURRENT, 0) + PeriodSeconds() * LabelDistance ;
for( int j = 0; j < total; j++)
{
//描画対象通貨(インデックス)
int currencyIndex = (int)index[j];
//価格テキストを追加する。
string objectName = StringFormat("%s_TXT_%d_%d", OBJECT_NAME, sub, j);
if( ObjectCreate(0, objectName, OBJ_TEXT, WindowOnDropped(),writeTime , min + distance * (j + 1)) )
{
// 表示文字列
ObjectSetString(0, objectName, OBJPROP_TEXT, m_currencies.At(currencyIndex));
// アンカー
ObjectSetInteger(0, objectName, OBJPROP_ANCHOR, ANCHOR_BOTTOM);
ObjectSetInteger(0, objectName, OBJPROP_COLOR, m_colors[currencyIndex]);
}
}
}
//------------------------------------------------------------------
//値を設定する。
void SetValue(
int i, //配列番号0~7
double value, //値
int shift) //シフト
{
switch(i)
{
case 0:
m_buffer1[shift] = value;
break;
case 1:
m_buffer2[shift] = value;
break;
case 2:
m_buffer3[shift] = value;
break;
case 3:
m_buffer4[shift] = value;
break;
case 4:
m_buffer5[shift] = value;
break;
case 5:
m_buffer6[shift] = value;
break;
case 6:
m_buffer7[shift] = value;
break;
case 7:
m_buffer8[shift] = value;
break;
}
}
//------------------------------------------------------------------
//値を取得する。
double GetValue(
int i, //配列番号0~7
int shift) //シフト
{
switch(i)
{
case 0:
return m_buffer1[shift];
case 1:
return m_buffer2[shift];
case 2:
return m_buffer3[shift];
case 3:
return m_buffer4[shift];
case 4:
return m_buffer5[shift];
case 5:
return m_buffer6[shift];
case 6:
return m_buffer7[shift];
case 7:
return m_buffer8[shift];
}
return EMPTY_VALUE;
}
//------------------------------------------------------------------
//オブジェクトをすべて削除する。
void ClearObjects()
{
long chartId = ChartID();
int sub = WindowOnDropped();
int total = ObjectsTotal( chartId, sub );
//生成したオブジェクトを削除する。
//0から削除するとインデックス位置がずれて
//正しく削除できないため、後ろから削除するようにする。
for( int i = total - 1; i >= 0 ; i--)
{
string name = ObjectName( chartId, i, sub );
// 先頭文字列がRangeRectangleNameと一致する場合、削除する。
if ( StringFind( name, OBJECT_NAME ) == 0 )
{
ObjectDelete( chartId, name );
}
}
}
</code></pre>
<br />
<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-20789941120453258382018-10-19T11:51:00.000+09:002018-10-19T12:17:58.001+09:00[Gewinn]裁量トレード派に送るEURUSD攻略法 Gewinn9アルゴリズム解説Gewinn9はフラクタルを使用した逆張り系EAです。<br />
中身は単純です。今はやりのAIとかは(勉強はしていますが)横においておいて単純なアルゴリズムで実装されています。<br />
バックテスト上では+になっています。ここに人による裁量判断を入れれば、もっと取れそうです。<br />
<br />
ということで、自分用メモも含めてEURUSD裁量トレード派に向けてGewinn9のバックテストからわかったEURUSDの傾向と対策を公開したいと思います。<br />
<br />
なお、お約束ですが、これはバックテストの結果からみた傾向というだけで利益を保証するものではありません。ご注意ください。<br />
<br />
<h3>
1.週足を確認する</h3>
長期のトレンド判断には週足で見るのがよさそうです。<br />
見方は簡単です。週足チャートを表示して、MT4標準のFractalsインジケータを表示します。Zigzagも併せて入れておけばイメージしやすいかもしれません。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
でトレンドの確認方法ですが、Fractalsの頂点を上回るor下回るです。<br />
わかりやすいところだけ、青枠と赤枠で記述しています。<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvseN2KjqAYRnML5Flf8uHa3k5r97bKbCKsEccUXcOnRjkdMB92QrjDEDT-nMTpSzTs-hiJ8dO2jbBr_4VC5NKZqTHV-kJM5CELi_0TDBzQ81tk1VBZKR9RjCx4mkV_1xB-Auw6E4avlI/s1600/EURUSDWeekly.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="495" data-original-width="738" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvseN2KjqAYRnML5Flf8uHa3k5r97bKbCKsEccUXcOnRjkdMB92QrjDEDT-nMTpSzTs-hiJ8dO2jbBr_4VC5NKZqTHV-kJM5CELi_0TDBzQ81tk1VBZKR9RjCx4mkV_1xB-Auw6E4avlI/s400/EURUSDWeekly.png" width="400" /></a></div>
<br />
バックテストで確認すると、青枠の処では売らない、赤枠のところでは買わないという制御を入れるだけで、勝率が倍以上違います。<br />
特に前の足の高値安値を超えている場合には絶対に逆張りしないようにしましょう。<br />
<br />
逆に枠で囲ってないところは、売っても買ってもそれなりです。もっと時間の短い足で判断した方がいいことがわかります。<br />
<br />
<h3>
2.4時間足前回フラクタル超えは逆張りチャンス</h3>
特に2011年以降ですが、頂点を超えた際のブレイクアウトで順張りを狙うより、ブレイクアウト後の高値を狙って逆張りの方が勝率が高いです。<br />
最低でもブレークイーブンに終われるチャンスがあり、時によっては大きくとれるからでしょうか?<br />
Gewinn9ではW1のトレンド状態ではない場合、逆張りを狙います。<br />
4時間足のフラクタルを超えた処から逆張りを検討し始めて、1時間足でフラクタルが出るで売り仕掛けます。<br />
なお、次のバージョンでは、フラクタルが出る前に、陰線やら上髭で仕掛けてしまえと思ってテストしています。2011年からの成績は良いのですが、それ以前の成績がかなり波が出るのでリリースしようか悩んでいます。<br />
<br />
※EAでは実際にはH1の始値で判断するため、上髭つけた形になるともう少し下の位置で売ります。<br />
<br />
■EURUSD H4 フラクタル超えの売り位置<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHrYI0cRMZE_hFVY5kvtQAnrxc2ny3KDBejP9-PEiGed1CqhGIvkv_fmFhZny6LHznLoTQ5VZzJxKt7w7viZa-tTIK0LHd6Bsc-zX53oK8_w6Y2eScrDrh0OowIstL9PRq4nKWlXL0QJo/s1600/EURUSDH4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="738" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHrYI0cRMZE_hFVY5kvtQAnrxc2ny3KDBejP9-PEiGed1CqhGIvkv_fmFhZny6LHznLoTQ5VZzJxKt7w7viZa-tTIK0LHd6Bsc-zX53oK8_w6Y2eScrDrh0OowIstL9PRq4nKWlXL0QJo/s400/EURUSDH4.png" width="400" /></a></div>
<br />
■EURUSD H1 H4での矩形をH1で表示する<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicSsxqoyZ26vGhxPYUtURcn_EvWMlwGwWjwHLFYwlB0ZOQ7s0K9yaYgAvgEUYfv44q4tDMStCa3J9RIxgg8EFiiIydGiu8frE9ro9UYJuKxibaCVamGTUUZ330kUrUNnbF0f_HoLOb9l4/s1600/EURUSDH1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="738" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicSsxqoyZ26vGhxPYUtURcn_EvWMlwGwWjwHLFYwlB0ZOQ7s0K9yaYgAvgEUYfv44q4tDMStCa3J9RIxgg8EFiiIydGiu8frE9ro9UYJuKxibaCVamGTUUZ330kUrUNnbF0f_HoLOb9l4/s400/EURUSDH1.png" width="400" /></a></div>
<br />
上記の用に、H1フラクタルが出てから逆張り仕掛けても、2か所はブレークイーブン、2か所はそれなりにとれる形になります。<br />
<br />
<h3>
3.1時間足を見て仕掛ける</h3>
<div>
Gewinn9では、上の条件を満たしたら状態でH1でフラクタルが出たら売り買いするというアルゴリズムです</div>
<div>
</div>
■EURUSD H1 EAは赤◀のところで売りポジションをオープンします。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivavChKGhyphenhyphenQbLRC91hy-Kvryyz9d1ggKnDonSp0LLJwq0zXT6Uivxojh1-rgHDlaPAt5WnAG52n2LwvOb8cf9xGkODb1auIGc9wUAXq6aK_z2jNsFCepH5Wxj9NNJDXO0_oSHPYUp-Rns/s1600/EURUSDH1_ar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="738" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivavChKGhyphenhyphenQbLRC91hy-Kvryyz9d1ggKnDonSp0LLJwq0zXT6Uivxojh1-rgHDlaPAt5WnAG52n2LwvOb8cf9xGkODb1auIGc9wUAXq6aK_z2jNsFCepH5Wxj9NNJDXO0_oSHPYUp-Rns/s400/EURUSDH1_ar.png" width="400" /></a></div>
<div>
2本前に出ている上フラクタルですが、赤◀が示すバーの終値で確定しますが、それではさすがに遅すぎてチャンスを逃すということで、EAでは始値時点で2本前にフラクタルが出てればポジションオープンとしています。</div>
<div>
<br /></div>
<div>
上髭っぽいやつとかピンバーとかロウソク足形状での判断もありかなーと思っています。次のバージョンでいろいろ試したいなと。</div>
<br />
<h3>
4.損切Pipsを決める&両建てしない</h3>
<div>
損切を指定した場合と、指定しなかった場合では、かなり成績が違います。損切した方が成績が良いです。</div>
<div>
思った方向と逆行した場合は素直に損切して次のチャンスに備えた方がいいです。</div>
<div>
それもあまり大きすぎると一撃の損失がでかすぎるので、今回のようなテクニカルベースのデイトレの場合、前回高値安値+4時間足ATRかつ最大150Pipsぐらいがよさそうです。</div>
<div>
<br />
今回のEAでは実現できてないのですが、終値ベースでここを超えたら損切!っていうラインと、損失限定のポジションに設定する損切ラインは分けた方がよさそうな結果も出ています。このあたりまだテスト不足でV120ではちょっと大きめにとってます。<br />
<br /></div>
<div>
両建有り無し比較しましたが、同じアルゴリズムでトレードする場合は、両建するより、今持っているシグナルと反対方向のポジションを閉じた方がテスト結果は上でした。</div>
<div>
<br /></div>
<div>
(※EAでは、その場合ポジションクローズで終了。新しく逆方向のポジションは立てずに次の機会を待つようにしています。)</div>
<div>
<br /></div>
<div>
両建てを行う場合は、戦略が両建て前提になっているトレードに限るのかと思います。(例えば株主優待目的の両建て戦略とか・・・。)</div>
<div>
<br /></div>
<div>
<h3>
5.ブレークイーブン&トレイリングストップは有効</h3>
</div>
<div>
正直逆張りは、すぐさま戻ってきてしまう事も多々あります。その際損切Pipsまで耐えるのではなく、さっさと負けなしでポジションを閉じてしまう事も重要なようです。</div>
<div>
もう一回行きそうなら、その時にまたポジションをオープンするといことで。</div>
<div>
<br /></div>
<div>
MT4の場合は、決済サポートツールなどで、自動的に行うようにしておいた方がいいかと思います。FX-ONで購入可能な有名どころだと、決済サポート君でしょうか?</div>
<div>
<a href="https://fx-on.com/re/?i=yQBAsyaPahB0ujUPdgxg3tgzqgBOYodbfVh2PE1k8LQ" target="_blank">決済サポート君Pro</a></div>
<div>
<br /></div>
<div>
本当は利益が最大のところで決済したいのですが、なかなか難しい。トレイリングで追いかけた方が利益が大きいというバックテスト結果となっています。</div>
<div>
<br /></div>
<div>
トレイリングは固定値よりATRを見ながら変動させた方がよさそうです。チャート見ていられる人は、無料公開中のTradersATRが手動の決済ラインにできるかと思います。</div>
<div>
<a href="https://fx-on.com/re/?i=elu8M0QzBts1XUeamPt1IeLY9z%2BX7RBm5LblyBybXq8" target="_blank">MT4でFXを勝ち抜く研究をするブログで公開しているインジケータセット</a></div>
<br />
■EURUSD H1 TradersATR x2/x4でのトレイリングストップ風戦略<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimRAsqIxvJjUmUl4DkaLkupNWUdj2cQS5pB8PvTEyexo8_4pMWvJvYfFQ0CsNM1bBv2TPYK8QCGXPfJIsgP_bOgBtnCpkMt6btrcBL65Z1Q7TKRuOIIzrcfq7RHcyUU74aQgo75HPr3qE/s1600/EURUSDH1_tr.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="738" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimRAsqIxvJjUmUl4DkaLkupNWUdj2cQS5pB8PvTEyexo8_4pMWvJvYfFQ0CsNM1bBv2TPYK8QCGXPfJIsgP_bOgBtnCpkMt6btrcBL65Z1Q7TKRuOIIzrcfq7RHcyUU74aQgo75HPr3qE/s400/EURUSDH1_tr.png" width="400" /></a></div>
<br />
うん。最近EURUSDトレードしていないですが、再開前に自分用に決済補助EA作ること!(メモメモ)<br />
<br />
・・・・。<br />
以上です。<br />
うん、ちょっとタイトル的に釣りすぎたかもしれません・・・。こんなんで攻略できるかー!って言われそうです。<br />
<div>
<h3>
</h3>
</div>
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-28061903744430542062018-10-17T16:45:00.002+09:002018-10-17T20:47:51.839+09:00Gewinn9 アップデート申請(予定)のお知らせ皆様いろいろあって遅れました。Gewinn9のアップデートです。<br />
こんなEAですがご購入いただいた方々がいらっしゃったのにしばらく放置していました。<br />
<br />
大変申し訳ありません。<br />
<br />
大きく負けた後、フィルタ入れまくった結果、ほとんどトレードせず横ばい状態だったかと思います・・。(そもそもほとんどの方が運用止めていそうです・・)<br />
<br />
考えを改めることにします。<br />
<br />
Gewinn9は週足トレンドに対してトレンドフォロー、時間足トレンドに対して逆張りを仕掛けるEAです。トレンドの判断には、直近に発生したフラクタルを二つ比較して、下がっていれば下げ、上がっていれば上げという単純なものです。<br />
<br />
で、トレンドと逆行する政治的リスクが発生すると大負けします。突発的な事項は防げないですが、明らかにわかっているような内容は防ぐことが出来ます。その時はEAを止めてもらう前提です。<br />
<br />
その前提で、次の変更を行いました。<br />
・フィルタをできうる限り排除しました。<br />
・トレイリングを固定値からATRベースに変更して相場の状況に合わせるようにしました。過剰最適化防止狙いです。<br />
・ポジションオープン時ATRの最小値を指定して、なるべく細かな値動きでポジションをためてしまわないように変更しました。<br />
・最大ストップロス値をATRの4倍もしくは、直近5日の高値安値のどちらか小さい方というロジックにしました。<br />
<br />
旧バージョンと比較してトレード結果の大きな違いは下記の通りです。<br />
・総取引回数 <span style="text-align: -webkit-right;">632→</span><span style="text-align: -webkit-right;">1647(2.60倍)</span><br />
・純益 <span style="text-align: -webkit-right;">42809.76→</span><span style="text-align: -webkit-right;">91418.21</span><span style="text-align: -webkit-right;">(2.13倍)</span><br />
<span style="text-align: -webkit-right;">・最大DD </span><span style="text-align: -webkit-right;">6024.30→</span><span style="text-align: -webkit-right;">11870.79(1.97倍)</span><br />
<br />
よりいっぱいトレードするようになり、利益が伸びて、それに合わせてDDも大きくなっています。純益の伸びに対して最大DDの伸びが低いので、許容できると判断しました。<br />
<br />
ただいま、OANDAのリアル口座側のテスト運用中EAを差し替えました。トレード問題なければFX-ONに申請したいと思います。<br />
<br />
■Gewinn9 V1.20設定可能パラメータ<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGvfgF2jfHdt9RQ9RY9QOJrF_DdNqRdmXEE5pxt-EdtSVyDbVbB4-vnq_gcPD56SoVWUesrJzNXS-5V8VMfcIhtXARRTHtd7HjGCewSrCtZrgP15SZaSyfH7YZb4mSN5DPOm-9m9NlaU0/s1600/Gewinn9_Parameter_v120.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="333" data-original-width="471" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGvfgF2jfHdt9RQ9RY9QOJrF_DdNqRdmXEE5pxt-EdtSVyDbVbB4-vnq_gcPD56SoVWUesrJzNXS-5V8VMfcIhtXARRTHtd7HjGCewSrCtZrgP15SZaSyfH7YZb4mSN5DPOm-9m9NlaU0/s1600/Gewinn9_Parameter_v120.PNG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
ユーザ様が修正必要な設定は次の箇所です。<br />
・マジックナンバー<br />
運用している他のEAと重複しない値を設定してください。<br />
<br />
・発注ロット<br />
発注するロット数を検討してください。<br />
1万通貨(0.1ロット)で13年で最大のドローダウンは、2374USD(約24万円)です。<br />
注文タイミングをずらしてリスク分散を図る制御ですので、リスクを減らしたい場合は、ロット数を下げてください。0.01から発注可能な業者をお勧めいたします。(OANDA NYサーバー(ベーシックコース)、楽天証券など)<br />
例えば、1EA 0.1ロットと決められている場合は、0.02 or 0.03ロットを指定します。<br />
<br />
・コメント<br />
EAが発注したポジションのコメントです。自由に設定可能です。<br />
<br />
ポジション戦略、シグナル戦略の設定は、ご自身でバックテストでさらに最適化を進めたい方向けです。積極度については、設定可能な0.5、-0.5、-1の設定結果のバックテストを記事の最後に追加しています。<br />
<br />
<span style="color: red;">注意:本EAは、夏GMT+3、冬GMT+2のみ動作します。</span><br />
<br />
<br />
バックテスト結果(旧バージョン)<br />
■Gewinn9 V1.10 2005/1/1-2018/9/30 Lot 0.5<br />
<table border="0" cellpadding="3" cellspacing="1">
<tbody>
<tr align="left"><td colspan="2">通貨ペア</td><td colspan="4">EURUSD (Euro vs US Dollar)</td></tr>
<tr align="left"><td colspan="2">期間</td><td colspan="4">1時間足(H1) 2005.01.03 00:00 - 2018.09.28 23:00 (2005.01.01 - 2018.09.30)</td></tr>
<tr align="left"><td colspan="2">モデル</td><td colspan="4">全ティック (利用可能な最小時間枠による最も正確な方法)</td></tr>
<tr align="left"><td colspan="2"></td></tr>
<tr align="left"><td>テストバー数</td><td align="right">85989</td><td>モデルティック数</td><td align="right">182245041</td><td>モデリング品質</td><td align="right">90.00%</td></tr>
<tr align="left"><td>不整合チャートエラー</td><td align="right">0</td><td></td><td align="right"></td><td></td><td align="right"></td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td style="white-space: nowrap;">初期証拠金</td><td align="right" style="white-space: nowrap;">10000.00</td><td></td><td align="right"></td><td>スプレッド</td><td align="right">20</td></tr>
<tr align="left"><td>純益</td><td align="right">42809.76</td><td>総利益</td><td align="right">98968.52</td><td>総損失</td><td align="right">-56158.76</td></tr>
<tr align="left"><td>プロフィットファクタ</td><td align="right">1.76</td><td>期待利得</td><td align="right">67.74</td><td></td><td align="right"></td></tr>
<tr align="left"><td>絶対ドローダウン</td><td align="right">868.00</td><td>最大ドローダウン</td><td align="right">6024.30 (10.50%)</td><td>相対ドローダウン</td><td align="right">17.37% (2480.70)</td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td>総取引数</td><td align="right">632</td><td>売りポジション(勝率%)</td><td align="right">319 (77.74%)</td><td>買いポジション(勝率%)</td><td align="right">313 (66.45%)</td></tr>
<tr align="left"><td align="right" colspan="2"></td><td>勝率(%)</td><td align="right">456 (72.15%)</td><td>負率 (%)</td><td align="right">176 (27.85%)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>勝トレード</td><td align="right">2082.72</td><td>敗トレード</td><td align="right">-650.00</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>勝トレード</td><td align="right">217.04</td><td>敗トレード</td><td align="right">-319.08</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(金額)</td><td align="right">15 (941.38)</td><td>連敗(金額)</td><td align="right">6 (-145.10)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(トレード数)</td><td align="right">5386.66 (9)</td><td>連敗(トレード数)</td><td align="right">-1982.84 (4)</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>連勝</td><td align="right">5</td><td>連敗</td><td align="right">2</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8v-ZuTMwqiM5j-AHPhDW8MCsY963Jj5KW6WoeCSK-6A1MfdtRZHqq9KkkaN9qTUYg52N6krPIZaf7iRHKwBBvz3fkQkyNEJLAI38SKjwthLcGQav-aZq04S54VIzJAdEDmzZ_DIUj-xk/s1600/G110.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="201" data-original-width="820" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8v-ZuTMwqiM5j-AHPhDW8MCsY963Jj5KW6WoeCSK-6A1MfdtRZHqq9KkkaN9qTUYg52N6krPIZaf7iRHKwBBvz3fkQkyNEJLAI38SKjwthLcGQav-aZq04S54VIzJAdEDmzZ_DIUj-xk/s400/G110.gif" width="400" /></a></div>
<br />
<br />
バックテスト結果(新バージョン)<br />
■Gewinn9 V1.20 2005/1/1-2018/9/30 Lot 0.5 積極度0.5<br />
<table border="0" cellpadding="3" cellspacing="1">
<tbody>
<tr align="left"><td colspan="2">通貨ペア</td><td colspan="4">EURUSD (Euro vs US Dollar)</td></tr>
<tr align="left"><td colspan="2">期間</td><td colspan="4">1時間足(H1) 2005.01.03 00:00 - 2018.09.28 23:00 (2005.01.01 - 2018.09.30)</td></tr>
<tr align="left"><td colspan="2">モデル</td><td colspan="4">全ティック (利用可能な最小時間枠による最も正確な方法)</td></tr>
<tr align="left"><td colspan="2"></td></tr>
<tr align="left"><td>テストバー数</td><td align="right">85989</td><td>モデルティック数</td><td align="right">182245041</td><td>モデリング品質</td><td align="right">90.00%</td></tr>
<tr align="left"><td>不整合チャートエラー</td><td align="right">0</td><td></td><td align="right"></td><td></td><td align="right"></td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td style="white-space: nowrap;">初期証拠金</td><td align="right" style="white-space: nowrap;">10000.00</td><td></td><td align="right"></td><td>スプレッド</td><td align="right">20</td></tr>
<tr align="left"><td>純益</td><td align="right">91418.21</td><td>総利益</td><td align="right">288077.93</td><td>総損失</td><td align="right">-196659.72</td></tr>
<tr align="left"><td>プロフィットファクタ</td><td align="right">1.46</td><td>期待利得</td><td align="right">55.51</td><td></td><td align="right"></td></tr>
<tr align="left"><td>絶対ドローダウン</td><td align="right">2249.50</td><td>最大ドローダウン</td><td align="right">11870.79 (16.83%)</td><td>相対ドローダウン</td><td align="right">36.44% (4444.40)</td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td>総取引数</td><td align="right">1647</td><td>売りポジション(勝率%)</td><td align="right">784 (74.23%)</td><td>買いポジション(勝率%)</td><td align="right">863 (70.80%)</td></tr>
<tr align="left"><td align="right" colspan="2"></td><td>勝率(%)</td><td align="right">1193 (72.43%)</td><td>負率 (%)</td><td align="right">454 (27.57%)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>勝トレード</td><td align="right">2035.33</td><td>敗トレード</td><td align="right">-1445.01</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>勝トレード</td><td align="right">241.47</td><td>敗トレード</td><td align="right">-433.17</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(金額)</td><td align="right">32 (3276.94)</td><td>連敗(金額)</td><td align="right">10 (-4965.03)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(トレード数)</td><td align="right">7903.40 (12)</td><td>連敗(トレード数)</td><td align="right">-4965.03 (10)</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>連勝</td><td align="right">6</td><td>連敗</td><td align="right">2</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhexdBM_Ar0CRFPiVbjf30AYbRUtob_fQmVQ217NJbHuOShrCd8GZySI-Vd6W_NxBsoRupdpexo0lTa9GjfKxnXg9KJt-UkIAic8GGrRN9qP8AHCzD2VCuwMAZm6GFgOUfmBj5qJjNxX44/s1600/V120_2005.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="201" data-original-width="820" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhexdBM_Ar0CRFPiVbjf30AYbRUtob_fQmVQ217NJbHuOShrCd8GZySI-Vd6W_NxBsoRupdpexo0lTa9GjfKxnXg9KJt-UkIAic8GGrRN9qP8AHCzD2VCuwMAZm6GFgOUfmBj5qJjNxX44/s400/V120_2005.gif" width="400" /></a></div>
<br />
バックテスト結果(新バージョン)<br />
■Gewinn9 V1.20 2005/1/1-2018/9/30 Lot 0.5 積極度-0.5<br />
<table border="0" cellpadding="3" cellspacing="1">
<tbody>
<tr align="left"><td colspan="2">通貨ペア</td><td colspan="4">EURUSD (Euro vs US Dollar)</td></tr>
<tr align="left"><td colspan="2">期間</td><td colspan="4">1時間足(H1) 2005.01.03 00:00 - 2018.09.28 23:00 (2005.01.01 - 2018.09.30)</td></tr>
<tr align="left"><td colspan="2">モデル</td><td colspan="4">全ティック (利用可能な最小時間枠による最も正確な方法)</td></tr>
<tr align="left"><td>テストバー数</td><td align="right">85989</td><td>モデルティック数</td><td align="right">182245041</td><td>モデリング品質</td><td align="right">90.00%</td></tr>
<tr align="left"><td>不整合チャートエラー</td><td align="right">0</td><td></td><td align="right"></td><td></td><td align="right"></td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td style="white-space: nowrap;">初期証拠金</td><td align="right" style="white-space: nowrap;">10000.00</td><td></td><td align="right"></td><td>スプレッド</td><td align="right">20</td></tr>
<tr align="left"><td>純益</td><td align="right">79573.60</td><td>総利益</td><td align="right">226982.69</td><td>総損失</td><td align="right">-147409.09</td></tr>
<tr align="left"><td>プロフィットファクタ</td><td align="right">1.54</td><td>期待利得</td><td align="right">63.76</td><td></td><td align="right"></td></tr>
<tr align="left"><td>絶対ドローダウン</td><td align="right">2249.50</td><td>最大ドローダウン</td><td align="right">10299.10 (17.19%)</td><td>相対ドローダウン</td><td align="right">36.44% (4444.40)</td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td>総取引数</td><td align="right">1248</td><td>売りポジション(勝率%)</td><td align="right">608 (75.82%)</td><td>買いポジション(勝率%)</td><td align="right">640 (70.00%)</td></tr>
<tr align="left"><td align="right" colspan="2"></td><td>勝率(%)</td><td align="right">909 (72.84%)</td><td>負率 (%)</td><td align="right">339 (27.16%)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>勝トレード</td><td align="right">2035.33</td><td>敗トレード</td><td align="right">-1445.01</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>勝トレード</td><td align="right">249.71</td><td>敗トレード</td><td align="right">-434.84</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(金額)</td><td align="right">37 (17252.04)</td><td>連敗(金額)</td><td align="right">10 (-4965.03)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(トレード数)</td><td align="right">17252.04 (37)</td><td>連敗(トレード数)</td><td align="right">-4965.03 (10)</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>連勝</td><td align="right">6</td><td>連敗</td><td align="right">2</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYBqJD4b804Las7RN6nAeE8heXelHPo_w2IU_b0eQGUDtePcmE9fsNx7yZwLDUQun98YoAV2qtaXqZfE3Vt5P7qq-TBGuyY4004e5wZQeRnpUjuIKbepJnikGJl_L5Ot1baMG8sSuA10M/s1600/V120_%25E7%25A9%258D%25E6%25A5%25B5-0.5.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="201" data-original-width="820" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYBqJD4b804Las7RN6nAeE8heXelHPo_w2IU_b0eQGUDtePcmE9fsNx7yZwLDUQun98YoAV2qtaXqZfE3Vt5P7qq-TBGuyY4004e5wZQeRnpUjuIKbepJnikGJl_L5Ot1baMG8sSuA10M/s400/V120_%25E7%25A9%258D%25E6%25A5%25B5-0.5.gif" width="400" /></a></div>
<br />
<br />
バックテスト結果(新バージョン)<br />
■Gewinn9 V1.20 2005/1/1-2018/9/30 Lot 0.5 積極度-1<br />
<br />
<table border="0" cellpadding="3" cellspacing="1">
<tbody>
<tr align="left"><td colspan="2">通貨ペア</td><td colspan="4">EURUSD (Euro vs US Dollar)</td></tr>
<tr align="left"><td colspan="2">期間</td><td colspan="4">1時間足(H1) 2005.01.03 00:00 - 2018.09.28 23:00 (2005.01.01 - 2018.09.30)</td></tr>
<tr align="left"><td colspan="2">モデル</td><td colspan="4">全ティック (利用可能な最小時間枠による最も正確な方法)</td></tr>
<tr align="left"><td colspan="2">パラメーター</td><td colspan="4">Sep00=""; MagicNumber=28980001; IsCountdong=false;
SpreadFilter=5; MaxPosition=4; Comment="Gewinn9_EURUSD"; Lot=0.5; Sep01=""; MaxProfit=1000; MinStopLoss=100; ProfitBigBar=true;
MaxOpenBars=240; CloseWeekEnd=true;
Sep02=""; AggressivenessWeek=-1; </td></tr>
<tr align="left"><td colspan="2"></td></tr>
<tr align="left"><td>テストバー数</td><td align="right">85989</td><td>モデルティック数</td><td align="right">182245041</td><td>モデリング品質</td><td align="right">90.00%</td></tr>
<tr align="left"><td>不整合チャートエラー</td><td align="right">0</td><td></td><td align="right"></td><td></td><td align="right"></td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td style="white-space: nowrap;">初期証拠金</td><td align="right" style="white-space: nowrap;">10000.00</td><td></td><td align="right"></td><td>スプレッド</td><td align="right">20</td></tr>
<tr align="left"><td>純益</td><td align="right">59092.29</td><td>総利益</td><td align="right">161897.37</td><td>総損失</td><td align="right">-102805.08</td></tr>
<tr align="left"><td>プロフィットファクタ</td><td align="right">1.57</td><td>期待利得</td><td align="right">67.46</td><td></td><td align="right"></td></tr>
<tr align="left"><td>絶対ドローダウン</td><td align="right">978.22</td><td>最大ドローダウン</td><td align="right">6961.54 (12.64%)</td><td>相対ドローダウン</td><td align="right">38.01% (5975.82)</td></tr>
<tr height="8"><td colspan="6"></td></tr>
<tr align="left"><td>総取引数</td><td align="right">876</td><td>売りポジション(勝率%)</td><td align="right">427 (75.88%)</td><td>買いポジション(勝率%)</td><td align="right">449 (70.60%)</td></tr>
<tr align="left"><td align="right" colspan="2"></td><td>勝率(%)</td><td align="right">641 (73.17%)</td><td>負率 (%)</td><td align="right">235 (26.83%)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>勝トレード</td><td align="right">2035.33</td><td>敗トレード</td><td align="right">-1445.01</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>勝トレード</td><td align="right">252.57</td><td>敗トレード</td><td align="right">-437.47</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(金額)</td><td align="right">30 (14232.24)</td><td>連敗(金額)</td><td align="right">10 (-4965.03)</td></tr>
<tr align="left"><td align="right" colspan="2">最大</td><td>連勝(トレード数)</td><td align="right">14232.24 (30)</td><td>連敗(トレード数)</td><td align="right">-4965.03 (10)</td></tr>
<tr align="left"><td align="right" colspan="2">平均</td><td>連勝</td><td align="right">6</td><td>連敗</td><td align="right">2</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqNARcXm2K4a7ZF2k2HIBJJqQbwYYxk6jP6ZXrDwZumedf8wNSzfAP7MsSja5Ej-bRw-QFXevaGroxRbasRrT2f6W6Qy4lEyRga04a1lbl1bbahkqX6enHPCXJOd4kg0HSYieJ8NhfEaI/s1600/V120_%25E7%25A9%258D%25E6%25A5%25B5-1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="201" data-original-width="820" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqNARcXm2K4a7ZF2k2HIBJJqQbwYYxk6jP6ZXrDwZumedf8wNSzfAP7MsSja5Ej-bRw-QFXevaGroxRbasRrT2f6W6Qy4lEyRga04a1lbl1bbahkqX6enHPCXJOd4kg0HSYieJ8NhfEaI/s400/V120_%25E7%25A9%258D%25E6%25A5%25B5-1.gif" width="400" /></a></div>
<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-55613337345100898292018-09-24T07:55:00.003+09:002018-09-24T07:55:39.971+09:00ポイントアンドフィギュア修正のお知らせFX-ONで公開しているインジケータセットで、ポイントアンドフィギュアを定型チャートに登録した際、正しく呼び出しできない件修正したファイルを公開いたしました。<br />
<br />
インジケータセットは寄付金ありと無しの二つがあります。<br />
寄付金ありのほうは修正したソースコードも添付いたしました。<br />
<br />
ダウンロードはこちらのリンクをクリック<br />
<a href="https://fx-on.com/re/?i=elu8M0QzBts1XUeamPt1IeLY9z%2BX7RBm5LblyBybXq8" target="_blank">MT4でFXを勝ち抜く研究をするブログで公開しているインジケータセット(寄付金付き)<br /><img alt="ブログで作成したインジケータをソースコード付きで公開しています" src="https://img.gogojungle.co.jp/products/14404/5644" style="border: 0px;" /></a><br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-4613516599350016842018-08-31T13:08:00.000+09:002018-08-31T13:08:13.537+09:00[TradingView]Traders ATRスクリプト公開<div>
すこし悩んでいたTradingViewでのTradersATRの描画ですが、多分うまく行ったので公開しています。</div>
<div>
<br /></div>
<div>
すっかり記事にするのを忘れていました。</div>
<div>
<br /></div>
<div>
TradersATRは、ATR*指定倍率の範囲を追従させて、ATRから想定されるエントリポイントと損切りラインを描画するインジケータです(多分)</div>
<div>
<br /></div>
<div>
描画しているATRは、一旦描画されると、逆方向のラインに対して価格位置が逆転しないと、リセットされない動作担っています。</div>
<div>
(わかりにくい説明ですみません。チャートを見てもらったほうが早いです)</div>
<div>
<br /></div>
<div>
そのためATRを使用したパラボリック的な使い方と、損切りラインが同時に表示されていると認識しています。</div>
<div>
<br /></div>
<div>
ちょっとバックテストまでは確認していないのですが、なかなか優秀のように見えます。底値から戻り途中でエントリする感じになるインジケータです。</div>
<div>
<br /></div>
<a href="https://jp.tradingview.com/script/bJymnrnn/">https://jp.tradingview.com/script/bJymnrnn/</a><br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-39504653142228796652018-08-13T09:39:00.000+09:002018-08-13T09:42:10.526+09:00[MT4インジケータ]フラクタルトレンドライン Ver4リリースのお知らせフラクタルトレンドラインVer4をリリースいたします。<br />
<br />
・ラインに達した場合、アラートor音を鳴らす機能の追加<br />
・ラインの線種、幅を変更できる機能の追加<br />
<br />
を行いました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNaDHnG8PlqunPbgJ8D7FAeu6_ysYt2SXKs6Zklo70Re-YODBYYxPR76k-hlc7z1YZxLyzWG4KS45BguX_2N437k4jj6M-xG6_wyCbST_Z69l15lC4U6McD8iDnicqQz6_mMFWPRkVAps/s1600/USDJPYM1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="532" data-original-width="1004" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNaDHnG8PlqunPbgJ8D7FAeu6_ysYt2SXKs6Zklo70Re-YODBYYxPR76k-hlc7z1YZxLyzWG4KS45BguX_2N437k4jj6M-xG6_wyCbST_Z69l15lC4U6McD8iDnicqQz6_mMFWPRkVAps/s640/USDJPYM1.png" width="640" /></a></div>
<br />
<br />
あと、設定にラベル付けとして少しまとめました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3HqHlRKMLftZiOe_mFPeXKRajaLTxDC91d8ETQ8oQsVHtAOagHZ_-9vBhfc0_CqciIDey5Yxro2xxiNELB8ueJc6X_IR9G8oE05nD1Z0djHLq4hMDIwfGOYsPJkWVMBI1FHm3BDPPC_M/s1600/FractalsTrendLine+%25E3%2583%2597%25E3%2583%25AD%25E3%2583%2591%25E3%2583%2586%25E3%2582%25A3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="795" data-original-width="515" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3HqHlRKMLftZiOe_mFPeXKRajaLTxDC91d8ETQ8oQsVHtAOagHZ_-9vBhfc0_CqciIDey5Yxro2xxiNELB8ueJc6X_IR9G8oE05nD1Z0djHLq4hMDIwfGOYsPJkWVMBI1FHm3BDPPC_M/s1600/FractalsTrendLine+%25E3%2583%2597%25E3%2583%25AD%25E3%2583%2591%25E3%2583%2586%25E3%2582%25A3.PNG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
線種ですが、MT4の仕様だとおもうのですが、線幅を2以上にすると、線種の設定にかかわらず単純線になってしまいます。点線や破線を利用したい方は線幅1を指定お願いします。<br />
<br />
フラクタルバンドについては、こちらの記事に説明しています。<br />
<a href="http://mt4program.blogspot.com/2017/04/mt4.html">http://mt4program.blogspot.com/2017/04/mt4.html</a><br />
<br />
記事内で、フラクタルについて記載していますが、フラクタルの矢印は2本経過後に表示されます。ぴったり矢印の位置でのトレードは行えませんので、検証時はご注意ください。バンドの外にでて反発し始めた後をねらうといった形です。<br />
<br />
現在スマホ版MT4にアラートを通知する機能があるようです。こちらもちょっと試してみて、またの機会に記事にしたいと思います。<br />
<br />
FX-ONにて1680円にて販売中<br />
<a href="https://fx-on.com/re/?i=AbHx8QMzBB%2BehAbPa8qx3Rvtxx%2Blx7XnzEkMsBDRQ28" target="_blank">フラクタルバンド<br /><img alt="フラクタルからレンジ、トレンドを描画する" src="https://img.gogojungle.co.jp/products/9405/5644" style="border: 0;" /></a><img alt="フラクタルからレンジ、トレンドを描画する?|?fx-on.com" border="0" height="0" src="https://fx-on.com/0.php?p=9405&d=111923&a=2210" style="display: none;" width="0" />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-25336172302712985762018-07-12T20:43:00.001+09:002018-07-12T20:43:22.496+09:00[MT4]TradersAtr Rateの違う2本の線を出せるようにしました。<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4G155HWbf4qEL5X56TwlH6arKvo_U3wDVnwHQBfcPBZIJw6jD4HysAI8KlFujiADFN_HIVVtRpd6pqTKr71liqNtgjkbSItgk3PoHVxDQNiUSvp8OkqI7KZ18NVc02hFw4Yn1J85GrSY/s1600/TradersATR2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="650" data-original-width="899" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4G155HWbf4qEL5X56TwlH6arKvo_U3wDVnwHQBfcPBZIJw6jD4HysAI8KlFujiADFN_HIVVtRpd6pqTKr71liqNtgjkbSItgk3PoHVxDQNiUSvp8OkqI7KZ18NVc02hFw4Yn1J85GrSY/s400/TradersATR2.png" width="400" /></a></div>
資料を見るとRateの違う二つのラインを出すようなので、Rateの違う2本を出せるようにしました。あと、ノイズフィルタもかねてATRを足しこむ値を単純なClose値からPRICE_WEIGHTEDに変更しました。<br />
<br />
<pre><code>//------------------------------------------------------------------
// Traders ATR
#property copyright "Copyright 2018,Daisuke "
#property link "http://mt4program.blogspot.com/"
#property version "1.00"
#property strict
#property indicator_chart_window
//buffers
#property indicator_buffers 4
#property indicator_plots 4
#property indicator_label1 "HIGH"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrIndianRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
#property indicator_label2 "LOW"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrAqua
#property indicator_style2 STYLE_SOLID
#property indicator_width2 1
#property indicator_label3 "HIGH2"
#property indicator_type3 DRAW_LINE
#property indicator_color3 clrIndianRed
#property indicator_style3 STYLE_DOT
#property indicator_width3 1
#property indicator_label4 "LOW2"
#property indicator_type4 DRAW_LINE
#property indicator_color4 clrAqua
#property indicator_style4 STYLE_DOT
#property indicator_width4 1
input int AtrPeriod = 14; // ATR Period
input double Rate1 = 1.0; // Rate
input double Rate2 = 2.0; // Rate
input ENUM_APPLIED_PRICE PriceType = PRICE_WEIGHTED; // Price Type
//buffer variables
double atrH1[];
double atrL1[];
double atrH2[];
double atrL2[];
//------------------------------------------------------------------
//initialize
int OnInit()
{
// short name setting
string shortName = "TATR (" + IntegerToString(AtrPeriod) + ")";
IndicatorShortName(shortName);
int count = 0;
SetIndexBuffer(count++, atrH1);
SetIndexBuffer(count++, atrL1);
SetIndexBuffer(count++, atrH2);
SetIndexBuffer(count++, atrL2);
return(INIT_SUCCEEDED);
}
//------------------------------------------------------------------
//calculate event
int OnCalculate(
const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
for( int i = rates_total - prev_calculated - 1 ; i >= 0; i-- )
{
TradersAtr(atrH1, atrL1, Rate1, rates_total, open, close, high, low, i);
TradersAtr(atrH2, atrL2, Rate2, rates_total, open, close, high, low, i);
}
return(rates_total - 1);
}
void TradersAtr(
double &bufferH[],
double &bufferL[],
double rate,
int rates_total,
const double &open[], // オープン値
const double &close[], // クローズ値
const double &high[], // 高値
const double &low[], // 安値
int i)
{
double atr = iATR(NULL, PERIOD_CURRENT, AtrPeriod, i);
double price = GetPrice(open[i], close[i], high[i], low[i], PriceType);
double h = price + rate * atr;
double l = price - rate * atr;
if( rates_total - 2 <= i )
{
bufferH[i] = h;
bufferL[i] = l;
}
else
{
if( bufferH[i + 1] != EMPTY_VALUE &&
bufferL[i + 1] != EMPTY_VALUE &&
bufferH[i + 1] < bufferL[i + 1] )
{
bufferH[i] = close[i + 1] > bufferH[i + 1] ? EMPTY_VALUE : MathMin(h, bufferH[i + 1]);
bufferL[i] = close[i + 1] < bufferL[i + 1] ? EMPTY_VALUE : MathMax(l, bufferL[i + 1]);
}
else
{
bufferH[i] = bufferH[i + 1] == EMPTY_VALUE ? h : MathMin(h, bufferH[i + 1]);
bufferL[i] = bufferL[i + 1] == EMPTY_VALUE ? l : MathMax(l, bufferL[i + 1]);
}
}
}
//------------------------------------------------------------------
// 価格を計算する。
// return 対象価格
double GetPrice(
double open, // オープン値
double close, // クローズ値
double high, // 高値
double low, // 安値
ENUM_APPLIED_PRICE maPrice //取得価格
)
{
double price = 0;
switch( maPrice )
{
case PRICE_CLOSE:
price = close;
break;
case PRICE_OPEN:
price = open;
break;
case PRICE_HIGH:
price = high;
break;
case PRICE_LOW:
price = low;
break;
case PRICE_MEDIAN:
price = (high + low) / 2;
break;
case PRICE_TYPICAL:
price = (high + low + close) / 3;
break;
case PRICE_WEIGHTED:
price = (high + low + close + close) / 4;
break;
}
return price;
}</code></pre>
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-74919497900279061122018-07-11T22:09:00.000+09:002018-07-12T20:43:49.058+09:00[MT4]TradersATRちょっとTradingViewのPineスクリプトで作りたかったのだけど、Pineは配列の扱いが難しい・・・。ひとつ前の足の値が取れたり取れなかったりでちょっとわかりやすいMT4で組んでみました<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifbr6_M1uLE2Xp66hbopBCEt6mXpBEjiJVFPpg16s2BcmzWN2o-SBSNuM2jfdi66lmbbAG1qEnYbecqsuX6tmyHMH9eVMUCrqBlIR6zZaFe8A1Jgk92Cb252uwOY7ZrDfwghTgo9GLD-c/s1600/TradersATR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="536" data-original-width="947" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifbr6_M1uLE2Xp66hbopBCEt6mXpBEjiJVFPpg16s2BcmzWN2o-SBSNuM2jfdi66lmbbAG1qEnYbecqsuX6tmyHMH9eVMUCrqBlIR6zZaFe8A1Jgk92Cb252uwOY7ZrDfwghTgo9GLD-c/s400/TradersATR.png" width="400" /></a></div>
<br />
Close+-ATRのラインを引いて抵抗線、支持線と考えるやつです。<br />
それぞれのラインは、ラインがクロスするまでリセットされず一方方向に動きます。<br />
<br />
ATRをつかったパラボリックみたいな感じですね。ちなみに下のラインを上のラインがうわまったら買いシグナル、逆で売りシグナルだそうです。<br />
<br />
ちょっとだけ改造しました。<br />
<a href="http://mt4program.blogspot.com/2018/07/mt4tradersatr-rate2.html">http://mt4program.blogspot.com/2018/07/mt4tradersatr-rate2.html</a><br />
<br />
<pre><code>//------------------------------------------------------------------
// Traders ATR
#property copyright "Copyright 2018,Daisuke "
#property link "http://mt4program.blogspot.com/"
#property version "1.00"
#property strict
#property indicator_chart_window
//buffers
#property indicator_buffers 2
#property indicator_plots 2
#property indicator_label1 "SHORT"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrIndianRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
#property indicator_label2 "LONG"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrAqua
#property indicator_style2 STYLE_SOLID
#property indicator_width2 1
input int AtrPeriod = 20; // ATR Period
input double Rate = 2.0; // Rate
//buffer variables
double atrH[];
double atrL[];
//------------------------------------------------------------------
//initialize
int OnInit()
{
// short name setting
string shortName = "TATR (" + IntegerToString(AtrPeriod) + ")";
IndicatorShortName(shortName);
int count = 0;
SetIndexBuffer(count++, atrH);
SetIndexBuffer(count++, atrL);
return(INIT_SUCCEEDED);
}
//------------------------------------------------------------------
//calculate event
int OnCalculate(
const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
for( int i = rates_total - prev_calculated - 1 ; i >= 0; i-- )
{
double atr = iATR(NULL, PERIOD_CURRENT, AtrPeriod, i);
double h = close[i] + Rate * atr;
double l = close[i] - Rate * atr;
if( rates_total - 2 <= i )
{
atrH[i] = h;
atrL[i] = l;
}
else
{
if( atrH[i + 1] != EMPTY_VALUE &&
atrL[i + 1] != EMPTY_VALUE &&
atrH[i + 1] < atrL[i + 1] )
{
atrH[i] = close[i + 1] > atrH[i + 1] ? EMPTY_VALUE : MathMin(h, atrH[i + 1]);
atrL[i] = close[i + 1] < atrL[i + 1] ? EMPTY_VALUE : MathMax(l, atrL[i + 1]);
}
else
{
atrH[i] = atrH[i + 1] == EMPTY_VALUE ? h : MathMin(h, atrH[i + 1]);
atrL[i] = atrL[i + 1] == EMPTY_VALUE ? l : MathMax(l, atrL[i + 1]);
}
}
}
return(rates_total - 1);
}</code></pre>
<br />
<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-39539296379194569032018-07-02T20:08:00.002+09:002018-07-02T20:08:42.924+09:00無料ダウンロード再開しました。<a href="https://fx-on.com/re/?i=elu8M0QzBts1XUeamPt1IeLY9z%2BX7RBm5LblyBybXq8" target="_blank">MT4でFXを勝ち抜く研究をするブログで公開しているインジケータセット(寄付金付き)<br /><img alt="ブログで作成したインジケータをソースコード付きで公開しています" src="https://img.gogojungle.co.jp/products/14404/5644" style="border: 0;" /></a><img alt="ブログで作成したインジケータをソースコード付きで公開しています?|?fx-on.com" border="0" height="0" src="https://fx-on.com/0.php?p=14404&d=111923&a=2210" style="display: none;" width="0" />
<br />
<br />
停止していたFX-ONでの無料ダウンロード再開しました。<br />
寄付金ありなしが選べます。<br />
<br />
ちなみに無料インジケータのアフィリエイトリンクの作成方法もやっとわかりました。<br />
FX-ONのアフィリエイト検索で商品番号を入れると無料のやつも出てくるようです。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-4498601679140846462018-06-08T20:20:00.001+09:002018-06-08T20:25:40.974+09:00[ハーモニックパターン]V9.51リリースのお知らせ<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI_zxPF0BVWWQzIByPkPLwK6WXrBPuSTFtlGjdzcHcRRTEmmrfus9nfF575SsjTrcpjeXax0tTEbtvZqyeoEh1tQ1tUo-aZ2DcAdhkyn-v7ExxIU3mfixNxRe9mI9_e9kuiGmMKoGx3gU/s1600/USDCHFH1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="543" data-original-width="854" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI_zxPF0BVWWQzIByPkPLwK6WXrBPuSTFtlGjdzcHcRRTEmmrfus9nfF575SsjTrcpjeXax0tTEbtvZqyeoEh1tQ1tUo-aZ2DcAdhkyn-v7ExxIU3mfixNxRe9mI9_e9kuiGmMKoGx3gU/s400/USDCHFH1.png" width="400" /></a></div>
<br />
<br />
<h3>
・ハーモニックパターン検出</h3>
MT4でハーモニック形状を自動検出する。<br />
<a href="http://fx-on.com/re/?i=4sbSa8zwC7DwLvdFQvwJJh%2BwwxW6EmjVK4xMpdcqEt8" target="_blank"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />ダウンロード</a><br />
紹介記事:<br />
<a href="http://mt4program.blogspot.jp/p/blog-page_7.html">ハーモニックパターン検出インジケータ 取扱説明</a><br />
<div>
<br /></div>
<br />
いまだに、ぼちぼちと売れていますハーモニックパターン検出インジケータです。はまるときは、とことん一致してとんでもない利益をだします。<br />
レンジ相場やトレンドの終わりの時は時に強いですよね。<br />
<br />
比較したわけでもないのですが、たぶんハーモニックパターンインジケータとしては日本で一番売れたのではないでしょうか・・・・。<br />
<br />
さて、ハーモニックパターン検出インジケータですが小改良いたします。お客様より要望がありましたので、線のパターンをパラメータにて変更できるようにいたしました。<br />
<br />
追加されたパラメータは次の通りです。<br />
<br />
・描画主線スタイル<br />
・描画補助線スタイル<br />
・ターゲットライン描画スタイル<br />
<div>
<br /></div>
<div>
動作などは特に変更されていませんので、今の描画に不満がない方はダウンロード不要です。</div>
<div>
<br /></div>
<div>
ただいま修正は完了して、動作確認中です。本日は少しお酒を飲んでしまったので、明日の朝再度動作と修正点を確認後アップロードいたします。</div>
<div>
少々お待ちください。</div>
<div>
<br /></div>
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-15259695850964192992018-05-30T18:41:00.000+09:002018-05-30T18:47:58.858+09:00[雑記] Deep Learning向けPC考察Deep Learningで趣味(?)でまずやってみる場合でも、結構なマシンパワーを必要とすることがわかりました。<br />
<br />
結局GTX1080とCore i7 7700Kを搭載したPCを中古で手に入れたのですが、その際に考察したことをまとめておきます。<br />
<br />
■GPUについて<br />
現状GeForce1択です。<br />
<br />
AMD Radeonも使えないことないようですが、工夫が必要そうです。<br />
すでにRadeon VAGAもっているので有効活用したいという方は、ROCmという単語で調べてみてください。<br />
<br />
GPUをフルに使用する以前にCPU側の前処理でつまずく事が多いので、GPU本体のチップ性能はそれほど効いてきません。<br />
<a href="https://github.com/tobigithub/tensorflow-deep-learning/wiki/tf-benchmarks">https://github.com/tobigithub/tensorflow-deep-learning/wiki/tf-benchmarks</a><br />
GTX1070とGTX1080での処理速度差は3%ほどです。<br />
<br />
ところが、メモリ量は読み込めるモデルやミニバッチのサイズなどに直接影響します。<br />
画像系をやり始めると、もりもり消費してしまいます。 <br />
メモリ不足になると、遅くなるのではなくてout of memoryで落ちることが多々あるので致命的です。そうすると、データをCPU側メモリにオフロードする必要が出てきて同期のために一挙に速度が落ちます。<br />
<br />
ということで、現状選ぶなら、<br />
GTX1070(8GB)<br />
です。<br />
もっと良いのがいいのであれば、GTX1080(8G)ではなくGTX1080Ti(11G)を検討しましょう。<br />
ちなみに秋に発売開始されるといわれているGTX1180はメモリ16Gと予想されています。ほしい・・・・。現実的な価格帯なら。<br />
GTX1170も16GBならそちらでもOKかも。<br />
<br />
■CPUについて<br />
最初私もCPUはそこまで必要ないと思っていました・・・・。<br />
<br />
実際やりはじめると、データの整形など前処理にCPUを利用するので、CPUのスペックがかなり効いてきます。<br />
というよりCPUがしょぼいとGPUが利用されません。<br />
<br />
なるべくCore i7の最高位をお勧めします。コア数もそこそこ必要ですが、前処理なのでシングルスレッド性能も効いてきます。そのためコア数が多くてクロック数が低いものよりコア数そこそこでクロック数が高いものがおすすめです。<br />
<br />
いまですと、Core i7 8700 or Core i5 8600ぐらいが最低ラインかと。<br />
<br />
プログラムの腕があれば(Pythonに慣れていれば)、きっと前処理もマルチスレッド化して、最適化できるのでしょうが・・・(というより何もしなくてもある程度スレッド使ってくれているので内部のライブラリで何とかしてくれていると思われます・・・)<br />
<br />
なるべく前処理の段階でtorch.Tensorにしておいて、GPUに処理を任せようとすると今度はメモリ不足に陥るという2段構えの罠にはまって先週バタバタしてました。<br />
<br />
■他<br />
ほかの項目はそれほど気にしなくてもいいかもしれません。<br />
ディープラーニング以外にも常用するのでしたらSSDは必須です。<br />
<br />
電源 500W~800W<br />
メモリ 8G以上<br />
ケース 廃熱すごいので、通気性の高いやつ<br />
HDD&SSD お好みで。<br />
<br />
BTOパソコンですと、このあたりになるかと思います。<br />
<br />
LEVEL-M0B6-i7-TN [Windows 10 Home]<br />
<a href="https://www.pc-koubou.jp/products/detail.php?product_id=629916">https://www.pc-koubou.jp/products/detail.php?product_id=629916</a><br />
<br />
・・・・しかし、Deep Learning回すとPCから温風吹き出てきます。<br />
冬場はいいけど、今からの季節は厳しそうです。<br />
<br />
ちょっとだけマイニング回してみたら、温風どころか熱風が出てきて焦りました。あっという間に壊れそうです(汗<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-6078396351719652682018-05-19T20:06:00.001+09:002018-05-22T17:29:05.904+09:00Pytorch Reinforcement Learning (DQN) tutorial 日本語意訳コメントううーーーPython初めてでいきなりDQNはチャレンジしすぎでしょうか?<br />
先人たちのコードを見ながら四苦八苦中です。<br />
<br />
PyTorchのDQN tutorialコードに日本語コメントを入れました。<br />
自分用です。<br />
<br />
第14回 深層強化学習DQN(Deep Q-Network)の解説<br />
<a href="https://book.mynavi.jp/manatee/detail/id=89691">https://book.mynavi.jp/manatee/detail/id=89691</a><br />
<br />
第15回 CartPole課題で深層強化学習DQNを実装<br />
<span id="goog_533148687"></span><a href="https://www.blogger.com/"></a><span id="goog_533148688"></span><a href="https://book.mynavi.jp/manatee/detail/id=89831">https://book.mynavi.jp/manatee/detail/id=89831</a><br />
<br />
を主に参考にしています。<br />
上記記事のコードは、OpenAIGymのCartPole-v0の位置や傾きといった情報を元にDQNをおこなっています。Keras-RLの<span style="background-color: transparent; color: black; display: inline; float: none; font-family: "times new roman"; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">CartPole-v0</span>サンプルで同じです。PyTorchのサンプルでは、描画した画像をポールを中心に抜き出して画像から学習するようになっています。<br />
<br />
自分がわからなかったところをコメントに残しておきましたでの、参考になれば幸いです。(Python初心者なので割と基本的なところからわかってません汗)<br />
<br />
あと朝から調べながらやっていたのですが、後半お酒飲みながら書いてます。だんだんコメント口調崩れてきますがお気になさらずに・・。<br />
<br />
<pre><code>"""
Pytorch DQN チュートリアル 日本語意訳
Reinforcement Learning (DQN) tutorial
=====================================
**Author**: `Adam Paszke <https://github.com/apaszke>`_
"""
import gym
import math
import random
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from collections import namedtuple
from itertools import count
from PIL import Image
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as nnFunc
import torchvision.transforms as tvTrans
env = gym.make('CartPole-v0').unwrapped
# set up matplotlib
is_ipython = 'inline' in matplotlib.get_backend()
if is_ipython:
from IPython import display
plt.ion()
# GPUモードが有効な場合GPUを利用する。それ以外はCPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
"""
経験を保存するメモリクラスを定義する
DQNではランダムにサンプリングすることで相関のないバッチを使用する。
バッチ学習のために二つのクラスが必要です。
- ``Transition`` - 状態を表す名前付きタプル
- ``ReplayMemory`` - サイクルバッファメモリクラス
sampleメソッドで取得したランダムなバッチでトレーニングを行います。
"""
Transition = namedtuple('Transition',
('state', 'action', 'next_state', 'reward'))
#経験を保存するメモリクラス
class ReplayMemory(object):
#コンストラクタ
def __init__(self, capacity):
self.capacity = capacity # メモリの最大長さ
self.memory = [] # 経験を保存する変数
self.position = 0 # 現在の保存位置
# メモリに追加する。
def push(self, *args):
# メモリが満タンでないときは足す
if len(self.memory) < self.capacity:
self.memory.append(None)
self.memory[self.position] = Transition(*args)
#サイクリックにポジションを指定する。
self.position = (self.position + 1) % self.capacity
#バッチサイズ分ランダムにメモリを取り出す。
def sample(self, batch_size):
return random.sample(self.memory, batch_size)
#メモリに保持している長さ
def __len__(self):
return len(self.memory)
"""
DQNクラス
元英語のDQNについてはほかのページに一杯のってるから省略
Qテーブルをニューラルネットワークで近似する
そのためのネットワークを定義する。
Pytorchのサンプルコードが、PyTorchのサンプルでよくある下記の形ではない。
model = nn.Sequential()
model.add_module('fc1', nn.Linear(10,100))
上がDefine and run、コードの形がDefine by run.入力Xによって
"""
#DQNクラス
class DQN(nn.Module):
#コンストラクタ
def __init__(self):
#ニューラルネットワーク内モデルの定義
super(DQN, self).__init__()
#Conv2d(inのチャンネル数、outのチャンネル数、
#kernel_size特徴抽出フィルタ縦横サイズ
#kernel_size特徴抽出フィルタの探査
#たぶん、Kerasと変わらない・・。畳み込みについては下記二つがわかりやすい。
#https://keras.io/ja/layers/convolutional/
#https://deepage.net/deep_learning/2016/11/07/convolutional_neural_network.html#畳み込みとは
self.conv1 = nn.Conv2d(3, 16, kernel_size=5, stride=2)
self.bn1 = nn.BatchNorm2d(16)
self.conv2 = nn.Conv2d(16, 32, kernel_size=5, stride=2)
self.bn2 = nn.BatchNorm2d(32)
self.conv3 = nn.Conv2d(32, 32, kernel_size=5, stride=2)
self.bn3 = nn.BatchNorm2d(32)
#最後に入力448、出力2線形入出力
self.head = nn.Linear(448, 2)
def forward(self, x):
#ニューラルネットワークの定義
x = nnFunc.relu(self.bn1(self.conv1(x)))
x = nnFunc.relu(self.bn2(self.conv2(x)))
x = nnFunc.relu(self.bn3(self.conv3(x)))
return self.head(x.view(x.size(0), -1))
"""
次のコードはレンダリングのためのユーティリティです。
環境からの画像変換はtorchvisionを使うと簡単です的な?
PILイメージに変換して、高さ40pixelにしたあと、PyTorch向けのTensorに変換する
という一連の流れをresizeFとして定義した感じ。
蛇足だけど、動的型定義だと、これ、関数だっけ?変数だっけ?とかわかりにくい。
なんとかならんもんかなぁ・・。
"""
#レンダリングのためのリサイズ関数定義
resizeF = tvTrans.Compose([tvTrans.ToPILImage(),
tvTrans.Resize(40, interpolation=Image.CUBIC),
tvTrans.ToTensor()])
# This is based on the code from gym.
screen_width = 600
"""
カートの位置計算関数
"""
def get_cart_location():
world_width = env.x_threshold * 2
scale = screen_width / world_width
return int(env.state[0] * scale + screen_width / 2.0) # MIDDLE OF CART
"""
スクリーンを取得する。
"""
def get_screen():
screen = env.render(mode='rgb_array').transpose((2, 0, 1))
# transposeは軸変換
# 元画像は400:600:3の配列
# [[[R,G,B][R,G,B][R,G,B]..][[R,G,B],[R,G,B],[R,G,B]...]...]と並んでいるのを
# [[[R,R,R...][G,G,G..]][[B,B,B..]]と並べ替えている。たぶん・・・。
# 変換後は3,400,600の配列
# CxHxWのプレーン画像(CHW)
screen = screen[:, 160:320]
view_width = 320
#ポールを中心に320:160の画像にしている
cart_location = get_cart_location()
if cart_location < view_width // 2:
slice_range = slice(view_width)
elif cart_location > (screen_width - view_width // 2):
slice_range = slice(-view_width, None)
else:
slice_range = slice(cart_location - view_width // 2,
cart_location + view_width // 2)
screen = screen[:, :, slice_range]
# Float変換後、1に正規化して、Torchtensorに変換
screen = np.ascontiguousarray(screen, dtype=np.float32) / 255
screen = torch.from_numpy(screen)
# Resize, and add a batch dimension (BCHW)
# リサイズして、バッチ向けに1次元足した値(BCHW)を返却する。
#unsqueezeが1次元足す関数
return resizeF(screen).unsqueeze(0).to(device)
"""
リサイズ画像のサンプル出力
テストコードと思われる
"""
#env.reset()
#plt.figure()
#plt.imshow(get_screen().cpu().squeeze(0).permute(1, 2, 0).numpy(), interpolation='none')
#plt.title('Example extracted screen')
#plt.show()
"""
トレーニング用のモデルとオプティマイザを生成して、ユーティリティを定義する。
select_action
εグリーディ法でアクションを選択する。
アクションを選択するランダム確立はEPS_STARTで始まりEPS_ENDに向けて
指数関数的に下がります。
plot_durations
最後の100回のエピソード(公式評価で使用された尺度)の平均と一緒に、
エピソードの期間をプロットするヘルパーです。Google翻訳そのまま。
"""
BATCH_SIZE = 128 #ミニバッチのサイズ
GAMMA = 0.999 #時間割引率
#εグリーディ法でランダム確率を変化させるための
EPS_START = 0.9 # 開始値
EPS_END = 0.05 # 終了値
EPS_DECAY = 200 # 最大ステップ数と同じ値
TARGET_UPDATE = 10 #モデルを更新する間隔
policy_net = DQN().to(device) #学習途中の学習モデル
target_net = DQN().to(device) #最終的な学習モデル
#(分けてる理由がわからない・・・eval/trainってしながらやるんじゃないの?)
#最終モデルと学習途中モデルを一致させる。
target_net.load_state_dict(policy_net.state_dict())
#最終的モデルは推論モードへ
target_net.eval()
#最適化(勾配法)の指定
#サンプルコードではRMSpropだけど、Adamもあるので、そちらにしてみる。
#数式いっぱいだけど、ここがきれいにまとまってる。
#https://qiita.com/tokkuman/items/1944c00415d129ca0ee9
#このあたりからΣがいっぱいのページを追いかける必要が出てきて頭いたーってなる。
#optimizer = optim.RMSprop(policy_net.parameters()) #元コードはこちら
optimizer = optim.Adam(policy_net.parameters())
memory = ReplayMemory(10000)
steps_done = 0
#アクションを選択。ステップ数が少ないとランダムで選ばれることが多い
def select_action(state):
global steps_done
sample = random.random() #ランダム値0 <= r < 1
eps_threshold = EPS_END + (EPS_START - EPS_END) * math.exp(-1. * steps_done / EPS_DECAY)
steps_done += 1
if sample > eps_threshold:
#閾値以上ならモデルからの生成値
with torch.no_grad(): #no_gradは勾配計算を無効化する。推論時に使うらしい。evalと何がちがうの・・・?
result1 = policy_net(state) #推論して
result2 = result1.max(1) #max(最大化を計算する次元、https://pytorch.org/docs/master/torch.html#torch.max
result3 = result2[1].view(1, 1) #インデックスが行動となる。(たぶん)
return result3
# return policy_net(state).max(1)[1].view(1, 1) #元コードはこちら
else:
#ランダムなアクション
return torch.tensor([[random.randrange(2)]], device=device, dtype=torch.long)
#エピソード毎の結果(プロット用)
episode_durations = []
#結果プロット用コード
def plot_durations():
plt.figure(2)
plt.clf()
durations_t = torch.tensor(episode_durations, dtype=torch.float)
plt.title('Training...')
plt.xlabel('Episode')
plt.ylabel('Duration')
plt.plot(durations_t.numpy())
# Take 100 episode averages and plot them too
if len(durations_t) >= 100:
means = durations_t.unfold(0, 100, 1).mean(1).view(-1)
means = torch.cat((torch.zeros(99), means))
plt.plot(means.numpy())
plt.pause(0.001) # pause a bit so that plots are updated
if is_ipython:
display.clear_output(wait=True)
display.display(plt.gcf())
"""
最後にトレーニングするためのコード
DQNのトレーニングQ関数を計算する部分
https://book.mynavi.jp/manatee/detail/id=89691
がわかりやすい。
以下Google翻訳
ここでは、最適化の1つのステップを実行する `` optimize_model``関数を見つけることができます。
最初にバッチをサンプリングし、すべてのテンソルを1つのものに連結し、
math: `Q(s_t、a_t)`および:math: `V(s_ {t + 1})= \ max_a Q(s_ { 1}、a) `を計算し、
それらを損失に結びつける。 defitionによって、次のように設定します。math: `s`は端末状態です。
ターゲットネットワークを使用して、安定性を高めるために:math: `V(s_ {t + 1}) 'を計算します。
ターゲットネットワークはほとんどの場合固定された状態になっていますが、ポリシーネットワークの重みが更新されることがあります。
これは通常、設定されたステップ数ですが、簡単にするためにエピソードを使用します。
"""
def optimize_model():
# メモリサイズがミニバッチより小さい間は何もしない
if len(memory) < BATCH_SIZE:
return
#ミニバッチ分のデータを取り出す。
transitions = memory.sample(BATCH_SIZE)
#stackoverflow見ろとのこと。(see http://stackoverflow.com/a/19343/3343043 for
# [[state, action, state_next, reward][..]...BatchSize分]
#→
#[[state,state...BatchSize分][action,action...BatchSize分]...]に変換
#transposeはnumpyじゃないから使えないらしい。
batch = Transition(*zip(*transitions))
#CARTPOLEがDoneになってなくて、NextStateがあるかどうかをチェックする。
#map関数は配列要素に指定の関数を通した新しい配列を生成する関数
#lambdaは匿名関数(ラムダ式)
#この場合sを受け取って、s is not none というbool値に変換
non_final_mask = torch.tensor(tuple(map(lambda s: s is not None,
batch.next_state)), device=device, dtype=torch.uint8)
#次ステップがあるやつのみ取り出す。(※1)
non_final_next_states = torch.cat([s for s in batch.next_state
if s is not None])
#torch.catはリストを渡すと、そのリストの値をもったTensorに変換してくれる。
#batchはTensorのリストでTensorではない。
#そのためPyTorchで扱えるようにTensor型(内部にTensorのリストを持つ)に変換する。
state_batch = torch.cat(batch.state)
action_batch = torch.cat(batch.action)
reward_batch = torch.cat(batch.reward)
# Compute Q(s_t, a) - the model computes Q(s_t), then we select the
# columns of actions taken
# Q(s_t, a_t)を求める
#policy_net(state_batch)を実行すると出力二つなので[[out1, out2][out1, out2]...]な感じになる。
#gatherは、行列から、特定の列を選択して集約する関数
#[[5,6][7,8]]という入力に対しして1次元化するとき[1,0]という値を渡すと
#第一要素目は1,2要素目は0を抽出して[5,7]という値を引っ張ってくる。
#・・・・・最初全然意味わからんかった。
state_action_values = policy_net(state_batch).gather(1, action_batch)
# max{Q(s_t+1, a)}値を求める。
# 次の状態がない場合は0にしておくため、0のTensorをいったん作成する。
next_state_values = torch.zeros(BATCH_SIZE, device=device)
#Tensorの[]に0/1のマスク行列を渡すと、その要素だけ引っ張ってくるらしい。
#next_state_valuesはBatchSizeだが、next_state_values[non_final_mask]ってするとnon_final_maskが1の項目だけってなる。
#non_final_next_statesはすでに(※1)でNextStateあるもののみ抽出
#.max(1)[0]についてはselect_actionメソッド見てね。
next_state_values[non_final_mask] = target_net(non_final_next_states).max(1)[0].detach()
# 教師となるQ(s_t, a_t)値を求める
expected_state_action_values = (next_state_values * GAMMA) + reward_batch
# 損失関数を計算する。smooth_l1_lossは Huber loss
#http://s0sem0y.hatenablog.com/entry/2017/06/19/084210
# 損失関数はここがわかりやすい
loss = nnFunc.smooth_l1_loss(state_action_values, expected_state_action_values.unsqueeze(1))
#ネットワークの更新
optimizer.zero_grad() # 勾配をリセット
loss.backward() # 誤差逆伝播(バックプロパゲーション)を計算
#パラメーターを-1< data < 1にする。
for param in policy_net.parameters():
param.grad.data.clamp_(-1, 1)
optimizer.step()
"""
やっとメインのトレーニングループだぜ!
環境を初期化して、Tensorも初期化して、サンプリングもして、
実行し、次の画面と報酬(常に1)を観察し、
モデルを一度最適化します。
エピソードが終了でループを再開
num_episodesの初期値はテスト用に小さい値なので、大きくする必要があるよ。
"""
#num_episodes = 50
num_episodes = 1000
for i_episode in range(num_episodes):
# 環境の初期化
env.reset()
last_screen = get_screen()
current_screen = get_screen()
state = current_screen - last_screen
for t in count():
# アクションを選択
action = select_action(state)
_, reward, done, _ = env.step(action.item())
reward = torch.tensor([reward], device=device)
# 新しい状態を取得
last_screen = current_screen
current_screen = get_screen()
if not done:
next_state = current_screen - last_screen
else:
next_state = None
# メモリに保存
memory.push(state, action, next_state, reward)
# Move to the next state
state = next_state
# 最適化
optimize_model()
if done:
episode_durations.append(t + 1)
plot_durations()
break
# optimize_model内で使用するtarget_netを最新の学習にアップデート
if i_episode % TARGET_UPDATE == 0:
#モデルを読み込む
target_net.load_state_dict(policy_net.state_dict())
print('Complete')
env.render()
env.close()
plt.ioff()
plt.show()
</code></pre>
<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-6202751036401009432018-05-10T10:03:00.000+09:002018-05-10T18:30:02.718+09:00悩んだけどPyTorchにします! PyTorchをWindows10にインストールする。あと、PyTorch学習用ページメモ<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhH1IetrLGo-MS24l8_ao4n5uczEQfaMcYHx7VFQmuhcd1QTs1j72LM453SGwHB0yZ4Ilk6KviwdmyW41aeylYi_xnRWY2qWJQR2DVrGw8ORMamR5zl0NtF5Yu0hmlLggt0sLvOvk-Vhk/s1600/pytorch_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="145" data-original-width="521" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhH1IetrLGo-MS24l8_ao4n5uczEQfaMcYHx7VFQmuhcd1QTs1j72LM453SGwHB0yZ4Ilk6KviwdmyW41aeylYi_xnRWY2qWJQR2DVrGw8ORMamR5zl0NtF5Yu0hmlLggt0sLvOvk-Vhk/s1600/pytorch_logo.png" /></a></div>
<br />
後から、自分向けに使うメモです。<br />
<div>
<br /></div>
ここ2か月ほど、積み課題となっていたディープラーニングの勉強を進めていましたが、たくさんあるフレームワークをすべて覚えるのは無理!ということで、どれか一つに絞ります。<br />
<br />
最初、google陣営のtensorflow+kerasで進めていましたがいまいちやりたいこと事ができません。(私の技術不足なのですが・・・w)<br />
Define by runと日本製なので日本語コミュニティあるかな?と思ってChainerかな?と思ってサンプル動かしつつ調べていたらChainerから派生してDefine by runを継承しつつ世界的コミュニティが発達しつつあるPyTorchというのがあるとのこと。<br />
<br />
マイクロソフト大好きっ子としては、Microsoft Cognitive Toolkit(CNTK)も考えたのですが、この分野に関しては開発者コミュより研究者コミュで支持されているフレームワークがよさそうと思い、新しい論文がすぐ実装されているPyTorchにすることにしました。<br />
<br />
<a href="https://pytorch.org/">https://pytorch.org/</a><br />
<br />
pytorchですが、2018/05/09時点でWindows10向けにもリリースされています。<br />
現在のバージョンは0.4<br />
2018夏から秋にかけて、Ver1.0をリリースするとのことです。<br />
Open Neural Network Exchange(ONNX)がきちんと機能するようになれば、学習結果はどのフレームワークでもある程度流用できるようになる・・といいな。<br />
<br />
・インストール<br />
cudaを使う場合など、インストールオプションも指定されていますので、そちらを参考に。<br />
tensorflow用にcuda9.0環境が出来上がっているため、cuda9.0を使用します。<br />
pytorchの学習状況をtensorboardで出すパッケージもあるのでついでに入れておきます。<br />
<pre><code>
conda create -n pytorch python=3.6
conda install git
conda install pytorch cuda90 -c pytorch
pip install mkl-random
pip install mkl-fft
pip install torchvision
pip install matplotlib
pip install tensorboard
pip insatall tensorboardX
</code></pre>
<br />
※5/8現在、Windows版が公式からAnacoda Cloudでパッケージが公開されています。peterjc123からだと、古いバージョンがインストールされてしまいますので注意です。<br />
ちょい前までは、MacとLinux版しか公式から公開されていなかったらしいです。<br />
<br />
終わった後にOpenAI Gymも入れておきます。<br />
<br />
OpenAI gym[atari]をWindows10にインストールする。<br />
<a href="http://mt4program.blogspot.jp/2018/05/openai-gymatariwindows10.html">http://mt4program.blogspot.jp/2018/05/openai-gymatariwindows10.html</a><br />
<br />
<br />
PyTorchの勉強するためのページ群<span id="goog_1953639440"></span><a href="https://www.blogger.com/"></a><span id="goog_1953639441"></span><br />
<br />
・Reinforcement Learning (DQN) tutorial<br />
本家 英語だけど、いつものOpenAI Gym CartPoleなので大体わかる。<br />
<a href="https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html">https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html</a><br />
<br />
ちなみにチュートリアルのコードはここ。<br />
<a href="https://github.com/pytorch/tutorials">https://github.com/pytorch/tutorials</a><br />
<br />
・第12回 PyTorchによるディープラーニング実装入門(1)<br />
見つけた中では日本語記事では一番詳しくわかりやすい。<br />
<div>
<a href="https://book.mynavi.jp/manatee/detail/id=89498">https://book.mynavi.jp/manatee/detail/id=89498</a></div>
<div>
<br /></div>
<div>
・【Day-19】『PyTorch入門』 使い方&Tensorflow, Keras等との違いとは?<br />
PyTorchの概要について<br />
<a href="http://www.procrasist.com/entry/19-pytorch">http://www.procrasist.com/entry/19-pytorch</a></div>
<div>
<br /></div>
<div>
もうすぐ本が発売される様子。</div>
<div>
「PyTorchで始める深層学習 ――数式なしで基礎から実装まで 」</div>
<div>
2018/5/22発売予定</div>
<div>
<br /></div>
<div>
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。</div>
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-47320881018733975312018-05-09T10:21:00.000+09:002018-05-09T10:21:52.419+09:00OpenAI gym[atari]をWindows10にインストールする。開発環境はWindows10なのですが、OpenAI Gymのあたりゲーム版をインストールするのに、Bash on windowsとか、MYSYS2とか使ってインストールしている事が多いみたいなのですが、なんだか私の環境では、そーいうのを入れずに動いてしまっています・・。<br />
<br />
まず、前提条件です。下記のがインストール済みです。<br />
Windows10 64bit<br />
Anaconda Python3.6バージョン<br />
Visual Studio 2017 VC++環境、Python環境<br />
一応、Bash on windowsでubuntuが入ってしまってます。<br />
<br />
まず、Anacondaでまっさらの仮想環境を作成します。<br />
anaconda prompt上で<br />
<pre><code>conda create -n test python=3.6
activate test
conda install git
pip install gym
pip install -U git+https://github.com/Kojoley/atari-py.git
pip install gym[atari]</code></pre>
<br />
とやると、素直にインストールできてしまいます・・・。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJPjw-WqvoJ_jMsYsxVw7Uj8d9WRGjjVJAl7zNBt1ZMxsNctk3fQY86-UY02bW3G2jkOjWvfskgNRFW-N-eD4fZtd0ycXQk1_JT613juK3wTIKCrBEmkCN2Jye0wIEzmaL1xcuhaluAU0/s1600/invaders.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="871" data-original-width="642" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJPjw-WqvoJ_jMsYsxVw7Uj8d9WRGjjVJAl7zNBt1ZMxsNctk3fQY86-UY02bW3G2jkOjWvfskgNRFW-N-eD4fZtd0ycXQk1_JT613juK3wTIKCrBEmkCN2Jye0wIEzmaL1xcuhaluAU0/s320/invaders.PNG" width="235" /></a></div>
<br />
<pre><code>python
>>import gym
>>env=gym.make('SpaceInvaders-v0')
>>env.reset()
>>env.render()
</code></pre>
<br />
あれ?私だけ????<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-28275176893955592432018-05-02T10:50:00.002+09:002018-05-02T10:50:32.479+09:00Visual Studio 2017に作成済みのAnaconda仮想環境を追加する。ということで、Visual StudioにPythonの開発環境を整えたいと思います。<br />
<br />
Pythonの開発環境では、Visual Studio Coreというオープンソース版を使う事が多いと思います。実際Anacondaのインストール時もVisual Studio Coreのインストールを聞かれます。Windowsの場合は、VC++のコンパイル環境などを含むCommunityが利用可能ですので、こちらを利用します。<br />
<br />
仕事がC#/VC++なので、環境がすでに整っているというのもあります。<br />
<br />
ここでは、Visual Studio Communityはすでにインストール済みの前提です。<br />
まだの方はこちらからダウンロードできます。<br />
<a href="https://www.microsoft.com/ja-jp/dev/products/community.aspx">https://www.microsoft.com/ja-jp/dev/products/community.aspx</a><br />
<br />
蛇足ですが、ナデラ体制になってマイクロソフトもずいぶん変わりましたね。ほぼほぼフルの開発環境が個人向けではただで手に入るとは・・・。<br />
<br />
VisualStudioを立ち上げてメニューから「ツール」→「ツールと機能を取得」を選択します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1xPXOv5afn2vwyMGFJ_SstsvrSGoZ8xj2DG2pCRYUCK73PisQwIPShlINIUhtbZ6Inz_iTrdhT2KX8_lyc_ZM5Z__08fv0gsHIgNtupZ7k_iScmzdkHOcevEvvwXg7Z7DS7vVbeox4cg/s1600/vs2017_python.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="638" data-original-width="1254" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1xPXOv5afn2vwyMGFJ_SstsvrSGoZ8xj2DG2pCRYUCK73PisQwIPShlINIUhtbZ6Inz_iTrdhT2KX8_lyc_ZM5Z__08fv0gsHIgNtupZ7k_iScmzdkHOcevEvvwXg7Z7DS7vVbeox4cg/s400/vs2017_python.PNG" width="400" /></a></div>
<br />
C++によるデスクトップ開発と、Python開発を選択します。<br />
Python開発では、Anacondaのインストールも可能ですが、前回すでにインストール済みですので、ここはチェックをしません。デフォルトのままで行きます。<br />
C++によるデスクトップ開発は、CUDA関係のビルドに必要になります。<br />
<br />
チェック終わったら変更ボタンをおしてインストールを行います。<br />
<br />
すでにAnaconda仮想環境は作成済みのですので、作成済みの環境を追加したいと思います。<br />
ちょっと悩んだのですが、マイクロソフトのページにちゃんと載っていました。<br />
<a href="https://docs.microsoft.com/ja-jp/visualstudio/python/managing-python-environments-in-visual-studio#manually-identifying-an-existing-environment">https://docs.microsoft.com/ja-jp/visualstudio/python/managing-python-environments-in-visual-studio#manually-identifying-an-existing-environment</a><br />
<br />
Visual Studioを起動して、新しいプロジェクトの追加でPython アプリケーションを選択します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_bMeuw1BZCQc0kzcO3f7l8vxhnXwYzaNSy3h7MN5ya21-dzWsQJne67oMVpnZsWkGiYxWGZlgdY51WEs6qozRNV1tUit7Q6VDuiTU8TkFkoixWdq9ONL7_0j_DUqgbvhlR3_BOrEtlUY/s1600/vs2017_python2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="652" data-original-width="937" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_bMeuw1BZCQc0kzcO3f7l8vxhnXwYzaNSy3h7MN5ya21-dzWsQJne67oMVpnZsWkGiYxWGZlgdY51WEs6qozRNV1tUit7Q6VDuiTU8TkFkoixWdq9ONL7_0j_DUqgbvhlR3_BOrEtlUY/s400/vs2017_python2.PNG" width="400" /></a></div>
<br />
作成したPythonプロジェクトのソリューションエクスプローラーでPython環境を選択し右クリック、「すべてのPython環境を表示」を選択します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcuQRhFv4RdySkY6aSsMq2hUBFzcvGb8KGHeAb6yHdqM2Jrse6-H46EPx6ZVh9pBf7ohtZ0AuYHeIpRNS2jXt6CKw7MWQzE682cLmPDiE28H-ebNzRAdIb0xUVl31gfGlOKw9MvdFzWlU/s1600/vs2017_python3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="320" data-original-width="419" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcuQRhFv4RdySkY6aSsMq2hUBFzcvGb8KGHeAb6yHdqM2Jrse6-H46EPx6ZVh9pBf7ohtZ0AuYHeIpRNS2jXt6CKw7MWQzE682cLmPDiE28H-ebNzRAdIb0xUVl31gfGlOKw9MvdFzWlU/s400/vs2017_python3.png" width="400" /></a></div>
<br />
「+カスタム」を選択します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6NL-lerGmdEbratpURddB8mQ99kue2DpY-dBlo3rucSn1II9uYQtG_KM_cLIC831oxbaPRrlvy9hNS2iAmPHy8RrRIm3c28Wg2K7nkHrlXyAYo0xJhpfC9NFFmMpo3uMICe01DsvIfwo/s1600/vs2017_python4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="589" data-original-width="429" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6NL-lerGmdEbratpURddB8mQ99kue2DpY-dBlo3rucSn1II9uYQtG_KM_cLIC831oxbaPRrlvy9hNS2iAmPHy8RrRIm3c28Wg2K7nkHrlXyAYo0xJhpfC9NFFmMpo3uMICe01DsvIfwo/s400/vs2017_python4.png" width="291" /></a></div>
説明の欄にわかりやすい文字列を入力します。今回はtensorflow仮想環境なので、「tensorflow」と入力します。<br />
プレフィックスパスに仮想環境へのパスを入力します。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjs0WHI48fiqfE26i8KRpIPBCqZB0Wyb00X7Ohmrjand732PHXdTm_3CLjwfbg1csc7qMIx9Uen3uIsAOjoAfL__uDfg3U0cHNS_pAdapat8HPI20VBN9Ky1ZRbXFKLv84fm6eSC_64-Y/s1600/vs2017_python5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="369" data-original-width="416" height="353" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjs0WHI48fiqfE26i8KRpIPBCqZB0Wyb00X7Ohmrjand732PHXdTm_3CLjwfbg1csc7qMIx9Uen3uIsAOjoAfL__uDfg3U0cHNS_pAdapat8HPI20VBN9Ky1ZRbXFKLv84fm6eSC_64-Y/s400/vs2017_python5.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK3AVAN7tUzRDJ7E2Y_hhc4u-bQm0RBYrEsLlXoVmS__sgbEqxw97cLd3XNZDBwgZnvRIDHkZgVUhn7d7uiJWCVzJbL-6znGIAt3Tgpfc27KOcZtpk6ybjhq8wKf_f6K7HtOVJR1ndwmw/s1600/vs2017_python5-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="487" data-original-width="972" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK3AVAN7tUzRDJ7E2Y_hhc4u-bQm0RBYrEsLlXoVmS__sgbEqxw97cLd3XNZDBwgZnvRIDHkZgVUhn7d7uiJWCVzJbL-6znGIAt3Tgpfc27KOcZtpk6ybjhq8wKf_f6K7HtOVJR1ndwmw/s400/vs2017_python5-1.png" width="400" /></a></div>
<br />
仮想環境へのパスは、Anaconda promptを起動して「conda env list」と入力すると表示されるパスです。<br />
<br />
プレフィックスパスを入力した後、「自動検出」リンクを押すと以下の項目が自動的に入力されますので、「適用」リンクを押します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkmdFVFaRB2mP8xBEiWNROEuX4euep3o2hWDwexN-N7nz1HRoW3F-Ul3gJ5H5BzX0QydWK8myHJ-D-2ThuW66eB5yV68JD9TIFnZDhFuTgV1eTtggZ21KlW1vzEbRsqFMOMqOcDZiu1y8/s1600/vs2017_python6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="597" data-original-width="421" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkmdFVFaRB2mP8xBEiWNROEuX4euep3o2hWDwexN-N7nz1HRoW3F-Ul3gJ5H5BzX0QydWK8myHJ-D-2ThuW66eB5yV68JD9TIFnZDhFuTgV1eTtggZ21KlW1vzEbRsqFMOMqOcDZiu1y8/s400/vs2017_python6.png" width="281" /></a></div>
<br />
再度ソリューションエクスプローラーに戻り、Python環境を選択し右クリック、「Python環境を追加/削除」を選択します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsrQtLMrambtsT5IuPeKtfyo6cWQEjCi_oTNSi49uNk-C3-FdS-XnGeB50Un2pvUgXmqGFtdEP1-0G2-waKn6oEBMYeY8CMjYXhIDDzoZIPKpqekw5qEmhmBXHyhD239jmTrtIKW2VK4E/s1600/vs2017_python7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="210" data-original-width="414" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsrQtLMrambtsT5IuPeKtfyo6cWQEjCi_oTNSi49uNk-C3-FdS-XnGeB50Un2pvUgXmqGFtdEP1-0G2-waKn6oEBMYeY8CMjYXhIDDzoZIPKpqekw5qEmhmBXHyhD239jmTrtIKW2VK4E/s400/vs2017_python7.png" width="400" /></a></div>
<br />
Python環境でtensorflowを選択してOKボタンで終了です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfEcnpv-voxQG-8tbGvS4jzvTrvSdkDGyRdkQVU9ToEhBLuAaeXaXXFFlP3Mi4jPgcg9h6-mCi0zz88lOy3w1Ay9dee8j10wco0TkLGodbMTSvSXZstHAlt2OKgK05oBKFqy3zJspmOpU/s1600/vs2017_python8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="393" data-original-width="486" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfEcnpv-voxQG-8tbGvS4jzvTrvSdkDGyRdkQVU9ToEhBLuAaeXaXXFFlP3Mi4jPgcg9h6-mCi0zz88lOy3w1Ay9dee8j10wco0TkLGodbMTSvSXZstHAlt2OKgK05oBKFqy3zJspmOpU/s400/vs2017_python8.png" width="400" /></a></div>
<br />
これで、仮想環境での開発準備が整いました。<br />
<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-73258110085493428732018-05-02T09:19:00.002+09:002018-05-02T09:19:15.592+09:00Gewinn9が不調です。すみません。去年の夏ごろは調子のよかったGewinn9ですが、現在とても不調です。<br />
<br />
ちょっとあれこれテストしてみたのですが、時間の関係もあり強化学習によるEAの作成の方を優先している状況です。<br />
<br />
購入していただいた方には大変申し訳ありません。<br />
埋め合わせが出来ればよいのですが・・・。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-16532432988682486752018-04-25T10:36:00.001+09:002018-05-02T10:50:46.363+09:00DQNを使ったトレード事始め。Anaconda+tensorflowインストールまえまえから積み課題になっていた深層学習を使用したトレードについて、やっと準備を始めました。<br />
<br />
自分向けのインストールメモを残しておきます。<br />
<br />
■最終目標<br />
強化学習を利用した自動トレードです。<br />
まずは、Deep Q-Networkから初めて、最終的にはRainbowでのトレードを目指します。<br />
<br />
■前提<br />
まず、口座に連携する方法についてはいろいろあるのですが、MT4に共有メモリかなにかで連携するか、oandapyを使ってOANDA Rest APIに直結するか、Jijiを使ってRuby経由でやるかはさておき、開発そのものは慣れたWindows環境が良いと思いWindows10にインストールする前提で行きます。<br />
<br />
※oandapy OANDA Rest APIのPythonラッパー<br />
<a href="https://github.com/oanda/oandapy">https://github.com/oanda/oandapy</a><br />
<br />
※Jiji RubyベースのFXトレードフレームワーク(OANDA RestAPI対応)<br />
<a href="http://jiji2.unageanu.net/">http://jiji2.unageanu.net/</a><br />
<br />
深層学習のフレームワークとして有名で資料も多いtensorflow+Python(Anaconda)という環境を作成したいと思います。<br />
<br />
※tensorflow(テンソルフロー)<br />
Googleが開発した商用利用も可能な深層学習フレームワークです。<br />
<br />
※Anaconda(アナコンダ)<br />
Python言語環境と学術演算ライブラリをパック化したパッケージです。<br />
ヘビ仲間です。<br />
<br />
※Python(パイソン)<br />
なぜか?深層学習でよく利用されるようになった開発言語です。現在Python使いの人単価はプログラマ業界でぶっちぎっていますので、いまから業界に入る人は頑張って勉強しましょう。私?残念ながら、現時点ではPythonわかりません。今から勉強します。<br />
<br />
■インストール環境<br />
Windows10 64bit<br />
Core i7<br />
Geforce GTX960m<br />
Mem 16GB<br />
<br />
アルファベットが開発したtensorflowはGPUによる高速化が可能です。<br />
対応しているGPUはGeForceのみとなっていて、AMD Radeonには対応していません。<br />
ちょっと動かしてみただけですが、深層学習はめちゃくちゃ遅いので、GeForce必須です。ある程度新しくないとだめですので、GeForce GTXシリーズ必須です。<br />
下のページでスコア値が3.0以上は必須です。<br />
<a href="https://developer.nvidia.com/cuda-gpus">https://developer.nvidia.com/cuda-gpus</a><br />
<br />
少し動かしましたが、正直ノートPC搭載のGTX960mでも力不足で、GTX1080クラスが必要だなと感じました。<br />
また、GPUアクセラレーション有効状態でもCPUパワーを50%ほど持っていくため、CPUもそこそこのスペックが必要そうです。本格的にやるならCore i5-8400+GTX1080のマシンを新調しようと思いました。<br />
<br />
■インストール手順<br />
tensorflowのインストールページをベースにメモを残します。<br />
<a href="https://www.tensorflow.org/install/install_windows">https://www.tensorflow.org/install/install_windows</a><br />
<br />
<h4>
1.CUDA toolkit 9.0のインストール</h4>
<div>
tensorflowのインストールを書いた記事で少し古いとCUDA8.0をインストールすることになっているものも多いです。2018/4/25時点のバイナリ配布版tensorflowではCUDA9.0を利用します。</div>
<br />
すでにCUDA9.1がリリースされていますので、ソースコードからビルドするとCUDA9.1も利用可能です。ここではバイナリ版をインストールする前提にします。多分次のtensorflowバイナリ配布バージョンの対応CUDAは9.1になると思いますので、tensorflowのインストールページを確認して、常時必要なCUDA toolkitのバージョンを確認してください。<br />
<br />
<a href="https://developer.nvidia.com/cuda-90-download-archive">https://developer.nvidia.com/cuda-90-download-archive</a><br />
まず、このページからCUDA9.0をダウンロードします。<br />
Windows→10→exe(local)を選択して表示されるBase Installer、Patch1、Patch2をダウンロードします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC4dKtDlkXd8ldKuvaQX5P2Exf8qp0FH4zva3-c9grd0weWXnkPfVeJfl2WyLdvFmXACPABK76DbuVjqABGcJruWqFihInXJ2EKy9dqun3nm_ghGMAsHx3KwN3-vxWKk9YdXftC2DBFTY/s1600/cuda90.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="823" data-original-width="796" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC4dKtDlkXd8ldKuvaQX5P2Exf8qp0FH4zva3-c9grd0weWXnkPfVeJfl2WyLdvFmXACPABK76DbuVjqABGcJruWqFihInXJ2EKy9dqun3nm_ghGMAsHx3KwN3-vxWKk9YdXftC2DBFTY/s320/cuda90.PNG" width="309" /></a></div>
<br />
ダウンロードしたexeファイルを、Base Installer、Patch1、Patch2の順に起動して、CUDAをインストールします。<br />
<br />
<h4>
2.cuDNNのインストール</h4>
<a href="https://developer.nvidia.com/cudnn">https://developer.nvidia.com/cudnn</a><br />
<br />
cuDNNというCUDA用深層学習パッケージをインストールします。<br />
ここでは、NVIDIAの開発者メンバーシップに登録が必要です。<br />
未登録の方は、Download cuDNNボタンを押した後に表示されるメンバーシップ要求画面でjoinボタンを押してからメンバー登録してください。<br />
メンバー登録すると、登録したメールに「Please confirm your email to join the NVIDIA Developer Program」というタイトルの認証メールが届きます。HTML表示可能なメーラーにてメールのVerify Emailをクリックすると認証完了します。<br />
<br />
その後、先ほどのメンバーシップ要求画面右側にあるloginボタンを押して登録したユーザにてログインするとダウンロードが可能です。<br />
<br />
CUDA9.0用のcuDNN「Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.0」をダウンロードします。<br />
ZIPファイルでダウンロードされますので、ZIPファイル内のbinフォルダをCUDA9.0のbinフォルダに上書きします。<br />
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin<br />
<br />
最後にWindowsの環境変数PATHにCUDA9.0のbinフォルダへのパスを通して終了です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_-s4IWZlWeQTeyShS1bxpcJ500IUOkgjG-T3WZu9zwcdhm70IX1uT7QqAx4mVVz6lYVDtl-_Etr_6GhLNG5aORtvyDdxoaMt500-64Wq3fqXGEPiv8U13KurIHYr3CF5q2Q_qu0x50CE/s1600/%25E7%2592%25B0%25E5%25A2%2583%25E5%25A4%2589%25E6%2595%25B0.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="496" data-original-width="527" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_-s4IWZlWeQTeyShS1bxpcJ500IUOkgjG-T3WZu9zwcdhm70IX1uT7QqAx4mVVz6lYVDtl-_Etr_6GhLNG5aORtvyDdxoaMt500-64Wq3fqXGEPiv8U13KurIHYr3CF5q2Q_qu0x50CE/s320/%25E7%2592%25B0%25E5%25A2%2583%25E5%25A4%2589%25E6%2595%25B0.PNG" width="320" /></a></div>
環境変数の編集はWindows10であれば、Siriに環境変数とお願いすると表示されます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C_XUfbLWrqNAfBVI73j6brGaBvQuiugSRn7avKHsDx48hMya5l3Uw0WDLsfOgcoGDapDEV9HH85iAzJ_18jXB_Wbq9oxkvSw5m-AvPkSLSfJgeS8DgtrK-rVZypGl0XJCqBG1tjUPxc/s1600/%25E7%2592%25B0%25E5%25A2%2583%25E5%25A4%2589%25E6%2595%25B0siri.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="398" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C_XUfbLWrqNAfBVI73j6brGaBvQuiugSRn7avKHsDx48hMya5l3Uw0WDLsfOgcoGDapDEV9HH85iAzJ_18jXB_Wbq9oxkvSw5m-AvPkSLSfJgeS8DgtrK-rVZypGl0XJCqBG1tjUPxc/s320/%25E7%2592%25B0%25E5%25A2%2583%25E5%25A4%2589%25E6%2595%25B0siri.PNG" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h4>
3.Anacondaのインストール</h4>
Python環境のパッケージであるAnacondaをインストールします。<br />
<a href="https://www.anaconda.com/download/">https://www.anaconda.com/download/</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibxCyT7W9jKDlSBm0xUysEvUE6_5gYup4T-KS84IdakZJJc0XWWXOlab2dU4nygFlYsGO98Kva4by7SSfCagd9idr2VMI5ASXQwNB_Cu9uQg2ITvUYIUnU9zh27RzJN8b4il7p2XjZ0KM/s1600/anaconda.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="352" data-original-width="438" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibxCyT7W9jKDlSBm0xUysEvUE6_5gYup4T-KS84IdakZJJc0XWWXOlab2dU4nygFlYsGO98Kva4by7SSfCagd9idr2VMI5ASXQwNB_Cu9uQg2ITvUYIUnU9zh27RzJN8b4il7p2XjZ0KM/s320/anaconda.PNG" width="320" /></a></div>
<br />
64 Bit Graphical Installer Anacondaをダウンロードします。<br />
クリックするとダウンロードが開始されます。画面上にメールアドレス登録してくださいと出てきますが、すでにダウンロードは開始されていますので無視しても大丈夫です。<br />
<br />
基本的にすべてデフォルトのままインストールします。<br />
Installation OptionsにてRegister Anaconda as my default Python3.6にチェックしておきます。(デフォルトでチェックが付いていると思います)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvY3o9n5SCeI5AsRstzEmrwt2J78TLQdV-rXfUVLiBFd5mYz9Yif63kGWB0wHwaP9DrtHzS6Pl_hBIh6QE31Xy_785c55bLHfzRBerKa75sz568nX0CkzzKL_Tamm7LSomj6h6rWgDJ2M/s1600/anaconda2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="385" data-original-width="498" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvY3o9n5SCeI5AsRstzEmrwt2J78TLQdV-rXfUVLiBFd5mYz9Yif63kGWB0wHwaP9DrtHzS6Pl_hBIh6QE31Xy_785c55bLHfzRBerKa75sz568nX0CkzzKL_Tamm7LSomj6h6rWgDJ2M/s320/anaconda2.png" width="320" /></a></div>
<br />
Visual Studio Coreのインストールを聞かれます。Windowsの場合Visual Studio Cummunityが利用可能です。仕事柄すでにインストール済みですので、ここはSkipしました。Visual Studio CummunityにおけるPython開発の記事は別の機会に書きます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUgCRp_gboyDArJ_jZhFDkI1Bv-TGSQ0PXPU6fwj61ugjBFXfhGCJYO7EkZ7zSjLXKq8GTxaDdnx2AXb5kD7zJLYtqN2eKkLze5lbV-9oQOFpMFs4F_giUpSvldtsHgjTF4_a_xzipHAk/s1600/anaconda3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="389" data-original-width="499" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUgCRp_gboyDArJ_jZhFDkI1Bv-TGSQ0PXPU6fwj61ugjBFXfhGCJYO7EkZ7zSjLXKq8GTxaDdnx2AXb5kD7zJLYtqN2eKkLze5lbV-9oQOFpMFs4F_giUpSvldtsHgjTF4_a_xzipHAk/s320/anaconda3.png" width="320" /></a></div>
<br />
<br />
<h4>
4.tensorflowのインストール</h4>
Anacondaインストール完了すると、Anaconda Promptが起動可能です。<br />
プログラムメニュー→Anaconda→Anaconda Promptを起動します。<br />
以下Anaconda Prompt上の操作です。<br />
まず、Anaconda用インストールマネージャーcondaアップデートを行います。次のコマンドを打ちます。<br />
<pre><code>conda update -n base conda</code></pre>
<br />
なぜか一回目block should ....というメッセージが操作可能なコマンドとして認識されませんと怒られるため、2回実行します。<br />
<br />
次にtensorflowのための仮想環境を作成します。tensorflowのインストールページではPython3.5を指定していますが、3.6が出ているため3.6にします。次のコマンドを打ちます。<br />
<pre><code>conda create -n tensorflow pip python=3.6
activate tensorflow</code></pre>
<br />
pythonのパッケージマネージャーpipが少し古いので、あらかじめアップデートしておきます。<br />
<pre><code>python -m pip install --upgrade pip</code></pre>
<br />
ついにtensorflowのインストールです。<br />
<pre><code>pip install --ignore-installed --upgrade tensorflow-gpu</code></pre>
<br />
tensorflowのインストール解説には動作確認が載っていますので実行してみましょう。<br />
以下、<a href="https://www.tensorflow.org/install/install_windows">https://www.tensorflow.org/install/install_windows</a>からの抜粋です。<br />
<br />
$ python<br />
>>> import tensorflow as tf<br />
<div>
>>> hello = tf.constant('Hello, TensorFlow!') </div>
<div>
>>> sess = tf.Session() </div>
<div>
>>> print(sess.run(hello))<br />
<br />
<br />
CUDAへのパスが通ってないと、ここでdllが足りないと怒られるので、もしも実行に失敗した場合環境変数を確認してください。<br />
<br />
(蛇足)<br />
こう思うとOANDAすごいですよね。本気で倍率10倍制限とかくそだろ!とか言いたくなります。クリック365へ天下り禁止にしてから制限を論じてください。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。</div>
だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-86803009256000899712018-03-27T15:47:00.002+09:002018-03-27T16:14:09.228+09:00[お知らせ]FX-ONにて無料公開しているインジケータの配信を停止します。本ページからリンクされているFX-ONの無料インジケータへダウンロードですが、<br />
ページの運用費と思ってアフィリエイトリンクでやらせていただいていたのですが、どうもFX-ONのシステム更新後正しくアフィリエイトされている様子がありません。<br />
<br />
どうもサイトURL毎にアフィリエイトリンクの生成をするようなのですが、BloggerのようにHTTPとHTTPS両方からアクセス可能な場合、それぞれ別サイトとして認識されてしまうようです。<br />
<br />
FX-ONの仕組みはコロコロ変わって困りものです。<br />
多分、コピーページ(同じ内容のブログをいくつも作ってアクセスを稼ぐ感じのやつです)対策かとおもうのですが、アフィリエイトの発生条件を厳しくした方がFX-ON的にはお得なので、そちらじゃないかと勘繰りたくなる仕様変更です・・・。<br />
<br />
さておきゴゴジャンサポートにも問い合わせたのですが、HTTPSとHTTPと同じサイトとして認識させる方法はないとのこと。<br />
さらに無料商品へのアフィリエイトリンクは有効と回答をいただいたのですが、残念ながら半年以上もリンク生成方法が無いため、新しく作成してもリンクが行えず、私のモチベーションも上がってきません。<br />
<br />
そこで、いったんリセットしたいと思います。<br />
<br />
ブログ上にはソースコード残してありますので、ブログ上のソースコードをコピペしてご利用ください。<br />
<br />
また、やり方を考えて復活するかもしれません。<br />
(500円ぐらいの寄付金付きダウンロードを用意して、そこから無料ダウンロードへ飛ばす感じにしようかな?)<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-2715724395871965952018-03-12T08:46:00.000+09:002018-03-12T08:46:00.378+09:00雑記 インジ改造したい!→クラウドソーシング活用しませんか?ここ最近、ブログに掲載されているインジケータに矢印をだせませんか?などのコメントをたくさんいただきます。<br />
<br />
私もなかなか時間がなくて対応できないため、そんな場合、<br />
FX-ONのクラウドソーシングにご依頼されるのはいかがでしょうか?<br />
<a href="http://fx-on.com/crowdsourcing/">http://fx-on.com/crowdsourcing/</a><br />
<br />
矢印をチャート上に出すなどのインジケータの修正であれば、1万円以下で請け負っていただけると思います。<br />
<br />
その再、本ブログに公開されているソースコードであれば参考にしていただいて問題ありません。<br />
<br />
ぜひ皆様ご検討ください。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-34992807882387025172018-01-08T22:05:00.001+09:002018-01-08T22:05:34.114+09:00[雑記]TradeStationを始めてみる。新年あけましておめでとうございます。<br />
<br />
短期トレードでは決められた足のチャートで見るよりも70Tickとか50Tickなどの指定更新回数で描画されたチャートを見たほうがトレンドがつかみやすいと感じています。<br />
(※ちなみに70Tickというのは、ボブ・ボルマンさんが提唱したEURUSD向けの数。通貨毎に1日のTick数を288で割った切りの良い数字になるかと思われます<br />
)<br />
まだ、バックテスト等で確認出来たわけではないので、感じているだけです(笑)ただ、ちょっと手を掛けてやってみようかなと思えるぐらいにはなりました。<br />
<br />
現在はOandaで提供されているTradingViewチャートを利用しています。<br />
が、しかし、OandaのTradingViewはチャートシステムそのものは使用しているもののPineスクリプトは使用出来ないようです。<br />
本家TradingViewではTickBarの表示は出来ないとのこと。チャットとサポートに問い合わせた所、トレーダーの要望として需要があることは理解しているので今検討しているみたいな感じの英語のコメントが帰ってきました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFgfXlLbzb7rHHUFg-p1Rl7z08cGl1JmDr07n9AN33QrrfmES6r-GiokuccddQAIVLIg7-cLu7FZF6tk-U6JYe0lU1qaNEgDc07rJi6cnKQoW_4UNo_GdKAvzrvE1cH9f-GpFiLH8dTDo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2018-01-08+20.40.48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="651" data-original-width="1072" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFgfXlLbzb7rHHUFg-p1Rl7z08cGl1JmDr07n9AN33QrrfmES6r-GiokuccddQAIVLIg7-cLu7FZF6tk-U6JYe0lU1qaNEgDc07rJi6cnKQoW_4UNo_GdKAvzrvE1cH9f-GpFiLH8dTDo/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2018-01-08+20.40.48.png" width="400" /></a></div>
ということで、早速TradeStationを入手してみました。もともと持っていたマネックスの口座からTradeStation向けに申し込み。なんかTradeStationを使うと標準のツールは一切使えなくなるとの警告文に一杯同意を求められます^^;;<br />
<br />
日本ではマネックス証券でのみ利用可能です。<br />
<a href="https://info.monex.co.jp/tradestation/">https://info.monex.co.jp/tradestation/</a><br />
<br />
このあたりFX業界の標準ツールとなっているMT4とは違って少々閉鎖的ですね。<br />
正直TradeStationで株もFXも商品先物もトレードできたら最強なのですが、日本ではきっと無理なのでしょう。<br />
<br />
色々いじりがいがありそうです。<br />
まぁまずは抵抗線を描画するインジケータから始めたいと思います。<br />
<br />
あ、ちなみにJForexを提供しているデューカスコピーでも表示可能とのこと。こちらのほうがダイレクトにトレード出来ていいかもしれませんね。開発言語はJavaとのことなので、EasyLanguageよりはとっつきやすいかもしれません。<br />
<br />
まぁ、とりあえず、デューカスコピーの口座は持っていないため、現状入手可能なTradeStationから手を出してみたいと思います。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.comtag:blogger.com,1999:blog-7785171701714939609.post-85737914663608166482017-12-13T21:12:00.000+09:002018-11-13T18:02:16.877+09:00[MT4インジケータ]ちょっと分けて考えてみよう。半分だけのボリンジャーバンド最近LSMAを研究していて、わりかしいい感じなのですが、その中で、バンドは分けて考えたほうがいいのではないか?ということに気が付きました。<br />
本家のLSMAの方は、二乗平均誤差をベースにあれこれしていますが、メジャーインジケータであるボリンジャーバンドも、分けて考えると違った物が見えてくるかもしれません。<br />
<br />
ということで、早速サラッと作ってみました。標準的なボリンジャーバンドの計算方法を移動平均より上のデータと下のデータを分けて計算して描画しています。<br />
データ量が1/2になっっている前提で、バンド幅のσ値を通常の2倍にしています。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig_q9z2wL96Ae6Ko1EuJweP0S2WIQh7YmxvgN57izhVWmBIuGWTvun1TfzsAz-iEwkgRNlpoSYZvh4JS5D3PjARYQrp9dkQ4gy4LCuNqRQLqY5Os1g-SNf9PCzJ0nKFvHT-u-h27V2x0U/s1600/USDJPYH4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="531" data-original-width="707" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig_q9z2wL96Ae6Ko1EuJweP0S2WIQh7YmxvgN57izhVWmBIuGWTvun1TfzsAz-iEwkgRNlpoSYZvh4JS5D3PjARYQrp9dkQ4gy4LCuNqRQLqY5Os1g-SNf9PCzJ0nKFvHT-u-h27V2x0U/s400/USDJPYH4.png" width="400" /></a></div>
<br />
わりあい機能するような・・・しないような??<br />
M1とかの逆張りとかのほうがいいのかもしれません。<br />
<br />
ソースコードはブログの最後です。<br />
<br />
ボリンジャーバンド特有の価格が動いた時に逆方向にもバンド幅が伸びてしまう症状が無いだけでも優秀かもしれません。<br />
<br />
せっかく上と下に分けるんだから、high/low見た方がいいかな?ということで、下はlow、上はhighと分けて計算しています。<br />
<br />
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。<br />
<a href="http://mt4program.blogspot.com/p/blog-page.html"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0d-nDIhUtQYinNjbmUOHzfZz8cqWT48smJ0-R427F5K9koE6f-cNLG74Ijj4ACp3XfXxgBG7wkoJUHucM8ue2JGnuGgSTTh0U8t_RghYPtlf9oDEPyzxtQn6xfnZjWsZpZixpD557rOQ/s1600/download16.png" />インジケータ一覧</a><br />
<br />
Twitterもよろしくお願いします。<br />
<a href="https://twitter.com/mt4program" target="_blank">https://twitter.com/mt4program</a><br />
<a href="https://jp.tradingview.com/u/daisuke_gewinn/" target="_blank">Trading View プロフィール</a><br />
<br />
ブログランキングにご協力よろしくお願いします。<span style="background-color: white; color: #333333; font-family: "ms pゴシック"; font-size: 13px; letter-spacing: 0.9px; line-height: 20.8px; text-align: -webkit-center;">m(._.)m</span><br />
<table><tbody>
<tr>
<td><a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank"><img alt="にほんブログ村 為替ブログ FX テクニカルトレード派へ" border="0" height="31" src="//fx.blogmura.com/technicaltradegroup/img/technicaltradegroup88_31.gif" width="88" /></a><br />
<a href="https://fx.blogmura.com/technicaltradegroup/ranking_pv.html" target="_blank">にほんブログ村</a>
</td>
<td><a href="http://fx-on.com/ac/blog/?u=2210&m=3"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LJmCHbBYXK2Z-LhQTG57wknSrv_RvbbuJ6Xkd1taa0kl8ueePlsAVF-5Olj_01V_fIgpUdTIHq4BoS6pfBsWHxYyoVJz6lUHEJb8-B4bo82eH4FmYtVbuCOivowlnPMfZ6z9c2MA-ew/s1600/fxon_logo_white.png" style="-moz-border-radius: 5px; -moz-box-shadow: 0px 0px 2px #000000; -webkit-border-radius: 5px; -webkit-box-shadow: 0px 0px 2px #000000; border-radius: 5px; box-shadow: 0px 0px 2px #000000;" /></a></td>
</tr>
</tbody></table>
<br />
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。<br />
<br />
<pre><code>//------------------------------------------------------------------
// +と-側のボリンジャーバンドを別に計算してみた。
#property copyright "Copyright 2017, Daisuke"
#property link "http://mt4program.blogspot.jp/"
#property version "1.00"
#property strict
#property indicator_chart_window
//バッファーを指定する。
#property indicator_buffers 5
//プロット数を指定する。
#property indicator_plots 5
#property indicator_label1 "Band1"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrAqua
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
#property indicator_label2 "Band2"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrAqua
#property indicator_style2 STYLE_DOT
#property indicator_width2 1
#property indicator_label3 "Band3"
#property indicator_type3 DRAW_LINE
#property indicator_color3 clrIndianRed
#property indicator_style3 STYLE_SOLID
#property indicator_width3 1
#property indicator_label4 "Band4"
#property indicator_type4 DRAW_LINE
#property indicator_color4 clrIndianRed
#property indicator_style4 STYLE_SOLID
#property indicator_width4 1
#property indicator_label5 "MA"
#property indicator_type5 DRAW_LINE
#property indicator_color5 clrYellow
#property indicator_style5 STYLE_DOT
#property indicator_width5 2
double m_buffer1[];
double m_buffer2[];
double m_buffer3[];
double m_buffer4[];
double m_buffer5[];
input int MaPeriod = 21; // 移動平均期間
input ENUM_APPLIED_PRICE PriceMode = PRICE_TYPICAL; // 対象価格
input double BandWidth1 = 2.0; // バンド幅1
input double BandWidth2 = 4.0; // バンド幅2
//------------------------------------------------------------------
//初期化
int OnInit()
{
//インジケーターバッファを初期化する。
SetIndexBuffer(0,m_buffer1);
SetIndexBuffer(1,m_buffer2);
SetIndexBuffer(2,m_buffer3);
SetIndexBuffer(3,m_buffer4);
SetIndexBuffer(4,m_buffer5);
string short_name = "HBB(" + IntegerToString(MaPeriod) + ")";
IndicatorShortName(short_name);
return(INIT_SUCCEEDED);
}
//------------------------------------------------------------------
//計算イベント
int OnCalculate(const int rates_total, //各レート要素数
const int prev_calculated, //計算済み要素数
const datetime &time[], //要素ごとの時間配列
const double &open[], //オープン価格配列
const double &high[], //高値配列
const double &low[], //安値配列
const double &close[], //クローズ価格配列
const long &tick_volume[], //ティック数(要素の更新回数)
const long &volume[], //実ボリューム(?)
const int &spread[]) //スプレット
{
double upDiff[];
double downDiff[];
ArrayResize(upDiff, MaPeriod);
ArrayResize(downDiff, MaPeriod);
for( int i = rates_total - prev_calculated - 1; i >= 0 && !IsStopped(); i-- )
{
if( i > rates_total - MaPeriod ) continue;
m_buffer5[i] = iMA(NULL, PERIOD_CURRENT, MaPeriod, 0, MODE_SMA, PriceMode, i);
ArrayInitialize(upDiff, 0);
ArrayInitialize(downDiff, 0);
for( int j = 0; j < MaPeriod; j++ )
{
if( high[i + j] > m_buffer5[i + j] ) upDiff[j] = high[i + j] - m_buffer5[i + j];
if( low[i + j] < m_buffer5[i + j] ) downDiff[j] = m_buffer5[i + j] - low[i + j];
}
double upStd = StdDev(upDiff, MaPeriod, 0);
double downStd = StdDev(downDiff, MaPeriod, 0);
m_buffer1[i] = m_buffer5[i] + BandWidth1 * upStd;
m_buffer2[i] = m_buffer5[i] + BandWidth2 * upStd;
m_buffer3[i] = m_buffer5[i] - BandWidth1 * downStd;
m_buffer4[i] = m_buffer5[i] - BandWidth2 * downStd;
}
ArrayFree(upDiff);
ArrayFree(downDiff);
return rates_total - 1;
}
//------------------------------------------------------------------
//標準偏差を求める。
// return 標準偏差
double StdDev(
const double &values[], //元となる配列
int count, //計算対象数
int shift //シフト
)
{
if( (count + shift) > ArraySize(values) ) return 0;
double avg = 0 ;
double mu = 0 ;
for( int i = shift; i < shift + count; i++ )
{
avg += values[i];
}
avg = avg / count;
for( int i = shift; i < shift + count; i++ )
{
mu += MathPow(values[i] - avg, 2);
}
// 標本標準偏差
return MathSqrt(mu / (count - 1));
}
</code></pre>
だいすけhttp://www.blogger.com/profile/13960576732985382513noreply@blogger.com