2018/08/02今日は限られた時間にのみ可能なスキャルピング手法の検証をしていきます。東京市場スキャルピングトレード手法この手法は東京市場・・・それも、昼のみに限ってトレードする手法です。買いも売りも11時30分から12時30分の間だけ実施します。ボリンジャーバンドで10銭程度の狭いレンジになっていることも条件になります。売買の条件ボリンジャーバンドの中心線から3銭上がったら売り、3銭下がったら買います。Worksで紹介されていた手法です。Worksをご覧ください。MetaTrader4でプログラミングボリンジャーバンド2σタッチでカウンターする戦略の方が圧倒的に作りやすいのですが・・・;;ボリンジャーバンド2σ超えで損切りだと損切り連発する気がします。うーん・・・作る前から悩んでも仕方ないので、とりあえずプログラム作ってみましょう。ボリンジャーバンドの幅ですが、人間であれば「だいたい10銭かな」と目で判断するところ、コンピューターは0.1銭の違いでも許されません。そこで、バッファーを用意する必要があります。10.0;ボリバンの幅を10銭、バッファーは1銭としました。次にボリンジャーバンドの2σとミドルライン(中心線)を取ります。middle=iBands(NULL,0,21,2,0,PRICE_CLOSE,MODE_MAIN,0);特に指定が無かったのでボリンジャーバンドのパラメータは21としました。range)+2σとー2σの値を引いて、それが10銭(±1銭)の間に入ってるかチェックします。Point;OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl,tp,””,Magic,0,Red);}中心線から3銭分引いた値より価格が下なら買い、3銭足した価格より上なら売ります。ストップロスは2σ、利食いは3銭です。130が発生してトレードしてくれません・・・。面倒ですがslとtpは指定せず、手仕舞い判定ロジックを作っていきます。MetaTrader4再プログラミング(手仕舞いロジック)2σ割り込みと3銭以上の利益で手仕舞いするロジックを組み込んでいきます。OrderOpenPrice()-Bid>tp))CloseAll();こんな感じでしょうか。(買いと売りでif文わけてますが1つのif文にしてもいいです)仕掛けた時の価格はOrderSelectした後、OrderOpenPrice()で取れます。それと現在の価格を使って上昇(下降)した価格差を算出、最後に利益確定する価格(今回は3銭)以上あればクローズします。ボリンジャーバンド2σに達するとオープン→クローズを連続して繰り返すようです;;そこで、「2σに達していなければオープン」という条件を付け加えました。[LunchScalper.ex4]勝率は30%くらいです・・・。そもそもMetaTraderの場合、バックテストのTickデータは仮想データなので秒単位でトレードする「超短期スキャルピング」のバックテスト結果には疑問があったりするのですが・・・。トレード時間バックテストで色々変更してみましたが、どの時間帯でも同じような結果になりました・・・。東京市場スキャルピング(改?)ちょっとデモ口座で11時半からトレードしてみました。(試したのは先週金曜日)元のルールが面倒なので「2σタッチでカウンター、ミドルラインで手仕舞い」という良くあるボリバンカウンタールールでトレードしたのですが・・・結果は10戦9勝1敗。12時少し前からトレンドが出始めたようだったので最後は損切りしました(1敗はこれだけ)※デモ環境ですからスリッページも発生しませんし、実際はもう少しパフォーマンスは落ちるかもしれません。※ミドルライン手仕舞いは絶対的なものではなく、状況みながら1σで手仕舞いしたトレードもありました。2σにタッチしても危険を感じた場合には入っていません。以前、「レンジ相場を避ければ移動平均線だけでも勝てると思う」と書きましたが、「レンジ相場では(トレンドを避ければ)ボリンジャーバンドのカウンターだけでも勝てる」とも言えるのではないかと思す(笑)当初の予定(表題の手法検証)から外れてしまいますが、ボリンジャーバンドのカウンターでどの程度勝てるか検証してみます。表題の手法よりも単純なボリンジャーバンドカウンターの方が良いですね・・・。※1分足でバックテストしていますトレード時間1時間毎に区切ってバックテストしてみました。東京市場では前半(9時~12時)が比較的良く、東京市場後半(日本時間の昼過ぎ)からロンドン市場のオープン~前半までのパフォーマンスは悪くなります。NY市場オープン頃からはガラっと良くなり、日本市場の前半より良い結果がでました。元の記事では「11時30分から12時30分までが最も有効」ということでしたがバックテストの内容を見るとそういった事実はなさそうです。日本時間午前6時のパフォーマンスが一番良かったのですが、この時間はスプレッドが開いているので除外した方が良いでしょう。以上の結果より、トレードを行う時間はUTC12時から19時(日本時間21時から翌日4時)とします。損切りは25pipsとします。健闘しているのではないでしょうか。1分足を使っている割りにはトレード回数が少ないですね・・・これなら「1分足スキャルピング」でなく「5分足」でもいけるのでは・・・?と思い、5分足でバックテストしてみました。5分足でもソコソコいけるようです。(最終的には損失で終わってますが・・・)※トレード回数は状況によってかなり変わるようです。多い年は1年で3000回を超えます。※ちなみに長い時間にすればするほど損失が大きくなっていきました。長い時間足では使わないほうが良さそうです。チャート確認ミドルラインまで戻らずに2σを何度も叩くような展開になると連敗してしまいます。逆に、ミドルラインまでしっかり戻るような緩いトレンドやレンジ相場であれば結構勝ってくれます。リンジャーバンドのみで闇雲に仕掛けるだけでは勝てませんが、使いどころを見極めることができれば勝つことは可能だと思います。インディケータで使いどころを見極められるのかラインを引いたり、移動平均線の傾きを見たりといった方法などでレンジかどうかを見極める・・・というのが裁量での見極め方法かな・・・と思います。ラインや傾きといった視覚的な動きをプログラムにするのは簡単なことではありません。(不可能ではありませんが、かなり難易度が高くなります)そこで、インディケーターのような数値化可能な値で(なんとか)やってみようと思います。ADX最初に思いついたのはADXやATRといったインディケーターです。これらの数値が低いときには相場の勢いが低いとき・・・と言われますが、強い相場の後、強く反転すると数値が低くなりますので「数値が低い=勢いが無い」とは言い切れません。ADXが40未満のときのみ仕掛けるように変更しました。PowerというインディケーターがMetaTrader4にはあります。Powerがプラスのときは「レンジ」と判断します。(違うこともあるのですが・・・)意外と安定しましたね。飽きてきたので終わりにしたいと思います。「ボリンジャーバンドが2σからミドルラインまで戻るような相場展開」であれば勝てます(勝ちまくります)し、「ミドルラインまで戻らない強い展開」となれば負け続けます。インディケーターの値でレンジかどうかを判断するのはなかなか難しいと思います。僕がトレードする際にはボリンジャーバンドの幅や形、バンドの傾き、長い時間軸でのトレンドの有無や方向、現在の値動き、指標発表の有無、重要なチャートポイント(直近高値/安値、ダブルゼロ、トリプルゼロ)・・・といったものを加味して総合的に判断しますが、これをプログラミングに組み込むのはナカナカ大変です;;・・・のでやりません(笑)逆張りも極めれば勝てると思いますが、トレンドフォローをおすすめします。(あるいは長期時間軸のトレンドにそった逆張り)※自薦になりますがあるプロトレーダーの至言集:勝ち続ける投資家のマインドも(ご覧になっていなければ)ご覧くださいっ。当サイトの人気記事です。コメントをキャンセルメールアドレスは公開されませんのでご安心ください。付いている欄は必須項目となりますので、必ずご記入をお願いします。コメント内容に問題なければ、下記の「コメント送信」ボタンを押してください。名前メールアドレスサイトはい、私をあなたのメーリングリストに追加してください。職業:プロトレーダー(※前職:ソフトウェアエンジニア)得意分野であるソフトウェアを活用したトレード研究とソフトウェア開発をしています。Gmailの場合、当方から送信されるメールが「迷惑メール」に振り分けられる問題が発生しております。Gmailをご利用の方は「迷惑メールフォルダ」をご確認ください。MetaTrader4にフィボナッチリトレースメントを自動表示するツールです。今日はZigZagというインジケーターを使って検証してみたいと思います。以下のような機能・特徴を持ちます。先日、以下のような質問がきました。MT5を開発しました。リリースのお知らせ最近のコメントemija2020年2月19日ご回答が遅くなりまして申し訳ございません。emija2020年1月18日OrderCloseではなくOrderSendに変えればいいような気がします。名無し2020年1月17日お世話になります。emija2020年1月1日マルチタイムフレームでは無いです。パラメーターは以下のとおりです。MT5を開発しました。ソフトウェアエンジニアのまったりFX。