またろうのシストレブログ

マネックス証券が提供しているトレードステーションと、MT4などシストレ関連について色々書きます。株と自動売買、EasyLanguageについても。

トレステにマニアックな注文方法が追加されたよって話



11月30日にトレードステーションがアップデートされたようです。

アップデートにより、「音声入力注文」と「新アルゴリズム注文」が追加されました。
「音声入力注文」についてはマイクが無いので割愛します。
(諸々の事情でマウスやキーボードの入力ができないが、株発注はしたいという場合に便利かもしれません)

アルゴリズム注文て何ぞや

トレーディングアプリにある「かんたん注文」から「アイス注文」「ハンター注文」「スライス注文」ができるようになりました。

アイス注文

大口の注文を指定回数に分割して、小分けにして発注します。
分割した株数で板に注文を出して、約定したら残りの注文を都度出していきます。
定数分割のほかに、ランダム分割も可能です。
大口注文を目立たせたくないときに使います。

ハンター注文

指定した価格の気配が出るまで待機し、出たらすかさず発注して約定します。
約定しなかった注文は即取り消して、市場に注文の跡を残さないようにします。
一定額で徐々に株を集めたいときに使うと良さそうです。

スライス注文

大口の注文を指定回数に分割して、小分けにした状態で纏めて発注します。
アイス注文との違いは、小分けにした発注を約定を待たずに纏めて出す所です。
これは…どうなんでしょうか?_(:3 」∠)_

使い方

トレーディングアプリにある「かんたん注文」を起動します。

f:id:tsukinowaapp:20181202202153p:plain
かんたん注文

「現物」「制度信用」「一般信用」のいずれかを選択
「数量」に全体の株数、「指値」に金額を入力します。
「アルゴ条件追加」のチェックを入れて
その下の「アイス注文」「ハンター注文」「スライス注文」のいずれかの注文にチェックを入れます。
(複数の同時使用はできないようです)
「アイス注文」「スライス注文」は分割方法と分割回数を指定できます。

個人で仕手っぽい注文をする?

見て思ったのですが、
隠れて何かを仕込むときには便利かもしれませんね。
ただ資金の限られている個人でそれをやる意味があるのか分かりませんが。
知識と経験のある方なら使いこなせるかもしれません。
私には無理そう。_(:3 」∠)_

MT4が使える日本のFX会社を列記してみる

f:id:tsukinowaapp:20181111003406p:plain

今日はMT4が扱える日本の証券会社を列記してみようかと思います。
(知る限りの情報も付記しておきます)

らくらくFX(FXTF)

  • 仮想通貨のチャート分析がMT4上で可能(取引は不可)
  • 日経225やダウ先物などCFD銘柄をチャート上に表示可能(取引は不可)
  • 1000通貨対応
  • Macにも対応(FXTFMT4ウェブトレーダー)
  • FXTF独自インジケーター搭載

外為ファイネスト

  • 取引手数料無料
  • MT4サーバは国内に設定
  • 1,000通貨から取引可
  • 資金は三井住友銀行で100%信託保全

FOREX EXCHANGE_俺のMT4

  • ラストルック(約定確認)を行わないことをポリシーとしているEDGE社と取引(DMA方式)
  • EAを自作できない人のために複数EAを提供

探したらもっとあるかもしれませんが、とりあえずはこんな所です。
FX会社が提供している情報を基に書きましたが、詳細は各サイトで確認ください。

海外のFX会社は危険が伴う

海外のFX会社は高レバレッジを売りにしていたり、
ゼロカット(元手がゼロになったら強制決済してマイナスを防ぐ)があったりします。
しかし出金の拒否やゼロカットが正しく働かないといったトラブルも多いようです。
日本のFX会社であれば、トラブルが発生したらフィンマック(FINMAC)という相談センターが窓口になってくれますが
海外のFX会社の場合は完全に自己責任になってしまいます。
しかも日本語が通じないとなると解決はほぼ無理かと思います。

