My 言語のいくつかの一般的な指標の記述とクロス指標モデルの事例分析

作者: リン・ハーン優しさ, 作成日:2019-07-08 10:01:48, 更新日:2019-07-16 15:38:53

発明者定量化プラットフォームのMy言語は,機能的に高度に統合され,機能的に強力な定量化プログラミング言語であり,定量化初心者向けに設計されています. 初期学習者の多くに人気があるものの,機能的には他のプログラミング言語よりも少し劣っています. 深いカスタマイゼーションの観点から,いくつかの複雑な戦略は,既にカスタマイズされた機能库が非常に強力であり,発明者定量化プラットフォーム自身が各主要取引所のAPIインターフェースに優れたサポートを提供しているため,多くのコードを書く時間を節約するだけでなく,主に戦略論理のデザインに集中することができます.

My言語は,国内商品先物だけでなく,デジタル通貨関連取引にも機能の差がなく対応しています.

この記事では,いくつかの一般的な指標の記述と,いくつかのクロスインデカントモデルの事例分析について説明します.

いくつかの一般的な指標の分類と記述

  • 伝統的なクラシックなK線形には,3足のカラス,十字星,頭を割った足,柱の天,仙人指の道,金針の底などが含まれます.

  • インディケーターに関しては,トレンドクラスのインディケーターは以下に分かれます:MA (均線組み合わせ),BOLL,PUBU (滝線),SAR (止損点) など.

  • 振動型指標:ATR (真波幅),KDJ (ランダム指標),MACD,WR (ウィリアム指標) など

  • 量倉分析指標 CJL (積荷量),DUALVOL (多空量比),OBV (量エネルギー潮量)

次に,my言語を使って,これらの古典的な形状や指標を発明者の定量化プラットフォームで個別に実現しよう.目的は,読者が直接これらの指標を使用できるようにすることではなく (もちろん,特定の条件下で直接使用しても問題はない),読者がこれらの指標に基づいて時勢を判断し,市場状況や自身の資金管理状況に応じてこれらの古典を改良できるようにすることです.

大陽線:開場価格は最低,閉場価格は最高,K線は4%以上上昇

AA:=OPEN=LOW; 
BB:=CLOSE=HIGH; 
CC :=CLOSE/OPEN>1.04; 

論理的な判断条件はAA&&BB&&CCです

トップブレイク: 2つのKラインで構成され,市場は転換することを示し,現在のKラインの開收値は少なくとも4%の差値である. 上向きの頭ブレイクタイプであれば,このKラインは日没すべきであり,現在のKラインの最高価格と最低価格が最初のKラインをカバーする.

A1:=REF(CLOSE,1); 
A2:=REF(OPEN,1); 
BB:C/O>1.04;
B1:=OPEN<A1; 
B2:=CLOSE>A2;

論理的な判断条件はBB&&B1&&B2です

トレンド指数

  • 均線交差:5日均線が10日均線 (金叉) を上を通過する;5日均線が10日均線 (死叉) を下を通過する
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

My 言語の機能関数は高度に統合されていることがわかります. 均線交差を判断する機能です. ユーザがそれを呼び出すだけで, 基礎論理から新しいものを作らなくなり, 後に修正するのに便利です.

同じように,三つの均線の戦略論理では,5日均線,10日均線,30日均線を複数並べて,3日間続くと,次のように書ける.

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • BOLLチャネル:BOLLは,下線 (Bottom),上線 (Top),中線 (Mid) の3つのチャネルで構成されている.チャネルが幅を広げて上向きになると,価格が上線以上で多頭傾向が起こります.逆空頭傾向が起こります.

My言語のコードは以下のように書ける:

MID:MA(CLOSE,26);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,26);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2;//布林通道下轨
AA:=TOP>REF(TOP,1)&&BOTTOM<REF(BOTTOM,1)&&MID>REF(MID,1);
BB:=C>TOP;

この数々のトレンドの判断条件はAA&&BBです.

  • SAR (止まり点) 指標:SARは上向きで,多頭トレンドを介して0,SARは下向きで,空頭トレンドを介して0です.

まず,発明者の量化戦略コード作成インターフェイスの下にある Parameter Bar と Retest ページの Mac 言語取引クラスライブラリで以下のパラメータを定義します.

img img

N 1 100 4 ステップ 1 20 2 価値 1 10 2

STEP1:=STEP/100;
MVALUE1:=MVALUE/10;
SARLINE:SAR(N,STEP1,MVALUE1),CIRCLEDOT;
//N个周期的抛物转向,步长为STEP1,极限值为MVALUE1.
CROSS(SARLINE,0),BPK;//抛物转向值上穿0,做多。
CROSS(0,SARLINE),SPK;//抛物转向值下穿0,作空。
AUTOFILTER;

振動型指標

取引経験のある人は,どの市場であれ,80%の価格が波動状態であり,20%の価格がトレンドモードで動いていることが分かっています.

