Deskripsi:
Oscillator Stochastic Standar dengan fitur sensitivitas.
Indikator ini memiliki parameter yang sama seperti Stochastic standar, tetapi terdapat tambahan parameter "sensitivitas" (Sens di jendela parameter).
Dengan parameter ini, kita hanya mempertimbangkan osilasi yang berada di bawah ambang batas tertentu yang telah ditentukan, yang dinyatakan dalam poin. Dengan cara ini, kita bisa mengurangi banyak sinyal palsu.
Stochastic klasik menempatkan harga saat ini antara harga maksimum dan minimum selama sejumlah bar yang ditentukan oleh nilai %K (Kperiod), dan tidak membedakan perbedaan antara ekstrem, misalnya 1 poin atau 100 poin. Untuk kedua kasus ini, hasilnya akan sama, dan kita akan mendapatkan sinyal overbought/oversold.
Tetapi dengan menggunakan ambang batas tertentu, kita hanya dapat mempertimbangkan osilasi yang signifikan.
Di Gambar 1 (EURUSD, 1M), ditampilkan grafik harga, stochastic standar, dan indikator yang diusulkan.
Gambar:

Gambar 1.
Bidang indikator ini sama seperti untuk iStochastic, perbedaannya adalah terdapat parameter tambahan Sens - sensitivitas.
Buffer output tetap sama: 0 - nilai Stochastic itu sendiri, 1 - garis sinyal.
double iCustom(string simbol, int timeframe, "_StochNR", int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift); // StochNR menambahkan field baru Sensfield double iStochastic(string simbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift) // stochastic standar
Untuk penggunaan praktis, Anda bisa memanggilnya seperti yang ditentukan di atas, tetapi lebih baik untuk melakukannya dengan cara lain. Cukup tambahkan beberapa kode ke fungsi Stoch Anda:
double Stoch(int Kperiod, int Slowing, int PriceFild, double sens, int i) { // harga maksimum dan minimum double max,min,c; for(int j=i; j<i+Slowing; j++) { if(PriceFild==1) { // berdasarkan Close max+=Close[ArrayMaximum(Close,Kperiod,j)]; min+=Close[ArrayMinimum(Close,Kperiod,j)]; } else { // berdasarkan High/Low max+=High[ArrayMaximum(High,Kperiod,j)]; min+=Low[ArrayMinimum(Low,Kperiod,j)]; } c+=Close[j]; } double delta=max-min; if(delta<sens) { sens/=2; max+=sens; min-=sens; } delta=max-min; if(delta==0) double s0=1; else s0=(c-min)/delta; return(100*s0); }
Jelas, jika Anda memerlukan garis sinyal, Anda memerlukan rata-rata bergerak tambahan dari nilainya. Cara lain adalah dengan mengambilnya dari buffer ke-1 iCustom, tetapi itu akan lambat.
Seperti yang Anda lihat, sekarang namanya lebih informatif, ada jenis perhitungan harga. Jika sensitivitas ditentukan lebih besar dari 0, nilainya ditambahkan ke nama oscillator.
Keterangan Editor:
Perlu dicatat bahwa ini adalah terjemahan langsung dari versi asli bahasa Rusia.
Jika Anda memiliki pertanyaan untuk penulis, saran, atau komentar, sebaiknya kirimkan di sini.
Jika Anda menemukan kode ini berguna untuk trading atau tujuan pendidikan, jangan lupa untuk mengucapkan terima kasih kepada penulis.
Postingan terkait
- Panduan Lengkap MetaCOT 2 CFTC ToolBox untuk Analisis COT di MT4
- Indikator Open Range Breakout untuk MetaTrader 5: Strategi Trading yang Efektif
- Master Tools: Alat Indikator untuk MetaTrader 4 yang Harus Dimiliki
- Memprediksi Harga Selanjutnya dengan Jaringan Saraf: Panduan Lengkap untuk Trader
- iSpread: Indikator Spread untuk Pair Trading di MetaTrader 5