VWAPを直近一定本数で計算する関数を作ってインジケーターにしてみた


VWAPの欠点

今日は久しぶりにトレステの話でもしてみます。
前にVWAPの話をしましたが、VWAPは上げ下げを順に加算していくので
その性質上、前場寄り直後は大きく上下しますが、午後からは殆ど動かなくなります。
なので、直近の一定本数のみを加算する方式にしたらどうか、と考えたのが以下です。

またろう式範囲内VWAP

関数:VWAP_M

inputs: 
	VwapAvg(NumericSimple);

vars:
	PriceW(0),
	ShareW(0),
	Answer(0),
	ii(0),
	BarCount(0);

Once
begin
	PriceW = 0;
	ShareW = 0;
	Answer = OpenD(0);
end;

if date > date[1] then begin
	BarCount = 0;
end;

if CurrentBar > 1 then begin

	PriceW = 0;
	ShareW = 0;
	
	FOR ii = 0 to VwapAvg - 1
	BEGIN
		IF ii < BarCount then
		begin
			PriceW += (High[ii] * UpTicks[ii]) + (Low[ii] * DownTicks[ii]);
		END;
	end;

	FOR ii = 0 to VwapAvg - 1
	BEGIN
		IF ii < BarCount then
		begin
			ShareW += Ticks[ii];
		END;
	end;

	if ShareW > 0 then
	BEGIN
		Answer = PriceW / ShareW;
	END;
		
end;

BarCount = BarCount + 1;

VWAP_M = Answer;

VwapAvgが対象とする直近の本数です。

インジケーター

inputs: 
	AvgDownColor(Cyan), 
	AvgUPColor(Magenta),
	NewColor(DarkGray),
	VwapAvg(25);

vars:
	Answer(0),
	AnswerH(0);

Answer = VWAP_M(VwapAvg);

SetPlotColor(1,NewColor);

IF Answer[1] < Answer then 
	SetPlotColor(1,AvgUpColor);
IF Answer[1] > Answer then
	SetPlotColor(1,AvgDownColor);

Plot1(Answer,"VWAP_M");

従来の移動平均線出来高を加味したもの、という解釈ができるかと思います。

移動平均線と比較してみる

f:id:tsukinowaapp:20181104204749j:plain

細い水色の線が移動平均線で、その近くにある太いピンクと水色の線がまたろう式VWAPです。(ともに25本で設定)
またろう式VWAPの方が敏感に上下しているかと思います。
(ちなみに波の中心に一本通っている線が一般的なVWAPです。)

これを使って何ができるか、と考えてしまうと微妙ですが
良かったら使ってみてください。

手っ取り早くシストレを体験するなら

ストラテジー(エキスパートアドバイザー)を組むのは面倒くさい

人によってはストラテジーなんて組むの面倒くさい、
ただ手っ取り早くシストレがやりたいって人もいるかもしれません。

今まで手動で取引していたが思うようにいかない、
だから自動的に取引だけやってほしいと考えている人もいるでしょう。

そんな人は既に出来上がっているストラテジーを選択して、
後は眺めているだけで結果が出るサービスがあったりします。

用意されているストラテジーを選択するサービス

FX関連から列挙してみます。

シストレ24

6000以上のストラテジーの過去の収益が公開されており、
その中から優秀なものを任意で利用することができます。
また結果を比較してストラテジーを自動的に入れ替える機能も備わっています。

トライオート

レンジ相場で有効な「コアレンジャー」と
金利通貨向きの「スワッパー」から選択します。

ひまわり証券

ループイフダンと呼ばれる独自のストラテジーで売買されます。
取引手数料がゼロ円になっています。

みんなのシストレ

投資家が作成したストラテジー
成績を比較しながら選択できます。

とりあえずFX関連ではこんな所でしょうか?
他にもあったら追記しようかと思います。