したがって,振動指標は傾向指標よりも重要であり,取引結果にも大きな影響を与える.そして,ほとんどの波動市場では,傾向指標はほぼすべて失敗する.しかし,振動指標は価格の波動に従って変化する.振動指標はランダム指標とも呼ばれる.

振動指標の特徴:振動指標の値の変化には,水平領域を上半部分と下半部分に分けることができる中間値があり,一般的に価格変化に反応する敏感度である.

トレンドを判断するには,トレンドクラスの指標を使用し,トレンドの後尾を判断するには,振動クラスの指標を使用することが良い選択です.

  • KDJランダム指標は,3つの線 K,D,Jから構成され,指標線は0〜100の間で変化し,J線は20未満,オバーセールエリアに入り,J線は80以上,オバーバイエリアに入り.
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
BACKGROUNDSTYLE(1);
CROSS(K,D),BPK;//KD金叉,做多。
CROSS(J,20),BP;//J值上穿20
CROSS(D,K),SPK;//KD死叉,做空。
CROSS(80,J),SP;// J值下穿80
AUTOFILTER;
  • MACD指数の平滑異動平均線は,二次指数の移動平均線から発展したもので,高速指数の移動平均線 (EMA) を減算した遅い指数の移動平均線である.MACDの意味は,二次移動平均線と基本的には同じである.MACDがマイナスから正に転移すると多信号となる.MACDがマイナスから正に転移すると空信号となる.
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA:EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
CROSS(DIFF,DEA),BPK;//DIFF上穿DEA,做多。
CROSS(DEA,DIFF),SPK;//DIFF下穿DEA,做空。
AUTOFILTER;

インターインデクタルのモデル

なぜ我々は指標を越えるのか?

  • 第"の理由は,モデル内のクロス指標は,技術面の内部要素が共鳴する取引思想であり,複数の異なる分類指標の取引思想を組み合わせて断片的な動きを行う.

  • 2つ目の理由は,トレンド指標が整合市場において不効であり,振動指標が単独で現在の市場状態を判断することができないため,複数の指標の組み合わせ分析が必要である.

常用思考

  • 傾向判断と細かい分析が組み合わせられています.
  • 複数の条件が同じ方向に判断する.

震動模型の例

  • 潮流指数
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

特定の周期間の価格変動を測定する: 指数の連続的な波動は,小幅な範囲で,平行市場,またはトレンド市場にあることを示します.

波動モデル取引のアイデア:潮の指数判定,KDJの振動指数が入口と出口を探し出す

このモデルを次のように書ける.

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
CMIVAL:ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100,NODRAW;
BACKGROUNDSTYLE(1);
K>D&&EVERY(CMIVAL<20,2),BPK;//盘整行情,KD金叉,做多。
CROSS(J,10)||CROSS(K,D),BP;// J值上穿10超卖或者KD金叉,平仓
D>K&&EVERY(CMIVAL<20,2),SPK;//盘整行情,KD死叉,做空。
CROSS(90,J)||CROSS(D,K),SP;// J值下穿90超买或者KD死叉,平仓
AUTOFILTER;

img

トレンドモデルの例

トレンドモデル取引の考え方:EMAは上昇傾向か下落傾向を判断する;ADXは傾向の変化程度,傾向の強い入場,傾向の弱い見込みを反映する.

EMAのトレンド判断システム:

UPPERMA:EMA(HIGH,30);//计算30根K线最高价的EMA
LOWERMA:EMA(LOW,30);//计算30根K线最低价的EMA
CROSSUP(C,UPPERMA),BPK;//收盘价上穿EMA,做多
CROSSDOWN(C,LOWERMA),SPK;//收盘价下穿EMA,做空
AUTOFILTER;

img

EMAは多動向と空動向を判断するだけで,傾向の強弱を判断できないので,EMAは市場の整合に効果がないので,強い傾向を反映できる指標を探さなければなりません.

コーデは以下の通りです.

TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);//最高价与前一周期最高价做差
LD:=REF(LOW,1)-LOW;//前一周期最低价与最低价做差
DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
//如果HD>0并且HD>LD,取HD否则取0,对取值做N周期累加求和。
DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
//如果LD>0并且LD>HD,取LD否则取0,对取值做N周期累加求和。
PDI:=DMP*100/TR;
MDI:=DMM*100/TR;
ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);

ADXは上昇傾向が強く,ADXは低下傾向が弱い.

img

ADXとEMAをベースにした取引システムを作りました.

コーデは以下の通りです.

TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);
LD:=REF(LOW,1)-LOW;
DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
PDI:=DMP*100/TR;
MDI:=DMM*100/TR;
ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
UPPERMA:=EMA(HIGH,30);
LOWERMA:=EMA(LOW,30);
CROSSUP(C,UPPERMA)&&EVERY(ADX>REF(ADX,1),2),BPK;
//当ADX连续两周期向上且当前价大于30根K线最高价的EMA满足买入条件
CROSSDOWN(C,LOWERMA)&&EVERY(ADX>REF(ADX,1),2),SPK;
//当ADX连续两周期向上且当前价下于30根K线最低价的EMA满足卖出条件
AUTOFILTER;

