移動平均線の角度を計算してチャート上に表示する方法
//+——————————————————————+
//| Create a text label |
//+——————————————————————+
bool LabelCreate(const long 移動平均線の定義 chart_ID=0, // chart’s ID
const string name=”Label”, // label name
const int sub_window=0, // subwindow index
const int x=0, // 移動平均線の定義 移動平均線の定義 X coordinate
const int y=0, // Y coordinate
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring
const string text=”Label”, // text
const string font=”Arial”, // font
const int font_size=10, // font size
const color clr=clrRed, // color
const double angle=0.0, // text slope
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // anchor type
const bool back=false, // in the background
const bool selection=false, // highlight to move
const bool hidden=true, // hidden in the object list
const long z_order=0) // priority for mouse click
//— create a text label
if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);移動平均線の定義
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
return(false);
>
//— set label coordinates
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//— set the chart’s corner, relative to which point coordinates are defined
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//— set the text
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//— set text font
ObjectSetString(chart_ID,移動平均線の定義 name,OBJPROP_FONT,font);
//— set font size
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//— set the slope angle of the text
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
//— set anchor type
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
//— set color
移動平均線の定義ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//— display in the foreground (false) or background (true)
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//— enable (true) or disable (false) the mode of moving the label by mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//— hide (true) or display (false) graphical object name in the object list
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//— set the priority for receiving the event of a mouse click in the chart
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//— successful execution
return(true);
>
角度の大きさによって文字色を変える
color clr = clrWhite;
LabelCreate(0, PREFIX + “angle”, 0, 5, 15, CORNER_LEFT_UPPER, DoubleToString(angle, 2), “Arial Bold”, 30, clr);
また、バーの大きさがMA配列のサイズより大きくなり過ぎた場合は、そこで計算を終わりにしたいので、「int bar = iBarShift(NULL, 0, time);」の下に次のif文を追記します。
最後に、移動平均線の角度が45度以上だった場合は表示する文字の色を赤に、マイナス45度以下だった場合は表示する文字の色を青に変化するようにしましょう。「color clr = clrWhite;」の下に次のif文を加えればOKです。
if (angle 移動平均線の定義 >= 45) clr = clrRed;
else if (angle
川口一晃の「私のテクニカルストラテジー」
これは長期と短期の両移動平均線を使う。これには底値や天井を形成する際の価格と両移動平均線の位置が関係する。
底値を形成する際の通貨の値動きは、価格自体が一番低い価格を示現する。移動平均線自体はその価格に引き寄せられるように動くのだが、短期の移動平均線の方が長期の移動平均線よりも底値に近い水準に位置する。つまり、底値を形成する時は一番下に価格、その上に短期の移動平均線、そして一番上に長期の移動平均線が位置することになる。
そして、価格が底打ちから上昇に転じると価格はこの両移動平均線を下方から上方へと越えていく。この価格の動きにいち早く反応するのが短期の移動平均線である。価格に引き寄せられるように上昇に転じる。そして、短期の移動平均線の上方に位置している長期の移動平均線を越えていくという現象があらわれる。 すなわち、短期の移動平均線が長期の移動平均線を下方から上方へと上抜ける。この上抜ける瞬間、すなわちクロスする段階になったことを底値確認から上昇トレンドへの移行が確認できたシグナルと考えるのである。このクロスのことを『ゴールデンクロス』と呼び、買いシグナルとするのだ。
■ダマシが生じる
先ほどのチャートであるが、矢印で示した部分のクロスを見ていただきたい。
まず、青い矢印の箇所ではデッドシグナルによって売りシグナルが出現している。このチャートを見てもわかるように、この期間の中での最安値の水準で売りシグナルが出ているのである。シグナル出現後に急反発に転じている。
また、赤い矢印で示した箇所ではゴールデンクロスが出現し買いシグナルとなっている。しかし、買いシグナルが出た水準というのは戻り高値の水準であり、そこから大きく下落しているのがわかる。
54通りの長短両移動平均線の組合せの中から、ゴールデンクロスで買い、デッドクロスで売りというトレードを繰り返し行った場合の勝率を計算した結果のうち、上位のものを上から順に載せている。これを見ると、短期の移動平均線を5日、長期の移動平均線を20日に設定した場合が最も勝率が高く、200日間の間に4回のトレード(新規・決済の合計)が行われ、勝率は75%、実現損益は0.04189ドルであった。
ここで注目すべきは矢印で示した箇所である。上位7番目の勝率でも50%となっているのである。6回のトレードのうち、3回は実現損が発生したことを意味する。
しかも、10日と20日の組み合わせは、上位に顔を出していない。
■パラメーターの問題点
一見矛盾しているように思えるが、筆者の中では決して矛盾しているものではない。
売買シグナルとしてゴールデンクロスおよびデッドクロスを使うのであれば、パラメーターの変更を柔軟に考えた方が良いと考えている。ここではトレンドを掴むと同時にトレンドの変化を素早く掴みたいからである。
しかし、移動平均線が持つ本来の機能、すなわち、トレンドを指し示すという役目を考えると、時間の区切りのよいパラメーターで十分であると考える。
これをトレードに活かすとなると、ファンドマネージャー経験を持つ筆者でも悩むことになろう。
ちなみに、筆者が運用していた時代に100日や200日といった超長期のパラメーターを使った移動平均線で分析する話は聞いたことがない。
おそらくリーマンショックなどの大きな値動きがあった中、運用経験のない相場解説者が使い始めたパラメーターであろうと勝手に推測している。解説する際に、たまたま移動平均線で下げ止まっていた、ないしは上値を抑えられていた箇所があったのであろう。
これだけ超長期のパラメーターを使うのであれば、日足ではなく、週足で分析した方が良いと筆者は考えている。
■IP(Investment Point)ゾーン
長・短移動平均線と価格の位置を考えると4種類
①長短移動平均線よりも価格が上
②長短移動平均線よりも価格が下
③価格が長期線よりも上で短期線よりも下
④価格が長期線よりも下で短基線よりも上
では、4番の位置、短期の移動平均線よりも上で、長期の移動平均線よりも下の位置というのはどうであろうか。
底値をつける際の位置関係というのは、価格が一番下、短期の移動平均線が下から2番目。そして一番上に位置しているのが長期の移動平均線となる。ここで、価格が本格的に反発上昇に転じるのであれば、まず、真上に位置する短期の移動平均線を越えていくことになる。
つまり、価格が短期の移動平均線よりも上で長期の移動平均線よりも下方の位置に入って来た通貨は出直った可能性があるということを示唆している。
つまり、底値近辺では買えないものの、出直った確率の高い通貨を見つけることができると考えられる。
この4番の位置を、「投資をしても良い場所、ゾーン」という意味で、『IP(Investment Point)ゾーン』と名付けている。
1986年銀行系証券会社に入社。資産運用業務に従事。その後も銀行系投資顧問(現・三菱UFJ国際投信)三洋投信会社で11年間ファンドマネージャーを務める。
その後、ブルームバーグL.Pに移りアプリケーションスペシャリストとして投信の評価システムを開発し、ブルームバーグL.Pを投信の評価機関にする。
1992年ペンタゴンチャートに出会い、方眼紙に手書きでペンタゴンチャートを描き始める。以降、現在に至るまで分析を続けており、国内第一人者として多数の著書を持つ。
そして外資系証券会社等を経て2004年10月に独立、オフィスKAZ 代表取締役に就任。
現在までテレビ番組やラジオなどメディア出演は多数。「SMAP×SMAP」では木村拓哉氏とも対談。最近では、テレビ朝日のドラマ「アイムホーム」をはじめ、フジテレビの月9のドラマの監修も担当。行動経済学学会会員。
公式サイト https://kazkawaguchi.com/
当社情報サイトに関する注意事項
当社による情報サービスは、お客さまの投資判断に当たって参考となる情報の提供を唯一の目的としており、断定的な判断の提供や特定の金融商品の売買等の勧誘を目的としたものではありません。 当社および情報提供者は、情報の正確性、完全性、適時性等を保証するものでは一切なく、情報の内容を予告なく変更する場合があります。また、当該情報の利用によって生じたいかなる損害についても、一切責任を負うものではありません。投資の最終判断は、お客さま自身で行ってくださいますようお願いします。 当社が提供する情報の著作権は、セントラル短資FX株式会社または情報提供者に帰属します。当社の事前の承諾なく情報の全部または一部を引用、複製、転送などにより利用することを禁じます。
セントラル短資FX株式会社
〒103-0021 東京都中央区日本橋本石町三丁目3番14号
URL:https://www.central-tanshifx.com
金融商品取引業者 関東財務局長(金商)第278号
加入協会:一般社団法人金融先物取引業協会
一般社団法人日本投資顧問業協会
移動平均線について その1〜3種類の移動平均線を描画してみる 〜#QuantX
URL:QuantX Factory ホームページ
開いてみるとこんな画面が出てきます。
QuantX Factoryとは
ブラウザ上で動かせる、株式や仮想通貨などの売買ルール(アルゴリズム)の作成、販売ができるシステムトレードプラットフォームです。pythonというプログラミング言語を用いて動かします。
今回のゴール
移動平均線の基礎を理解すること。
3種類の移動平均線をQuantX上で描画、売買シグナルを出すこと。
Ta-Libの扱いになれること。
この3つが今回の目標です!
移動平均線とは
金融用語解説
・エントリー:取引に参加すること、要は株を購入すること
・エグジット:取引から退場すること、要は株を売却すること
・ダマシ:売買サインが出たものの、相場はそのサインとは全く逆方向に動いていくこと。
移動平均線の役割
移動平均線の最も重要な役割は価格の動きを滑らかにすることです。
これによって上昇トレンドと下降トレンドがよくわかるようになります。
(画像引用:じぶん銀行)
移動平均線の考え方
日数 | 終値 | 5日間の平均 |
---|---|---|
1日目 | 110円50銭 | |
2日目 | 110円90銭 | |
3日目 | 110円10銭 | |
4日目 | 109円50銭 | |
5日目 | 110円20銭 | 110円24銭 |
6日目 | 110円90銭 | 110円32銭 |
7日目 | 110円70銭 | 110円20銭 |
移動平均線の期間
ところで移動平均線を活用する上で何日間の平均をとったらいいのでしょうか?
よくあるチャートツールでは5日間、25(20)日間、75日間、200日間がよく用いられます。
一般的には5日移動平均線のことを「短期線」、25(20)日移動平均線のことを「中期線」、200日移動平均線のことを「長期線」と言います。75日移動平均線に関しては「中期線」「長期線」どちらにカテゴライズするかは人によって違います。
移動平均線の種類
単純移動平均線(SMA)
加重移動平均線(WMA)
指数平滑移動平均線(EMA)
最近の価格に比重を置き、過去になればなるほど比重を軽くして平均値を決定します。
比重の減少度合いは「平滑化係数」と呼ばれる0と1の間の値を取る定数α(平滑定数)で決められます。
MACDの計算式によく使われます。
メリットとデメリット
名称 | メリット | デメリット |
---|---|---|
単純移動平均線(SMA) | 大きなトレンドをつかみやすい | 直近の市場の動きからは少々遅れをとる |
加重移動平均線(WMA) | 緩やかな上昇・下降相場では最も安定する | レンジ相場や急な変動では利用価値がほぼなくなる |
指数平滑移動平均線(EMA) | 直近のトレンド把握にも有効 | 動きに敏感に反応する分ダマシのサインも多くなる |
コードを実装してみる
TA-Libを用いる理由
今回(ほぼ毎回ですが)TA-Libを用いています。
あれ. 移動平均線ってデフォルトの簡単な奴があるじゃん..と思った方。
確かにただ平均をとる単純移動平均線ならTA-Libを使うまでもない(と言うか多分めんどくさい)ですが、計算が厄介指数平滑移動平均線くらいになってくると、自分で計算式を書くのが億劫になってきます。
また、他の指標を使う際に練れてもらうためにも今回TA-Libを使用しています。
コード解説
【1~3行目】ライブラリーのimport
talib pandas numpyをimportして使えるようにします。
talibはta pandasはpd numpyはnpとして今後扱っていきます。
【5~74行目】初期化 (トレードの基本設定)
初期化では、アルゴリズムで利用する市場(日本株等)、トレードする銘柄、利用する値(終値、高値など)を設定します。
6行目で初期化用の関数を定義
8行目でプログラムのログ出力を行うコード(バックテストを行うときに必要)
9行目以下にトレードの基本設定を行います。
10行目のtarget="jp.stock.daily"で日足の日本株のデータを使うことを宣言します。
11行目のchannels以下で実際にデータを入れていきます。
13行目で"symbols"と書かれてありますが,<>に銘柄のデータを入れます。
14~63行目まで"jp.stock."銘柄番号"" で使用する銘柄のデータを入れることができます。
データがない企業もありますので、バックテスト後エラーが起きた場合はここを見るといいと思います。
65行目の"columns"と書かれてありますが,<>に必要なデータ(終値など)を入れます。
トムソン・ロイター社からデータをいただいているセンチメントデータなども使えます。
シグナル定義
【76~80行目】使用するデータ量の設定
77行目では売買シグナルを生成する関数の定義しています。
80行目では各銘柄の終値(株式分割調整後)のデータを取得します。今回、単純移動平均線では必要なデータが終値(株式分割調整後)だけだったのでcpとして定義しました。データではたまに欠損値(値がNaNとなり、計算できない値)が含まれる場合があります。欠損値があると計算ができません。
そこで、fillna(method='ffill')を使うとNaNがあった場合に、さまざまな方法で自動的に補完をしてくれるようになります。
【82~86行目】データの容れ物を用意
今回短期(5日)、中期(25日)、長期(75日)の三本の単純移動平均を計算します。
そのデータを格納するための容れ物をDataFrameというオブジェクトを用い、作ります。
・短期をs_sma
・中期をm_sma
・長期をl_sma
と今回はしています。
【87~91行目】TA-Libによる計算
配列の際データがうまく使えるように.values.astype(np.double)というメソッドを用いたコードを記述しています。別のデータを入れる場合にもこのメソッドは同様につけてください。(つけないと多分エラーが出ます)
TA-Libのドキュメントで単純移動平均線は終値と期間が必要だったので記述します。
すると計算結果が返り値として出てきます。
TA-Lib Documentation
【92~96行目】SMAの売買シグナルの定義
SMAの売買シグナル部分を定義していきましょう。
今回は簡単にsampleを応用したものを作ってみます。
短期線を長期線の比率を出したのものを二つ用意し、SMAのシグナルを定義します。 移動平均線の定義
数値を変えると結果も大きく変わります!!
移動平均線の設定値の最適解(短期・中期・長期)
出典: TradingView提供のチャート
移動平均線の設定値のおすすめ
5分足の移動平均の設定
出典: TradingView提供のチャート
日足の移動平均の設定
出典: TradingView提供のチャート
出典: TradingView提供のチャート
週足の移動平均の設定
月足の移動平均の設定
出典: TradingView提供のチャート
移動平均の手法
移動平均線のゴールデンクロス
出典: TradingView提供のチャート
移動平均線のデッドクロス
出典: TradingView提供のチャート
移動平均線の最強手法「パーフェクトオーダー」
【特徴】
・順張りトレードの強いシグナル
・トレンドが長期になりやすい
・上昇と下降のどちらのトレンドも現れる
出典: TradingView提供のチャート
移動平均線との組み合わせ
移動平均線と移動平均乖離率
移動平均乖離率とは、現在の株価(価格)が移動平均線とどのくらい離れているかを示す指標です。5MAで10%、25 MAで15~20%以上乖離すると、株価は移動平均線に接近しようとするといわれます。
出典: SBI証券アプリ
まだコメントがありません
この記事にコメントする
コメントをキャンセル
よく読まれているブログ
「投資コラム」の人気記事トップ3
東証プライム企業一覧とプライム落ち銘柄一覧【最新版】を大公開。 さらに随時、東証プライム企業一覧・東証プライム脱落の企業一覧(プライム落ち銘柄一覧)の最新情報を更新していきます。 ※追記:2022年1月14日、東証プライ […]
ETFS天然ガス上場投資信託はなぜ安い? そんなことが言えなくなる時代が来るのかもしれません… 2022年2月に始まったロシアによるウクライナ侵攻の影響を受け、コモディティ価格が軒並み上昇しています。 天然ガスも例外では […]
大引けの大量買い、出来高が急増する理由を投資診断士が解説 (最終更新日:2021/12/1、元記事:2018/10/17) 歩み値の15時を見ると、大引けに大量買いがいつも起きています。なぜでしょうか? 良いところに気づ […]
よく読まれているブログ
最新のブログ
ブログ記事を検索する
よく検索される注目キーワード
おとなの株ラウンジの管理人
「おとなの株ラウンジ」運営責任者。日本株投資歴15年。投資診断士。テクニカルアナリスト一次試験合格!バフェットとPリンチが心の師。リーマン・ショックで運用資産半減⇒1度は株から足を洗うが、バリュー投資+テクニカル投資で復活。バリューグロース+テクニカルを組み合わせた投資が得意。座右の銘は未練残すな、金残せ
【note始めました】
初回は22年後半も期待の海運株を紹介しています。
note記事「業績絶好調!まだまだ伸びる海運株」
人気のブログランキング
1
2
3
4
5
6
7
8
9
10
カテゴリー
免責事項 掲載している情報や口コミについては、万全を期しておりますが、その内容の安全性や正確性などを保証するものではありません。
ならびに、当サイト介した外部ウェブサイトの閲覧、ご利用は、お客様の責任で行っていただきますようお願いいたします。
万一、外部ウェブサイトの利用につき問題が生じた場合、
その責任はリンク先の外部ウェブサイトが負っていますので、外部ウェブサイトと利用者ご自身の責任で対処してください。
【チャート分析】移動平均線とは?代表的なテクニカル指標を解説!
移動平均線 ZOZO 2018年9月〜10日
- 移動平均線とは:一定期間の株価の終値の平均値を折れ線グラフにしたもの 移動平均線の定義
- 移動平均線の定義: X日の移動平均線 = 過去X日間の株価の終値の合計 ÷ X
【チャート分析】移動平均線でチェックすべき2つのポイント
移動平均線でチェックすべき2つのポイント
- 株価のトレンドは?:ローソク足は移動平均線の上にある?下にある?
- トレンドの強さは?:移動平均線の傾きは?
【チャート分析】移動平均線のポイント①株価のトレンドは?
移動平均線のポイント①株価のトレンドは?
【チャート分析】移動平均線のポイント②トレンドの強さは?
移動平均線のポイント②トレンドの強さは?
【チャート分析】移動平均線のデメリット
移動平均線のデメリット:株価に遅れて動く
【チャート分析】移動平均線が見やすい証券会社
出典;マネックス証券 ZOZO チャート画面
【チャート分析】移動平均線まとめ
●移動平均線とは:一定期間の株価の終値の平均値を折れ線グラフにしたもの
●移動平均線の定義: X日の移動平均線 移動平均線の定義 移動平均線の定義 = 過去X日間の株価の終値の合計 ÷ X
●移動平均線でチェックすべき2つのポイント
- 株価のトレンドは?:ローソク足は移動平均線の上にある?下にある?
- トレンドの強さは?:移動平均線の傾きは?
●移動平均線のデメリット:株価に遅れて動く
株式投資の教科書 〜企業分析からチャートの読み方までまるっとマスター!〜 株式投資初心者が疑問に思うことをまるっとまとめ。投資をはじめて稼ぐまでの流れや企業・チャート分析の方法など必要知識をこの1冊でインプット!.
【チャート分析】テクニカル指標一覧 | 市場で生き残るための武器を揃えよう! チャート分析に必要不可欠なテクニカル指標(インジケーター)をまとめてご紹介。ひとつでも多く武器を揃えて市場での勝率をあげましょう!.
コメント