ロボアドバイザーはやや毛色が違うので(FXとも違うので)
別記事にて書こうかと思います。

MT4で24時間取引するにはどうしたらいいか

f:id:tsukinowaapp:20180930115624p:plain

株取引の時間は9:00~15:00あるいは15:30までですが、
FXはご存知の通り土日を除く24時間取引が行えます。
なので寝ている間も自動で取引できたらいいなあと考えるかもしれません。
しかしこれを自宅にあるPCでやるにはリスクがあったりします。

自宅の端末を24時間稼働させるリスク

自宅のパソコンを起ち上げたままにすると以下のリスクがあると思われます。

停電リスク

自然災害による停電はもとより、
雷や電気工事で瞬断することがたまにあります。
瞬断でもPCは落ちてしまいます。

強制再起動リスク

WindowsUpdateが働いて勝手に再起動することがあります。

ネットワークの不調

プロバイダの不調によりネットワークが切断されてしまうといった障害が発生することがあります。

故障リスク

PCも所詮モノなので、突然電源ボックスやHDDが故障することがあります。

起きている時間帯に不調が発生したなら対処も早いのですが
寝ている間、なおかつポジションを持っている状態で障害が発生すると
突然の変動に対応できず、思わぬ損失が発生する危険性があります。

障害が発生しない環境が欲しいならクラウド

ならどうしたらいいかと考えます。
もっとも楽で効果的な方法は環境をクラウド化することです。
例えばこんなサービスがあります。

お名前.com Windowsデスクトップ

クラウド環境とはリモートデスクトップでアクセスできる環境で、
ハードウェア自体はミラーリングで障害に備えているのが一般的です。
多くの場合は発電機と併用したUPSにて停電対策をしています。

当然ながら有償なので「今すぐ一番スペックが高いもの」とはいかないかと思われます。
ただ安いプランからスペックの高いプランへの移行する場合、環境は引き継げないそうなので
ある程度予算を考えて出せる範囲を決めておく必要がありそうです。

MT4のバックテストで最適化してみる


EA(エキスパートアドバイザー)開発に必須なバックテストの最適化

トレードステーションにもありますが、MT4にもEA(ストラテジー)の「最適化」があります。
これはinputに設定しているパラメータを総当たりでバックテストして最適な値を引き出すというものです。

今回はMT4での最適化をやってみます。

最適化の手順

f:id:tsukinowaapp:20180924135042p:plain

「セッティング」画面の「最適化」にチェックを入れ
「エキスパート設定」を押下

f:id:tsukinowaapp:20180924140115p:plain

「パラメータの入力」タブを押下
最適化したい項目に、左端のチェックを入れ
「スタート」に下限
「ステップ」に幅(加算していく値)
「ストップ」に上限をそれぞれ入力して「OK」を押下したら
「スタート」でバックテストを開始します。

プログレスバーが伸び切ってバックテストが完了すると、「最適化結果」というタブが表示されるので押下

f:id:tsukinowaapp:20180924142703p:plain

テスト結果が表示されます。(右端が入力パラメータです)
各項目を押下するとソートができます。
「損益」を押下して降順にします。

f:id:tsukinowaapp:20180924143124p:plain

これで一番利益の出るパラメータが分かるかと思います。

パラメータの入力は程々に

トレステの最適化と一緒で
最適化するパラメータを多くしたり、スタートとストップの幅を大きくすると
テストケースが飛躍的に増えてしまうのでテストが終わらなくなってしまいます。
チェックを入れるパラメータは3個までが良いかと思います。

とりあえずEA(エキスパートアドバイザー)を作ってみる


MT4はMQL4という言語を使う

f:id:tsukinowaapp:20180917200540p:plain

MT4で自動売買のロジックを組むにはMetaEditor4を使いますが、使用感を知りたいので
祝日の休みを利用してEAを組んでみました。

ロジックですが、
3本の移動平均線(短期、中期、長期)の位置と向きを比較して

