Contoh analisis dari beberapa indikator umum yang ditulis dalam bahasa My dan model lintas indikator

Penulis:Kebaikan, Dibuat: 2019-07-08 10:01:48, Diperbarui: 2019-07-16 15:38:53

Platform Kuantitatif Inventor's My Language adalah bahasa pemrograman kuantitatif yang sangat terintegrasi dengan fungsi dan fitur yang kuat, yang dirancang untuk pemula kuantitatif. Meskipun populer di kalangan pemula, bahasa ini memiliki fungsi yang sedikit lebih rendah daripada bahasa pemrograman lainnya. Dalam hal kustomisasi yang mendalam dari beberapa strategi yang rumit, karena perpustakaan fungsi yang sudah disesuaikan sangat kuat, ditambah dengan platform kuantitatif Inventor sendiri dengan dukungan yang sangat baik untuk antarmuka API dari berbagai pertukaran utama, Anda tidak hanya dapat menghemat banyak waktu dalam menulis kode, tetapi juga dapat memusatkan perhatian pada desain logika strategi utama, dan biaya yang sangat rendah (harga di bawah 3 yuan per hari), sehingga Anda tidak perlu khawatir.

My language tidak hanya berlaku untuk komoditas berjangka domestik, tetapi juga mendukung transaksi terkait mata uang digital tanpa perbedaan fungsionalitas.

Artikel ini akan membahas beberapa cara yang umum digunakan untuk menulis indikator, serta analisis kasus beberapa model lintas indikator.

Pengelompokan dan penulisan beberapa indikator yang umum digunakan

  • Bentuk K-line klasik tradisional meliputi: burung gagak tiga kaki, bintang silang, kepala patah kaki, sebuah tiang angin, jari-jari Sendai, dasar jarum emas, dll.

  • Dari sisi indikator, indikator trend dibagi menjadi: MA (kombinasi garis rata), BOLL, PUBU (garis terjun), SAR (titik stop loss) dan lain-lain.

  • Indikator kelas berayun: ATR (Bentang gelombang nyata), KDJ (Indikator acak), MACD, WR (Indikator William) dll.

  • Indikator analisis kuantitas CJL (volume) DATA (volume) DATA (volume) DATA (volume) DATA (volume)

Selanjutnya, mari kita menggunakan bahasa My untuk mengimplementasikan bentuk dan indikator klasik di atas secara individual di platform kuantitatif penemu, yang dimaksudkan bukan untuk membuat pembaca langsung menggunakan indikator ini (yang tentu saja, dalam beberapa kondisi, penggunaan langsung mungkin juga tidak ada masalah), tetapi untuk memungkinkan pembaca untuk menilai momentum berdasarkan indikator ini, dan memperbaiki klasik ini sesuai dengan situasi pasar dan kondisi manajemen uang mereka sendiri.

Garis matahari besar: harga buka adalah harga terendah, harga tutup adalah harga tertinggi, kenaikan Garis K lebih dari 4%

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

Kondisi logis untuk penilaian ini adalah: AA&&BB&&CC

Penembusan kepala kaki: dua garis K terdiri, yang menunjukkan bahwa pasar akan berbalik, dan bahwa pembukaan garis K saat ini memiliki setidaknya 4% deviasi. Jika jenis penembusan kepala kaki ke atas, maka garis K harus matahari terbenam, sementara harga tertinggi dan terendah dari garis K saat ini harus mencakup satu garis K sebelumnya.

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

Kondisi logis di sini adalah: BB&&B1&B2

Indikator Kelas Tren

  • Garis rata-rata 5 hari melintasi garis rata-rata 10 hari ke atas (Golden Fork); Garis rata-rata 5 hari melintasi garis rata-rata 10 hari ke bawah (Dead Fork)
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

Di sini Anda dapat melihat bahwa fungsi bahasa My sangat terintegrasi, sebuah fungsi yang dapat menentukan persimpangan linear, pengguna hanya perlu memanggilnya, tidak perlu membangun setiap fungsi dari awal lagi dari logika dasar, dan lebih mudah untuk mengkonfigurasi di kemudian hari.

