投資で実現!不労所得生活

読書メモ『株式ディーラーのぶっちゃけ話』高野譲

更新:
作成:

証券ディーラーとして働いていた著者が自身の経験をもとに、ディーラーという仕事がどんな職業なのかを語ってくれます。 取引のテクニックみたいな話は出てきませんが、ディーラーにヤクザみたいな人やギャンブラー気質の人が多いのはなぜかとか、社内での戦いの話とかは単純に面白いです。

そういった面白話は多少フィクションも混ざっているかもしれませんが、ストックオプションの情報を使った儲け話とかは、実際にディーラーとして経験を積んでいないと書けない話ですね。 各証券会社が独自のルールを設けているという話も興味深いです。 金商法に基づいた相場操縦の疑いをかけられないようにするため、例えば次のようなルールを独自に設定しているようです。

  • 買いと決済の注文を同時に出せない: 50円で買って51円で売りたい場合は、50円の買い注文をすべて消してからじゃないと51円の売り注文は出せない。なぜなら、見せ玉の株価操縦行為とみなされる可能性があるから。
  • 新高値の売買禁止: 50円で揉み合いを続けているときに、その日に一番乗りで51円を買うことができない。なぜなら、株価の吊り上げによる株価操縦行為とみなされる可能性があるから。
  • その他: ストップ高での売買禁止、一度出した注文は一定時間取り消せないなど。

株価に特徴的な歩み値が発生したときは、ディーラーのこうした規制によって形成されているのかもしれません。