上から短期、中期、長期と並んで全てが上向きならロング
上から長期、中期、短期と並んで全てが下向きならショート

ロングポジションの時に短期が中期の下を抜けたら決済
ショートポジションの時に短期が中期の上を抜けたら決済

という割とありがちなロジックにしてみました。
(普通の移動平均なら増田足、加重移動平均ならいわゆる移動平均大循環分析って奴です)

//+------------------------------------------------------------------+
//|                                                       Heikin.mq4 |
//|                                   Copyright 2018, Tsukinowa App. |
//|                             https://tsukinowakabu.hatenablog.jp/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, Tsukinowa App."
#property link      "https://tsukinowakabu.hatenablog.jp/"
#property version   "1.00"
#property strict

input int ShortMA = 5;
input int MidMA = 15;
input int LongMA = 35;
input int BuyVolume = 1;
input double Geta = 0.01;
input double Loss = 0.1;

double ShortValue;
double MidValue;
double LongValue;
double TempShortValue;
double TempMidValue;
double TempLongValue;
int Ticket;
int Position;

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   bool Closed;
   
   ShortValue = iStdDev(NULL, PERIOD_M1, ShortMA, 0, MODE_SMA, PRICE_OPEN, 0);
   MidValue = iStdDev(NULL, PERIOD_M1, MidMA, 0, MODE_SMA, PRICE_OPEN, 0);
   LongValue = iStdDev(NULL, PERIOD_M1, LongMA, 0, MODE_SMA, PRICE_OPEN, 0);
   
   if (OrdersTotal() == 0) {
   
      if (LongValue < MidValue && (MidValue + Geta) < ShortValue && TempShortValue < ShortValue && TempMidValue < MidValue && TempLongValue < LongValue) {
         Ticket = OrderSend(Symbol(), OP_BUY, BuyVolume, Ask, 10, (Ask - Loss), 0, NULL, 777, 0, clrMagenta);
         Position = 1;
      }
      
      if (LongValue > MidValue && (MidValue - Geta) > ShortValue && TempShortValue > ShortValue && TempMidValue > MidValue && TempLongValue > LongValue) {
         Ticket = OrderSend(Symbol(), OP_SELL, BuyVolume, Bid, 10, (Bid + Loss), 0, NULL, 777, 0, clrCyan);
         Position = -1;
      }
   
   } else {

      if (Position == 1 && MidValue > ShortValue && TempShortValue > ShortValue) {
         Closed = OrderClose(Ticket, BuyVolume, Bid, 10, clrMagenta);
      }
      
      if (Position == -1 && MidValue < ShortValue && TempShortValue < ShortValue) {
         Closed = OrderClose(Ticket, BuyVolume, Ask, 10, clrCyan);
      }
   
   }
   
   TempShortValue = ShortValue;
   TempMidValue = MidValue;
   TempLongValue = LongValue;
   
  }
//+------------------------------------------------------------------+

MT4にもバックテストと最適化がありまして、
条件網羅で適切な値を見つけるとかできます。

f:id:tsukinowaapp:20180917201933p:plain

引数多すぎなMQL4

特定タイミングで呼ばれるメソッドを実装していくという作りなので
トレステのストラテジーよりやるべき事が明確な印象があります。
何よりベース言語はC++だそうで、Webやゲーム開発やったことがある人ならすぐ入っていけそうですね。

発注を掛けるOrderSendですが、同時に損切や利確の値を設定できるという面白さはありますが、
それゆえに設定すべき引数が多すぎな印象を受けますね。
また、リアル取引の場合は発注エラーが出やすいそうで、考慮が必要なんだとか。
(今回は考えてないです)

MQL4とMQL5

MT4ではMQL4を使いますが、MT5ではMQL5を使います。
ざっと見で既にOrderSendとか仕様が変わっていて、「どう変わっているのか」の解説が必要ではと思いました。
自分でやるにせよ、両方触ってみてからですね。