複数の同じ指標を同じ方向に判断する 精密な分析で勝利率を上げる

複数のトレンド指標を探します: ブリン通道 (BOLL),ドンチアン通道,均線動的突破システムは,適応するブリン通道と適応するドンチアン通道に基づいた突破システムです.

ドンチアン通道:アメリカのフューチャー市場伝説の物理学者チャード・デニス (Richard Dennis) によって発明され,海法則の先駆者である.それは,一定の周期 (通常は20例で変更可能) の最高価格と最低価格によって形成される上下線で,価格が上下線を突破したとき,軌道上での突破は購入の可能性の信号であり,反逆に,軌道下部の突破は売却の可能性の信号である.

ビジネスモデルについて考える

  • 昨日の価格はブリン通路よりも高く,その日のサイクル価格は唐津通路よりも高く,多くの注文をします.

  • 昨日の価格はブリン通道より低かったし,その日のサイクル価格は唐津通道より低かった.

  • 多 Order を持っていれば,自律的な出場平均線より価格が低く,平多 Order

  • 空き札を保有すると,価格が自発的な出場平均線,平空の札よりも大きい.

グラフの表は,

//当日市场波动
TODAYVOLATILITY:=STD(CLOSE,30);
//昨日市场波动
YESTERDAYVOLATILITY:=REF(TODAYVOLATILITY,1);
//市场波动的变动率
DELTAVOLATILITY:(TODAYVOLATILITY-YESTERDAYVOLATILITY)/TODAYVOLATILITY;
//计算自适应参数
LOOKBACKDAYS1:=LOOP2(BARPOS=30,20,REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY));
LOOKBACKDAYS2:=ROUND(LOOKBACKDAYS1,0);
LOOKBACKDAYS3:=MIN(LOOKBACKDAYS2,60);//60自适应参数的上限
LOOKBACKDAYS:=MAX(LOOKBACKDAYS3,20);//20自适应参数的下限
//自适应布林通道中轨
MIDLINE:=MA(CLOSE,LOOKBACKDAYS);
BAND:=STD(CLOSE,LOOKBACKDAYS); 
//自适应布林通道上轨
UPBAND:=MIDLINE+2*BAND;
//自适应布林通道下轨
DNBAND:=MIDLINE-2*BAND; 
//自适应唐奇安通道上轨
BUYPOINT:=HHV(HIGH,LOOKBACKDAYS);
//自适应唐奇安通道下轨
SELLPOINT:=LLV(LOW,LOOKBACKDAYS);
//自适应出场均线
LIQPOINT:=MIDLINE;
//昨日价格大于布林通道上轨,并且当日价格大于唐奇安通道上轨,开多单
REF(C,1)>REF(UPBAND,1)&&HIGH>=REF(BUYPOINT,1),BK;
//持有多单时,昨日价格小于布林通道下轨,并且当日价格小于唐奇安通道下轨,平多单
REF(C,1)<REF(DNBAND,1)&&LOW<=REF(SELLPOINT,1),SP;
//持有多单时,价格小于自适应出场均线,平多单
BARSBK>=1&&LOW<=REF(LIQPOINT,1),SP;
//持有空单时,昨日价格大于布林通道上轨,并且当日价格大于唐奇安通道上轨,平空单
REF(C,1)>REF(UPBAND,1)&&H>=REF(BUYPOINT,1),BP;
//昨日价格小于布林通道下轨,并且当日价格小于唐奇安通道下轨,开空单
REF(CLOSE,1)<REF(DNBAND,1)&&LOW<=REF(SELLPOINT,1),SK;
//持有空单时,价格大于自适应出场均线,平空单
BARSSK>=1&&HIGH>=REF(LIQPOINT,1),BP;
AUTOFILTER;

My言語では,CROSSUP,CROSSDOWN>,<の違い. そしての柔軟な使用,多条件接続オペレータが優先事項に注意を払う. そして::=の違い. 最後に,同じ変数とパラメータの修正です.

上記は,いくつかの一般的な技術指標とそれらの組み合わせの応用です. My 言語は非常に強力なスクリプト言語です. フレンドリーな初心者学習経験に加えて,量化精通者でも柔軟にこれらの指標と文法を組み合わせて強力な取引戦略を作成することができます. 発明者の量化プラットフォームのAPI インターフェースの優れたサポートにより,量化開発者は最終的に戦略の研究と作成に本当に精力を注ぐことができます. 量化取引に関連する取引システムの基礎構造ではなく,特にこれらの年に関わる高周波取引の制限がますます厳しくなり,デジタル通貨と国内商品の貨物期間のいずれにせよ,基礎構造は量化取引自体と関わらないようになっており,各読者は,戦略の論理設計と効果的な実行に主に精力を注ぐべきです.


もっと

ジプ9マーク

wwq4817良かった