yuya_takahashi_
教育

zigzagストラテジーをつくる①|インジケーターを理解する1

OANDA:USDJPY   米ドル/円
以前みつけた高勝率のzigzagストラテジーを再現する試みです。


まずは、zigzagインジケーターを作成します。

作成とは言っても、
すでにあるものを理解する作業。お勉強です。

モデルになるzigzagストラテジーは、
非常にシンプルなロジックのzigzagでした。
ただし、上の時間軸のzigzagを表示するというもの。

このアプローチでも良いのですが、
tradingViewやmt4で用いられているzigzagを
ちゃんと理解してすべてを検証できる状態をつくりたいと思います。

コツコツと地道にすすめていく予定です。
けっこう時間がかかると思いますが、気長にお付き合いください。

※ コピペする場合は以下の変更を行ってください
[](全角の角括弧)→(半角の角括弧)
(全角スペース)→(半角スペース)

=====
//@version=4
study("Zig Zag 勉強中", overlay=true)

// Depth = 深さ
depth = input(title="Depth", type=input.integer, defval=10, minval=1)

//**
//* depth -> length -> zero
//* lengthが最高値・最安値であるかを確認
//* trueならbar_indexと価格を返す
//*
pivots ( src , length, isHigh) =>
 p = nz (src[length])

 if length == 0
  [bar_index, p]
 else
  isFound = true
  // length -> zeroの最高値・最安値を確認
  for i = 0 to length - 1
   if isHigh and src[i] > p
    isFound := false
   if not isHigh and src[i] < p
    isFound := false
  // depth -> lengthの最高値・最安値を確認
  for i = length + 1 to 2 * length
   if isHigh and src[i] >= p
    isFound := false
   if not isHigh and src[i] <= p
    isFound := false
  
  // lengthが最高値・最安値だった場合は値を返す
  if isFound and length * 2 <= bar_index
   [bar_index[length], p]
  // そうでない場合はnaを返す
  else
   [int(na), float(na)]

[iH, pH] = pivots (high, floor(depth / 2), true)
[iL, pL] = pivots (low, floor(depth / 2), false)

zigzag = pH>0 ? pH : pL>0 ? pL : na
plot( zigzag ,offset=-1*floor(depth / 2) ,color=color.red )
=====
Nov 04
コメント: 次の投稿
小次郎講師公式インジケーターのお申込
http://bit.ly/2vdSV4Q

小次郎講師のLINE@
http://bit.ly/2VZQFu3

小次郎講師のチャート情報局
http://bit.ly/2GvLAEp
追試しようとしましたがエラーになってしまいます。
関数 pivots の定義の所で
Undeclared identifier 'length'
Undeclared identifier 'p'
どこをチェックすれば良いでしょうか。
もちろん は半角に直し、インデントはスペース4つにしています。
返信
@tx4187, コードを別でアップしてみました。コピペできそうでしょうか?
https://review-me.tech/post/detail/22
返信
yuya_takahashi_ yuya_takahashi_
@yuya_takahashi_, 間違えました。以下です。
https://review-me.tech/post/detail/225
返信
tx4187 yuya_takahashi_
@yuya_takahashi_, 「404 お探しのページは見つかりませんでした。」と言われてしまいます。
返信
@tx4187, なるほど、失礼しました。こちらでいかがでしょう?
https://scrapbox.io/InvestmentTechHack/ZigZag
返信
tx4187 yuya_takahashi_
@yuya_takahashi_, ありがとうございます。エディタで行頭の空白を削除したところ無事作動しました。
返信
@tx4187, よかったです!
返信
ホーム 株式スクリーナー FXスクリーナー 仮想通貨スクリーナー 経済指標カレンダー 番組 使い方 チャート機能 価格 ハウスルール モデレーター ウェブサイト&ブローカー向けソリューション ウィジェット チャートソリューション 軽量チャートライブラリ ヘルプセンター 友達紹介 機能リクエスト ブログ&ニュース よくあるご質問 ウィキ ツイッター
プロフィール プロフィール設定 アカウントとお支払い 友達紹介 マイサポートチケット ヘルプセンター 公開したアイデア フォロワー フォロー中 プライベートメッセージ チャット サインアウト