Demikian pula, dalam logika strategi untuk tiga garis rata-rata, asumsikan garis rata-rata 5 hari, garis rata-rata 10 hari, dan garis rata-rata 30 hari ditempatkan dalam urutan yang lebih besar dan berlangsung selama 3 hari, kita dapat menulisnya sebagai berikut:

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • BOLL channel: BOLL terdiri dari tiga saluran: Bottom, Top, dan Mid. Ketika saluran menjadi lebar dan naik, harga berada di atas jalur, dan tren multi-head muncul. Sebaliknya, tren kosong muncul.

Dengan menggunakan kode bahasa My, Anda bisa menulisnya seperti ini:

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;

Kondisi penentuan dari beberapa tren ini adalah: AA&&BB

  • Indikator SAR (Stop Loss Point): SAR naik melalui 0, multihead trend; SAR turun melalui 0, blank trend.

Pertama, kita mendefinisikan parameter berikut di dalam Perpustakaan Perdagangan Bahasa Inggris pada halaman Parameter Query and Retrieval di bawah Inventor Quantify Strategy Code Writing Interface:

img img

N 1 100 4 Langkah 1 20 2 Nilai 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;

Indikator kelas berayun

Siapa pun yang memiliki pengalaman trading tahu bahwa tidak peduli pasar mana, harga sebenarnya berada dalam keadaan goyah 80 persen dari waktu, dan harga berjalan dengan cara tren hanya 20 persen dari waktu.

Oleh karena itu, indikator pendorong lebih penting daripada indikator pendorong dan memiliki pengaruh yang lebih besar pada hasil perdagangan, dan indikator pendorong hampir tidak berfungsi di sebagian besar pasar yang bergejolak. Sementara indikator pendorong dapat berubah sesuai dengan pergerakan harga, indikator pendorong juga dapat disebut indikator acak.

Ciri-ciri indikator kelas osilasi: Perubahan nilai indikator osilasi memiliki nilai tengah yang dapat dibagi menjadi wilayah horizontal bagian atas dan bagian bawah, umumnya responsif terhadap perubahan harga.

Untuk menilai tren yang akan datang dengan indikator kelas tren, menilai tren akhir dengan indikator kelas ayunan adalah pilihan yang baik.

  • Indikator acak KDJ terdiri dari tiga garis K, D, J, garis indikator bervariasi antara 0 sampai 100, garis J di bawah 20, masuk ke zona oversold, garis J di atas 80, masuk ke zona overbought.
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;
  • Indeks MACD memiliki arti yang sama dengan rata-rata bergerak yang bergerak lambat. Ketika MACD beralih dari negatif ke positif, itu adalah sinyal lebih. Ketika MACD beralih dari positif ke negatif, itu adalah sinyal kosong.
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;

Contoh model lintas indikator

Mengapa kita harus melintasi indikator?

  • Alasan pertama: cross indicator dalam model, adalah ide perdagangan yang beresonansi dengan elemen internal dari sisi teknis, yang menggabungkan ide perdagangan indikator dari beberapa kategori yang berbeda untuk melihat tren.

  • Alasan kedua: indikator trend gagal dalam penataan pasar, indikator swing tidak dapat menilai kondisi pasar saat ini dengan menggunakan indikator swing sendiri, dan memerlukan analisis gabungan dari beberapa indikator.

Berpikir Sering

  • "Sangat penting bagi saya untuk melihat apa yang terjadi di Indonesia.
  • Beberapa kondisi sama arahnya.

Contoh model guncangan

  • Indeks pasang
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

Mengukur fluktuasi harga dalam siklus tertentu: fluktuasi indeks secara berturut-turut dalam kisaran kecil menunjukkan bahwa pasar sedang dalam keadaan stabil, jika tidak, pasar sedang trend.

