Mengapa ia dipanggil termostat? Kami menamakan sistem ini mengikut kemampuan untuk menyesuaikan diri dengan perubahan dan perdagangan dalam kedua-dua turun naik pasaran dan corak trend. Sistem ini berasal dari pemerhatian kami mengenai kejayaan sistem tertentu di kawasan pasaran tertentu. Sistem ini boleh membuat strategi dengan sifat ganda untuk memanfaatkan sepenuhnya kedua-dua corak pasaran.
Pertama, kita mencipta fungsi untuk membantu menentukan corak pasaran. Menurut output fungsi ini, termostat beralih dari mod mengikut ke mod swing jangka pendek.
Mod pengesanan trend adalah serupa dengan mekanisme pengesanan trend dalam pita Bollinger. Sistem ayunan jangka pendek adalah satu kejayaan terbuka termasuk pengenalan corak. Fungsi ini membandingkan jarak berkeliaran pasaran dengan jarak sebenar pasaran:
Abs (harga penutupan - harga penutupan[29])/(harga tertinggi(30) - harga terendah (harga rendah, 30 hari) * 100
Fungsi ini menghasilkan nilai antara 0 dan 100. Semakin tinggi nilai, pasaran semasa akan kurang sesak. Jika nilai yang dikembalikan oleh fungsi adalah kurang daripada 20, sistem memasuki mod swing jangka pendek.
Pada asasnya, kebanyakan pasaran menunjukkan pergerakan ayunan, dan sistem cuba menangkap turun naik dan mendapat keuntungan kecil daripadanya. termostat cuba mencapai prestasi ini dengan membeli / menjual impuls pasaran kecil. Jika turun naik cukup besar, sistem akan menukar mod.
Melalui analisis mendalam mengenai turun naik jangka pendek, kita mendapati bahawa kadang-kadang membeli lebih baik daripada menjual, dan sebaliknya. Pada masa ini, ia boleh ditentukan dengan mod visual yang mudah. Jika harga penutupan hari ini lebih tinggi daripada titik tinggi, titik rendah dan harga penutupan semalam (juga dikenali sebagai titik utama hari), kita fikir bahawa tindakan pasaran esok mungkin menurun. Walau bagaimanapun, jika harga penutupan hari ini lebih rendah daripada titik tinggi, titik rendah dan harga penutupan purata semalam, maka pasaran hari ini mungkin menaik. Kami mengklasifikasikan masa-masa ini sebagai harga yang lebih mudah dibeli dan dijual.
Pada platform FMZ Quant, strategi termostat adalah strategi yang sangat popular. Pengguna boleh menambah beberapa logika perdagangan tambahan mengikut keperluan mereka sendiri untuk membuat strategi berfungsi dengan lebih baik. Berikut adalah kerangka kerja khas strategi termostat pada platform FMZ Quant:
Carta utama: Rumus trek atas: TOP^^MAC+N_TMPTMP;// Trek atas saluran Bollinger Rumus Downtrack: BOTTOM^^MAC-N_TMPTMP;// Saluran Bollinger Downtrack
Subgrafik: Rumus CMI: CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI)) * 100;//Semakin besar nilai 0-100, semakin kuat trend akan berlaku. CMI < 20 adalah mod turun naik, CMI > 20 adalah trend.
Kod (MyLanguage):
MAC:=MA(CLOSE,N);
TMP:=STD(CLOSE,N);
TOP^^MAC+N_TMP*TMP; // Bollinger channel upper track
BOTTOM^^MAC-N_TMP*TMP; // Bollinger channel down track
BBOLL:=C>MAC;
SBOLL:=C<MAC;
N_CMI:=30;
CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI))*100; // The greater the value of 0-100 is, the stronger the trend will be. CMI < 20 is volatility mode, CMI >20 is the trend.
N_KD:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N_KD))/(HHV(HIGH,N_KD)-LLV(LOW,N_KD))*100; // The difference between the closing price and the lowest value of N period is made, the difference between the highest value of N period and the lowest value of N period is made, and the ratio between the two differences is made.
K:=SMA(RSV,M1,1); // Moving average of RSV
D:=SMA(K,M2,1); // Moving average of K
MIND:=30;
BKD:=K>D AND D<MIND;
SKD:=K<D AND D>100-MIND;
// Oscillation mode
BUYPK1:=CMI < 20 AND BKD; // Oscillating long position, buy close
SELLPK1:=CMI < 20 AND SKD; // Oscillating short position, sell close
// Handling of original oscillating positions in trend mode
SELLY1:=REF(CMI,BARSBK) < 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND K<D; // Oscillation long position stop-profit
BUYY1:=REF(CMI,BARSSK) < 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND K>D; // Oscillation short position stop-profit
// Trend mode
BUYPK2:=CMI >= 20 AND C > TOP; // Trend long position, buy close
SELLPK2:=CMI >= 20 AND C < BOTTOM; // Trend short position, sell close
// Handling of original oscillating positions in trend mode
SELLY2:=REF(CMI,BARSBK) >= 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND SBOLL;// Trend long position stop-profit
BUYY2:=REF(CMI,BARSSK) >= 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND BBOLL;// Trend short position stop-profit
SELLS2:=REF(CMI,BARSBK) >= 20 AND C<BKPRICE*(1-0.01*STOPLOSS) AND SBOLL;// Trend long position stop-loss
BUYS2:=REF(CMI,BARSSK) >= 20 AND C>SKPRICE*(1+0.01*STOPLOSS) AND BBOLL;// Trend short position stop-loss
IF BARPOS>N THEN BEGIN
BUYPK1,BPK;
SELLPK1,SPK;
BUYPK2,BPK;
SELLPK2,SPK;
END
BUYY1,BP(SKVOL);
BUYY2,BP(SKVOL);
BUYS2,BP(SKVOL);
SELLY1,SP(BKVOL);
SELLY2,SP(BKVOL);
SELLS2,SP(BKVOL);
Hasil ujian belakang strategi adalah seperti berikut:
Untuk maklumat lanjut, sila rujuk:https://www.fmz.com/strategy/129086.