無期限・無料でデモ口座が使えるMT4を入手する



f:id:tsukinowaapp:20180916012331p:plain

現状MT5は…

前回はMT4のフリー版をインストールしたらMT5になってたという記事を書きました。
公式がMT4のライセンシングを停止した以上
いつかはMT4からMT5へ切り変わる時期が来ると思われますが、
現状まだMT4が主流であることと、MT4で使われるMQL4と、MT5のMQL5では仕様に結構な違いがあるらしいので
まだMT5の解析をしてもあまり意味が無いのかなと思うのです。

MT4本体と、制限無しに使えるデモ口座を入手する方法(2018年9月時点)

MT4を入手したいのですが、いきなりぶっつけ本番は怖いですね。
なのでデモ口座を開設できる証券会社のMT4を入手することにします。
しかし証券会社によってはデモ口座に利用期限があったりします。
(証券会社としては早くリアル口座を作って欲しいでしょうから当然ですね)

では無期限にデモ口座を利用できるMT4は無いのか、と言ったら実はあったりします。

FOREX EXCHANGE_俺のMT4

FOREX EXCHANGEという証券会社なのですが
上のバナーからトップページに行くと緑色のボタンが3つほどあるかと思います。

f:id:tsukinowaapp:20180916004933p:plain

右側の「デモ口座開設方法」のボタンを押すと、MT4のインストールとデモ口座の開設方法が一式書いてあります。

f:id:tsukinowaapp:20180916011405p:plain

バージョンを確認すると4.00とありますね。
MetaEditor も4(MQL4)なのでMT4として使えますね。
暫くはこれを使っていこうかと思います。

MT4をインストールしてデモ口座を開いてみたが...



暫くはMetaTraderネタを書こうかと思います。

無料でMT4を入手する

FXの定番自動売買ツールといえばMT4(MetaTrader4)ですが
実は普通に無料でダウンロードして、デモ口座を開くことができます。
(デモ口座なのでいわゆるバーチャルトレードが可能です)
デモ口座でもエキスパートアドバイザー(EA)は組めますので、
暫くは良い結果が出るまでバックテストを念入りにやるのが良いでしょう。

無料版MT4をインストールする

以下のURLからインストーラーをダウンロードします。

www.metatrader4.com

画面の「ダウンロード」をクリックすると、「無料でMetaTrader 4をダウンロードする」という画面が表示されます。
少し下へスクロールすると、「PC版MetaTrader 4をダウンロードし、デモアカウントを開設する」というボタンがある筈です。
クリックするとmt4setup.exeがダウンロードされます。

f:id:tsukinowaapp:20180909204424p:plain

ダウンロードしたらダブルクリックで実行します。

f:id:tsukinowaapp:20180909205003p:plain

読んだら「次へ」を押下

f:id:tsukinowaapp:20180909210004p:plain

プログレスバーが100%になると「次へ」ボタンが現れますので押下

f:id:tsukinowaapp:20180909210524p:plain

とりあえずFuture Stockを選択して「次へ」

f:id:tsukinowaapp:20180909211829p:plain

「デモ口座を開いてリスクなしのバーチャルマネーで取引する」を選択して「次へ」

f:id:tsukinowaapp:20180909212711p:plain

名、姓、Eメール、電話番号を適当に入力して
「私は口座解説の利用規約とデータ保護ポリシーに同意します」にチェックを入れて「次へ」

f:id:tsukinowaapp:20180909212737p:plain

取引画面が表示されます。

バージョンを確認すると...MT5?

f:id:tsukinowaapp:20180909213241p:plain

MT4のインストーラーを使ったのに、実際にインストールされるバージョンはMT5(MetaTrader5)になります。
_(:3 」∠)_
どうやらブローカー向けMT4のライセンシングは終了したそうで、
今後はMT5に切り替わっていくのではないかと思われます。