この本を読んで、わたしは絶対にディーラーにだけはなりたくないなと思いました(笑。 きっとギャンブラー精神が足りないんでしょう。 いずれにしても、現在はアルゴなどによる高速トレード (HFT) が主流になって、裁量系のトレーダーはだいぶ減っているのでしょうけど。

関連記事

証券会社の売買手数料比較と戦略(2021年版)

更新:
作成:

有名どころの国内証券会社の株式取引手数料をグラフ化しています(2021年3月時点)。 最後にまとめとして、私のような弱小投資家がどうすれば手数料を安く済ませられるかの戦略案を書いてますので参考になれば幸いです。 最新の手数料は、下記の各証券会社のウェブサイトを参照してください。

現物取引(取引ごと手数料プラン)の比較

現物1注文単位の手数料は、GMOクリック証券SBI証券楽天証券 が安いです。 約定代金の0.1%くらい取るマネックスやauカブコム証券は、高額の約定になると手数料が高くなるので、50万円以上の売買では使わない方がよさそうです。

  • SBI証券「現物取引スタンダードプラン」
  • 楽天証券「超割コース」
    • SBIと楽天は完全に同じ
    • 150万円以上〜3,000万円までは1,013円、3,000万円以上は一律1,070円
  • 松井証券「該当なし」
    • 取引ごとの手数料プランはない(1日の約定代金合計のみ)なのでグラフなし
  • マネックス証券「取引毎手数料コース」
    • 50〜100万円の成行注文は1100円だけど、指値注文は1650円(分かりにくい…)
    • 100万円超の成行注文は0.11%(税込)、指値注文は0.165%(税込)
  • auカブコム証券
    • 50万円超は0.099%+99円(税込み)
  • GMOクリック証券「1約定ごとプラン」
    • 3000万円超は一律977円(税込み)。実質200万約定の900円くらいから上がらない。

信用取引(取引ごと手数料プラン)の比較

信用取引1注文あたりの手数料は、どの証券会社も上限が低く設定されています(金利で稼げるから?)。 無料の auカブコム証券 が最強ですが、GMOクリック証券 はかなり安いです。 マネックスは高すぎです。

  • SBI証券「信用取引スタンダードプラン」
  • 楽天証券「超割コース」
    • SBIと楽天証券は同じ
    • 1注文の約定代金が50万円を超えたときは385円(税込)の定額
  • 松井証券「該当なし」
    • 取引ごとの手数料プランはない(1日の約定代金合計のみ)なのでグラフなし
  • マネックス証券「取引毎手数料コース」
    • 200万円以上は一律1,100円(税込)
  • auカブコム証券
    • 信用取引(含む反対売買)は0円だけど、品受・品渡による決済はマネックスに近い手数料がかかる
  • GMOクリック証券「1約定ごとプラン」
    • 50万円超は一律264円(税込)

現物取引(1日合計での手数料プラン)の比較

SBI証券 は合計100万円まで無料なので小額売買するならオトク。 楽天証券、松井証券も合計50万円までは無料ですが、松井証券は50万円超えると手数料が跳ね上がるので注意。 GMOクリック証券 は無料枠がないけれど、合計金額が上がってくると有利。

  • SBI証券「現物取引アクティブプラン」
    • 現物100万円、信用(制度)100万円、信用(一般)100万円まで手数料0円(合計300万円)
    • 200万円以降は100万円ごとに440円(税込)加算
  • 楽天証券「いちにち定額コース」
    • 1日あたりの現物取引と信用取引の合算で計算
    • 200万円以降は100万円ごとに1,100円(税込)加算
  • 松井証券「ボックスレート」
    • 現物取引(取引所&PTS)と信用取引をすべて合算
    • 100万円以降は100万円ごとに1,100円(税込)加算
  • マネックス証券「一日定額手数料コース」
    • 現物取引と信用取引の合算
    • 100〜300万円は2,750円(税込み)で、以降300万円ごとに2,750円(税込)。つまり、300〜600万円は5,500円。
  • auカブコム証券「該当なし」  - 1日定額プランはないのでグラフ表示はありません
  • GMOクリック証券「1日定額プラン」
    • 300万円以降は100万円ごとに295円(税込)加算

信用取引(1日合計での手数料プラン)の比較

auカブコム証券 の信用取引無料が最強。 SBI証券 の「信用取引アクティブプラン」や、GMOクリック証券 の「1日定額プラン」もリーズナブル。

  • SBI証券 信用取引 アクティブプラン
    • 200万円以降は100万円ごとに440円(税込)加算
  • 楽天証券「いちにち定額コース」
    • 現物取引と信用取引の合算
    • 200万円以降は100万円ごとに1,100円(税込)加算
  • 松井証券「ボックスレート」
    • 現物取引(取引所&PTS)と信用取引をすべて合算
    • 100万円以降は100万円ごとに1,100円(税込)加算
    • ただし、一日信用取引は0円
  • マネックス証券「一日定額手数料コース」
    • 現物取引と信用取引の合算
    • 100〜300万円は2,750円(税込)で、以降300万円ごとに2,750円(税込)。つまり、300〜600万円は5,500円。
  • auカブコム証券
    • 信用取引はすべて0円
  • GMOクリック証券「1日定額プラン」
    • 100万円以降は100万円ごとに440円(税込)加算

まとめ(手数料を安くする戦略案)

  • SBI証券は「アクティブプラン」にしておき、合計100万円以下の細かい売買はこれで無料で済ませる。SBI証券で合計100万円を超えそうになったら、松井証券の50万円無料枠 や、楽天証券の「いちにち定額コース」の100万円無料枠 を利用してもよいが、どちらも上限を超えると手数料が跳ね上がるので注意。
  • GMOクリック証券を「1約定ごとプラン」にしておき、値嵩株(高額約定)はここで買う。10万円以上の1約定ごとプランはGMOクリック証券が安く、最大でも977円までしか上がらない。
  • 信用取引は完全無料のauカブコム証券 で取引する。一日信用取引であれば松井証券も無料 なのでこちらを利用してもよい。軽く手数料がかかってもよいなら、GMOクリック証券の「1約定ごとプラン」 も比較的安い。

関連記事

MetaTrader/MQL: チャートの描画スタイルを設定する (ChartSetXxx)

更新:
作成:

チャートのプロパティを設定/取得する

あるチャートに設定されたプロパティ(描画スタイルなど)を変更/取得するには、次のような関数を使用します。

表示項目の OFF/ON 設定

チャートの表示項目を変更するには、ChartSetInteger 関数の第 2 引数 (prop_id) に以下のようなプロパティ ID を指定します。

プロパティ ID設定内容
CHART_MODECHART_BARS: バーチャート
CHART_CANDLES: ローソク足
CHART_LINE: 折れ線
CHART_SHOW_VOLUMESCHART_VOLUME_HIDE: ボリュームを表示しない
CHART_VOLUME_TICK: ボリュームとして Tick 数を表示する
CHART_VOLUME_REAL: ボリュームとして実際の取引量を表示する(サーバによって提供されていないことがある)
CHART_SHOW_GRIDtrue/false: グリッドを表示する/しない
CHART_SHOW_PERIOD_SEPtrue/false: 一定期間ごとの縦線を表示する/しない
CHART_SHOW_ASK_LINEtrue/false: 買値の水平線を表示する/しない
CHART_SHOW_BID_LINEtrue/false: 売値の水平線を表示する/しない
CHART_SHOW_DATE_SCALEtrue/false: 日時バー(横の軸)を表示する/しない
CHART_SHOW_PRICE_SCALEtrue/false: 価格バー(縦の軸)を表示する/しない
CHART_SHOW_OHLCtrue/false: 左上の Open/High/Low/Close 価格を表示する/しない(これを false にしても、通貨ペア名と時間足は表示されます)
CHART_SHOW_ONE_CLICKtrue/false: 左上のワンクリック注文パネルを表示する/しない
例: チャートのプロパティを変更する
/**
 * Setup the drawing style of the chart.
 *
 * @param chartId the target chart ID (0 means the current chart)
 */
void setupChart(long chartId = 0) {
    // ローソク足で表示
    ChartSetInteger(chartId, CHART_MODE, CHART_CANDLES);

    // 買値 (Ask) ラインを表示
    ChartSetInteger(chartId, CHART_SHOW_ASK_LINE, true);

    // 売値 (Bid) ラインを表示
    ChartSetInteger(chartId, CHART_SHOW_BID_LINE, true)

    ChartRedraw(chartId);
}

各種プロパティの変更が実際に画面上に反映されるのは、次のチャートの再描画のタイミングです(例えば、次の tick が発生したとき)。 直ちに設定を画面に反映させたい場合は、上記のように ChartRedraw 関数 を呼び出します。

表示項目の色の設定

チャートの各描画要素の色を設定する場合も、ChartSetInteger 関数を使用します。 第 2 引数 (prop_id) に次のようなプロパティ ID を指定することで、それぞれの項目の色を設定できます。

プロパティ ID設定内容
CHART_COLOR_BACKGROUND背景色
CHART_COLOR_FOREGROUND価格軸、時間軸、OHLC(Open/High/Low/Close) の色
CHART_COLOR_GRIDグリッド線の色
CHART_COLOR_VOLUMEボリュームの色
CHART_COLOR_CHART_UPローソク足の上昇バーのひげ、および、箱の枠の色
CHART_COLOR_CHART_DOWNローソク足の下降バーのひげ、および、箱の枠の色
CHART_COLOR_CHART_LINE折れ線チャートの線の色、ローソク足の十字線の色
CHART_COLOR_CANDLE_BULL上昇バーの内側の色
CHART_COLOR_CANDLE_BEAR下降バーの内側の色
CHART_COLOR_BID売値 (Bid) の水平線の色
CHART_COLOR_ASK買値 (Ask) の水平線の色
CHART_COLOR_LAST最新約定価格の水平線の色
CHART_COLOR_STOP_LEVEL決済価格(指値/逆指値)の水平線の色

色の指定は color 型(4 バイトの数値)で行いますが、様々な表現で指定することができます。

/p/dzcoybn/img-001.png

上記のチャートの配色は、次のようなコードを実行することによって設定することができます。 スクリプトからチャート設定を行うと、一部の設定だけを変更することができるため、使いようによってはテンプレートによる配色変更を行うよりも便利です。

void setupColors(long chartId = 0) {
    ChartSetInteger(chartId, CHART_COLOR_BACKGROUND, clrBlack);
    ChartSetInteger(chartId, CHART_COLOR_FOREGROUND, clrLightGray);
    ChartSetInteger(chartId, CHART_COLOR_GRID, clrGray);
    ChartSetInteger(chartId, CHART_COLOR_VOLUME, clrLimeGreen);
    ChartSetInteger(chartId, CHART_COLOR_CHART_UP, clrDeepPink);
    ChartSetInteger(chartId, CHART_COLOR_CHART_DOWN, clrDodgerBlue);
    ChartSetInteger(chartId, CHART_COLOR_CHART_LINE, clrOrange);
    ChartSetInteger(chartId, CHART_COLOR_CANDLE_BULL, clrDeepPink);
    ChartSetInteger(chartId, CHART_COLOR_CANDLE_BEAR, clrDodgerBlue);
    ChartSetInteger(chartId, CHART_COLOR_BID, clrDodgerBlue);
    ChartSetInteger(chartId, CHART_COLOR_ASK, clrOrangeRed);
}

オブジェクト指向の CChart クラスを使用する

CChart クラスを使用すると、ChartSetInteger のようなプロパティセット関数を使用する代わりに、オブジェクトのメソッドを呼び出すことよって、スマートな記述を行うことができます(なぜか CHART_SHOW_ONE_CLICK に相当するメソッドだけは見つからない・・・)。

下記のスクリプトの setupChart 関数は、CChart オブジェクトを受け取って、描画スタイルの設定を行っています。

Scripts/SetupChart.mq4
#include <Charts\Chart.mqh>

/**
 * Setup the drawing style of the chart.
 *
 * @param chart the chart object to be set up
 */
void setupChart(CChart& chart) {
    // Show-hide settings
    chart.Mode(CHART_CANDLES);
    chart.ShowOHLC(true);
    chart.ShowLineBid(true);
    chart.ShowLineAsk(true);
    chart.ShowGrid(true);
    chart.ShowPeriodSep(true);
    chart.ShowVolumes(CHART_VOLUME_TICK);
    chart.ShowDateScale(true);
    chart.ShowPriceScale(true);
    chart.Scale(3);

    // Color settings
    chart.ColorBackground(clrBlack);
    chart.ColorForeground(clrLightGray);
    chart.ColorGrid(clrGray);
    chart.ColorVolumes(clrLimeGreen);
    chart.ColorBarUp(clrDeepPink);
    chart.ColorBarDown(clrDodgerBlue);
    chart.ColorChartLine(clrYellow);
    chart.ColorCandleBull(clrDeepPink);
    chart.ColorCandleBear(clrDodgerBlue);
    chart.ColorLineBid(clrDodgerBlue);
    chart.ColorLineAsk(clrOrangeRed);
}

void OnStart() {
    CChart c;
    c.Attach(0);  // 0 means the current chart.
    setupChart(c);
    c.Redraw();
    c.Detach();  // Without detaching, the chart will be closed.
}

CChart オブジェクトを既存のチャートに関連付けるには、Attach メソッドを使用します。 上記の例では、0 を渡すことによって、アクティブなチャートに関連付けています。 CChart クラスは、デストラクタ内で関連付けられたチャートを閉じようとするので、スクリプトが終了したときにチャートが閉じられないようにするために、Detach メソッドを読んで関連付けを解除しておかなければいけません。

関連記事

メニュー

投資で実現!不労所得生活
サイトマップまくへのメッセージ