[TOC]
技術分析におけるAroonは非常に独特な技術指標であり,Aroonは
アロンの指標は,現在のK線が前高値と下低値との距離を計算することによって,トレーダーが価格動向とトレンド領域の相対位置関係の変化を予測するのを助ける.それは2つの部分から構成される.すなわち,アロンの上線 (AroonUp) とアロンの下線 (AroonDown),この2つの線は0〜100の間を上下移動し,上線と下線と命名されているが,グラフ上ではBOLL指標のように真の上線と下線とは違います.以下の図はアロンの指標です:
アロン指標は,最初に時間周期パラメータを設定することを要求する. 平均線周期パラメータを設定するのと同じように,従来の市場ソフトウェアでは,この周期数は14である. もちろん,この周期パラメータは固定されていません.あなたは10または50などにも設定することができます. 分かりやすくするために,暫定的にこの時間周期パラメータをNとして定義します. Nを決定した後,我々はアロン上線 (AroonUp) とアロン下線 (AroonDown) を計算することができます. 具体的な計算式は以下の通りです:
この公式から,我々は,アロン指標の考え方を概して見ることができる.すなわち,何サイクルがあるか,近期高低の下の価格が,現在のトレンドが継続するかどうかを補助的に予測し,同時に現在のトレンドの強弱を測定する.もしこの指標を分類すると,それは明らかにトレンドフォロータイプに属している.しかし,他のトレンドフォロータイプの指標とは異なり,それは価格よりも時間を重視している.
アロンアップ (AroonUp) とアロンダウン (AroonDown) は,現在の時間が前の最高値や最低値と非常に近いことを反映し,時間が経つと近い値が大きいが,時間が経つと遠い値が小さい.また,2つのラインが交差すると,価格の方向が変化する可能性があることを示唆し,AroonUpがAroonDownの上に表示した場合,価格が上昇傾向にあり,将来の価格がさらに上昇する可能性があり,AroonDownが表示した場合,価格が下落傾向にある場合,将来の価格がさらに下落する可能性があることを示唆する.
また,AroonUpが0〜100の間の上下走行であることを知っているので,AroonUpがAroonDownの上にあるとき,AroonUpが50を超えると,市場の上下走行が形成され,将来の価格が上昇し続ける可能性があり,AroonUpが50を下回ると,価格上昇の勢いが弱まり,将来の価格が揺れ動いて下落する可能性があります.
逆に,市場が下落傾向にあるとき,すなわちAroonDownがAroonUpの上にあり,AroonDownが50を超えると,市場下落傾向が形成され,将来の価格が下落し続ける可能性があることを示唆する.AroonDownが50を超えると,価格下落の勢力が弱まり,将来の価格が揺れ動いて上昇する可能性を示唆する.
取引のロジックをクリアすると,コードで実行できます. この記事では,JavaScript言語,品種,商品先物を使用します. 手間がかかるパートナーも,コードをPython言語,またはデジタル通貨に翻訳することができます.fmz.com管理センター > コントロールセンター > ポリシーのコレクション > 新しいポリシーの作成,ポリシーの作成を開始します.
ステップ1:CTAフレームワークを使う注目!必ず下記をクリックしてください:商品期货交易类库
デジタル通貨に改造された場合は,以下をクリックしてください.数字货币现货交易类库
。
function main() {
// ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
$.CTA("ZC000/ZC888", function(st) {
})
}
2つ目のステップ:データ取得
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
})
}
3つ目:アロン指標を計算する
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
if (r.length < 21) { // 判断K线数据是否足够
return;
}
var aroon = talib.AROON(r, 20); // 阿隆指标
var aroonUp = aroon[1][aroon[1].length - 2]; // 阿隆指标上线倒数第2根数据
var aroonDown = aroon[0][aroon[0].length - 2]; // 阿隆指标下线倒数第2根数据
})
}
第4ステップ:取引条件を計算して注文
function main() {
$.CTA("ZC000/ZC888", function(st) {
var r = st.records; // 获取K线数组
var mp = st.position.amount; // 获取持仓数量
if (r.length < 21) { // 判断K线数据是否足够
return;
}
var aroon = talib.AROON(r, 20); // 阿隆指标
var aroonUp = aroon[1][aroon[1].length - 2]; // 阿隆指标上线倒数第2根数据
var aroonDown = aroon[0][aroon[0].length - 2]; // 阿隆指标下线倒数第2根数据
if (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
return 1; // 多头开仓
}
if (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
return -1; // 空头开仓
}
if (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
return -1; // 多头平台
}
if (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
return 1; // 空头平台
}
})
}
// 以上代码就是基于JavaScript语言完整的策略。
// --------------------分割线--------------------
// 为了照顾伸手党,顺便也把这个策略翻译成My语言。同时该也可以用于数字货币,以下是完整的策略代码:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100; // 阿隆指标上线
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100; // 阿隆指标下线
AROONUP > AROONDOWN && AROONUP > BKV, BK; // 多头开仓
AROONDOWN > AROONUP && AROONDOWN > SKV, SK; // 空头开仓
AROONUP < AROONDOWN || AROONUP < SPV, SP; // 多头平台
AROONDOWN < AROONUP || AROONDOWN < BPV, BP; // 空头平台
AUTOFILTER;
リアルな取引環境に近づくために,我々はリターンテストの際に2回の平衡と2倍の手続費を適用してストレステストを行い,テスト環境は以下のとおりです.
テスト環境 利益について 資金の曲線 上記回顧の結果から,戦略は市場の動向が滑らかな時に良好なパフォーマンスを発揮し,上下の両方においてアロン指標は市場を完全に追跡することができる.資本曲線も全体的な動向は上向きであり,大幅な反転は起きていない.しかし,波動的な市場,特に連続した波動的な市場では局所的な反転が起きています.
戦略では,いくつかのパラメータを固定した. 例えば:aroonUpまたはaroonDownは50未満以上であり,戦略の遅れを引き起こし,多くの場合,市場が上昇または下落するまでの間,平衡取引を開始します. これは,勝利率を向上させ,最大引き下げ率を減少させながらも,多くの利益を見逃しました.
モモックスありがとうございました.