indicatorDef要素はテクニカル指標を定義します。
これはかなり複雑ですし、理解が必要になるのはあたらしいテクニカル指標を導入するときだけです。簡単な例として移動平均線、複雑な例として一目均衡表の定義を載せます。後続の解説と対比させると理解がしやすいと思います。
<indicatorDef id="移動平均線" location="chart">
<parameters>int len</parameters>
<defaultArgs>25</defaultArgs>
<parameterDescription>$unit数 $len</parameterDescription>
<label>$len$unit移動平均線</label>
<appearance>khaki 2</appearance>
<element adjustFigures="price">
<expression>ma(len)</expression>
</element>
</indicatorDef>
<indicatorDef id="一目均衡表" location="chart" specialPaint="一目均衡表の雲">
<parameters>int tenkan, int kijun</parameters>
<defaultArgs>9, 26</defaultArgs>
<parameterOwnership>転換線,基準線</parameterOwnership>
<parameterDescription>転換線($unit) $tenkan,
基準($unit) $kijun</parameterDescription>
<element id="転換線" label="一目均衡表($tenkan$unit転換線)"
appearance="tomato dot" adjustFigures="price">
<expression> (max(high(tenkan))+min(low(tenkan)))/2 </expression>
</element>
<element id="基準線" label="一目均衡表($kijun$unit基準線)"
appearance="skyblue dot" adjustFigures="price">
<expression> (max(high(kijun))+min(low(kijun)))/2 </expression>
</element>
<element id="遅行線" label="一目均衡表($kijun$unit遅行線)"
appearance="snow dot" adjustFigures="price">
<expression> shift(-kijun).close() </expression>
</element>
<element id="先行スパンA" forward="kijun-1"
label="一目均衡表(先行A)"
appearance="lightgray" adjustFigures="price">
<expression> (max(high(tenkan))+min(low(tenkan))
+max(high(kijun))+min(low(kijun)))/4 </expression>
</element>
<element id="先行スパンB" forward="kijun-1"
label="一目均衡表(先行B)"
appearance="lightgray" adjustFigures="price">
<expression> (max(high(kijun * 2))+min(low(kijun * 2)))/2 </expression>
</element>
</indicatorDef>
| 値 | 意味 | 使用している指標の例 |
| chart | 価格として表示 | ボリンジャーバンド |
| volume | 出来高として表示 | 出来高移動平均線 |
| os100% | 0%〜100%で変化するオシレータとして表示 | RSI |
| os100%s | -100%〜+100%で変化するオシレータとして表示 | RCI |
| os0%s | 0%を中心として分布するオシレータとして表示 | 移動平均乖離率 |
| os0s | 0円を中心として分布するオシレータとして表示 | MACD |
| figure | 数値を表示するが線の描画はしない | 前日比 |
(C) 2009 Lagarto Technology, Inc. All rights reserved.