トレステはネタ切れ感が強いので…

「またろうのシストレブログ」に改名します。

f:id:tsukinowaapp:20180909214708p:plain

トレステではあんまり書くこと無くなったので、幅を広げてシストレ関連なら何でも書こうかと思います。
FXで有名なMT4とか、ロボアドバイザーもシストレに入るかな?
直接シストレに入らなくても、株や投資で書けそうなものを...

トレステのスキャナーでファンダメンタル分析をする


トレステで割安株を見つける

前々回は出来高が急増している株をリアルタイムで監視するスキャナー設定をやってみました。

tsukinowakabu.hatenablog.jp

今回はスキャナーでファンダメンタル分析をしてみようと思います。

f:id:tsukinowaapp:20180902141042p:plain

検索条件は以下の通り。
株価純資産倍率[PBR][会社予想] <= 1.3
株価収益率[PER][会社予想] <= 10
配当利回り[会社予想] >= 3

f:id:tsukinowaapp:20180902141338j:plain

こんな感じで絞り込みできます。

トレステで扱えるファンダメンタル指標一覧

(価格・出来高・売買代金は省略)

大分類 小分類 フィールド名
業績 実績 売上高(連結・日本会計基準)
売上高成長率(連結・日本会計基準
営業利益(連結・日本会計基準
営業利益成長率(連結・日本会計基準)
経常利益(連結・日本会計基準)
経常利益成長率(連結・日本会計基準
純利益(連結・日本会計基準)
純利益成長率(連結・日本会計基準)
1株あたり純利益(EPS)
1株あたり純利益(1期前)(EPS)
1株あたり純利益(2期前)(EPS)
株価収益率(PER)
株価純資産倍率(PBR)
株主資本利益率(ROE)
総資本利益率(ROA)
1株あたり純資産(BPS)
総資産
株主資本
自己資本比率
営業キャッシュフロー
投資キャッシュフロー
財務キャッシュフロー
現金・現金同等物
会社予想 売上高(連結・日本会計基準)(会社予想)
売上高成長率(連結・日本会計基準)(会社予想)
営業利益(連結・日本会計基準)(会社予想)
営業利益成長率(連結・日本会計基準)(会社予想)
経常利益(連結・日本会計基準)(会社予想)
経常利益成長率(連結・日本会計基準)(会社予想)
純利益(連結・日本会計基準)(会社予想)
純利益成長率(連結・日本会計基準)(会社予想)
1株あたり純利益(EPS)(会社予想)
株価収益率(PER)(会社予想)
株価純資産倍率(PBR)(会社予想)
コンセンサス 売上高(連結・日本会計基準)(コン)
営業利益(連結・日本会計基準)(コン)
経常利益(連結・日本会計基準)(コン)
純利益(連結・日本会計基準)(コン)
株価収益率(PER)(コン)
コンセンサス株価
コンセンサスレイティング
配当情報 実績 配当金
配当利回り
配当利回り(1期前)
配当利回り(2期前)
配当利回り(現在値)
配当性向
会社予想 配当金(会社予想)
配当利回り(会社予想)
配当利回り(会社予想)(現在値)
配当性向(会社予想)
信用情報 週次信用残高 買残株数
売残株数
買残先週比
売残先週比
取組倍率
買残先週比%
売残先週比%
売り越し先週比%
買い越し先週比%
買い越し株残
売り越し株残
買い越し株残(前週)
売り越し株残(前週)
証金残高 融資残株数
貸株残株数
融資残先週比
貸株残先週比
差引
回転日数
会社プロファイル 発行済み株数
時価総額

トレステを使わないでファンダメンタル分析をする場合

恐らくは四季報オンラインを使って絞り込むことになるかと思います。
他にも似たようなサービスがあるかもしれませんが
トレステなら「取引しない限りタダ」です。
あんまり言うと宜しくないかもですが。 _(:3 」∠)_