Ide perdagangan model goncangan: penilaian indeks pasang, indikator swing KDJ untuk menemukan titik masuk dan titik keluar

Model ini bisa ditulis seperti ini:

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

Contoh model tren

Trend model trading thinking: EMA menilai tren naik atau turun; Indeks ADX mencerminkan tingkat perubahan tren, tren kuat masuk, tren lemah melihat.

EMA menilai tren sistem perdagangan:

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 hanya dapat menilai banyak tren dan tren kosong, tetapi tidak dapat menentukan kekuatan tren, jadi EMA gagal dalam penataan pasar, jadi kita perlu mencari indikator yang dapat mencerminkan tren yang kuat dan lemah: Indeks ADX

Kode adalah sebagai berikut:

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 menunjukkan tren yang kuat ke atas, ADX menunjukkan tren yang lemah ke bawah.

img

Kemudian kami menggabungkan keduanya untuk membentuk sistem perdagangan berbasis ADX dan EMA.

Kode adalah sebagai berikut:

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;

Pertimbangan dari beberapa indikator yang sama Dengan analisis yang akurat, meningkatkan peluang menang

Mencari beberapa indikator tren: Boll (BOLL), Dongjian (Dongjian), dan Uniform Dynamic Breakthrough System (UDB) adalah sistem breakthrough yang didasarkan pada Boll adaptif dan Dongjian adaptif.

Corridor Donchian: diciptakan oleh fisikawan Amerika Serikat Richard Dennis, legenda pasar berjangka, dan merupakan pendahulu dari hukum tsunami. Corridor ini terdiri dari harga tertinggi dan harga terendah dalam siklus tertentu (biasanya 20, dalam kasus yang diatur sebagai variabel) yang membentuk tren naik dan turun, ketika harga menembus tren naik dan turun, tren pecah adalah sinyal mungkin untuk membeli; sebaliknya, tren pecah adalah sinyal mungkin untuk menjual.

Perdagangan model multi-indikator:

  • Kemarin harga lebih tinggi dari jalur Brin, dan pada hari itu harga siklus lebih tinggi dari jalur Dongchean, naik lebih banyak.

  • Kemarin harga lebih rendah dari jalur Brin, dan pada hari itu harga siklus lebih rendah dari jalur Dongguan, buka daftar kosong.

  • Harga yang lebih rendah dari garis rata-rata yang beradaptasi saat memegang banyak order.

  • Bila Anda memiliki pesanan kosong, harga lebih besar dari rata-rata yang disesuaikan dengan keluarnya, pesanan kosong rata

Kita bisa menulisnya seperti ini:

//当日市场波动
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;

Dalam proses penulisan, perlu diperhatikan bahwa dalam bahasa My, kata kunci CROSSUP, kata kunci CROSSDOWN dan kata kunci > kata kunci, kata kunci < kata kunci; dan juga kata kunci ((AND &&) kata kunci, kata kunci atau kata kunci OR) kata kunci yang fleksibel, operator koneksi multikondisional memperhatikan masalah prioritas; dan kata kunci: kata kunci dan kata kunci: = kata kunci; dan akhirnya adalah perubahan pada variabel dan parameter yang sama.

Di atas adalah beberapa indikator teknis yang umum dan penggunaan kombinasi mereka, dapat dilihat bahwa bahasa My adalah bahasa skrip yang sangat kuat, selain pengalaman belajar pemula yang ramah, bahkan seorang ahli kuantitas dapat menggunakan kombinasi indikator dan tata bahasa yang fleksibel untuk menciptakan strategi perdagangan yang kuat, didukung dengan antarmuka API platform kuantitatif penemu, pengembang kuantitatif akhirnya dapat benar-benar menempatkan seluruh tenaga mereka pada penelitian dan penyusunan strategi, bukan pada arsitektur dasar sistem perdagangan yang tidak terkait dengan perdagangan kuantitatif, terutama pada tahun-tahun ini.


Lebih banyak

Gyp9Apa yang terjadi?

wwq4817Bagus sekali.