[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ルールは、一般的によく言われる「ゴールデンクロスで買い、デッドクロスで売り」のシグナルが出るようにしてみます。
まず、2本目の移動平均を作らないとですね。
前回作った移動平均は参照している終値が相対セル、期間が絶対セルになっているので、そのままコピペすると参照した値が変わってきてしまいます。
なので、先に終値は列だけを固定(B1499⇒$B1499)、期間は行だけを固定($f$2⇒F$2)して、列全体にドラッグして修正しておくと良いと思います。
それを列ごとコピーして隣の列に張り付けたら、項目名を「短気MA」「長期MA」に変えて、長期のほうの期間を試しに「10」にしてみます。
これで短期MA(5)と長期MA(10)の2本の移動平均が出ました!
次は、わかりやすいように短期MAが長期MAより高ければ"↗"(上昇トレンド)、低ければ"↘"(下降トレンド)、同じなら"→"(横ばい)と表示する列を作ります。
項目名は「トレンド」にしようかな。
関数は、やはり参照するセルが空白のときにエラーが出ないように
=IF(COUNT(短期MAと長期MAの2つのセル)=2,①トレンドを出す関数,"") とします。
①に入れる関数は、IF関数を使ってこんな感じにしました↓
IF(短期MAのセル-長期MAのセル>0,"↗",IF(短期MAのセル-長期MAのセル<0,"↘","→"))
(短期MA-長期MAが0より大きければ"↗"、それ以外の場合、短期MA-長期MAが0より小さければ"↘"、そうでなければ(即ち0のとき)"→"を表示する)
続けると長くなりますね(((( ;゚д゚)))
しかし、今後もっと複雑な関数も出てくるかもしれないので、めげずに頑張ります(;´Д`)
というわけで、次はいよいよシグナルが出る列を作ります。
2本の移動平均がクロスするということは、クロスした翌日はトレンドが変化してるということです。
さきほど出したトレンドサインで見ると、"↘"の翌日が"↗"ならゴールデンクロス、"↗"の翌日が"↘"ならデッドクロスが出ていることになりますよね。
そうすると、関数は以下のようになります。
=IF(AND(前日のトレンド="↘",本日のトレンド="↗"),"買い",IF(AND(前日のトレンド="↗",本日のトレンド="↘"),"売り","")
しかし、これだとトレンドが"→"だった翌日にそれまでとトレンドが反転してしまった場合にはサインが出ません。
考え方としては、本日のトレンドが"↗"のとき、遡って最初に出てくる"→"以外の記号が"↘"ならば「買い」、それその逆であれば「売り」、それ以外はサインなし というのが最もシンプルだと思います。
が、関数をどう組めば良いか模索中なので、とりあえず応急策だけ載せておきます(つД`)
"→"が2回以上続かなければ以下の関数で対応できます。
=IF(本日のトレンド="↗",IF(前日のトレンド="↘","買い",IF(AND(前日のトレンド="→",前々日のトレンド="↘"),"買い","")),IF(本日のトレンド="↘",IF(前日のトレンド="↗","売り",IF(AND(前日のトレンド="→",前々日のトレンド="↗"),"売り","")),""))
これで売買シグナルが自動的に出るようになりました。
応援してくださるみなさまのためにも頑張ります!
人気ブログランキングにも登録中☆