Algoritma pemindah arus eksponensial moving average


Moving Average Eksponensial - EMA BREAKING DOWN Exponential Moving Average - EMA EMA 12 dan 26 hari adalah rata-rata jangka pendek yang paling populer, dan indikator tersebut digunakan untuk menciptakan indikator seperti moving average convergence divergence (MACD) dan harga osilator persentase (PPO). Secara umum, EMA 50 dan 200 hari digunakan sebagai sinyal tren jangka panjang. Pedagang yang menggunakan analisis teknis menemukan rata-rata bergerak sangat berguna dan berwawasan bila diterapkan dengan benar namun menimbulkan malapetaka jika digunakan dengan tidak semestinya atau disalahartikan. Semua rata-rata bergerak yang umum digunakan dalam analisis teknis adalah, pada dasarnya, indikator lagging. Akibatnya, kesimpulan yang diambil dari penerapan rata-rata bergerak ke bagan pasar tertentu adalah untuk mengkonfirmasi pergerakan pasar atau untuk menunjukkan kekuatannya. Sangat sering, pada saat garis indikator rata-rata bergerak membuat perubahan untuk mencerminkan pergerakan yang signifikan di pasar, titik optimal masuk pasar telah berlalu. EMA memang berfungsi untuk mengurangi dilema ini sampai batas tertentu. Karena perhitungan EMA menempatkan lebih banyak bobot pada data terbaru, ia memeluk tindakan harga sedikit lebih ketat dan karena itu bereaksi lebih cepat. Hal ini diinginkan bila EMA digunakan untuk mendapatkan sinyal masuk perdagangan. Menafsirkan EMA Seperti semua indikator rata-rata bergerak, tren ini jauh lebih sesuai untuk pasar tren. Bila pasar berada dalam uptrend yang kuat dan berkelanjutan. Garis indikator EMA juga akan menunjukkan tren naik dan sebaliknya untuk tren turun. Pedagang yang waspada tidak hanya memperhatikan arah garis EMA tapi juga hubungan tingkat perubahan dari satu bar ke bar berikutnya. Misalnya, karena aksi harga dari uptrend yang kuat mulai merata dan membalikkan, tingkat perubahan EMA dari satu batang ke bar berikutnya akan mulai berkurang sampai saat garis indikator rata dan tingkat perubahannya nol. Karena efek lagging, pada titik ini, atau bahkan beberapa bar sebelumnya, tindakan harga seharusnya sudah berbalik arah. Oleh karena itu, mengikuti bahwa penurunan yang konsisten secara konsisten dalam perubahan EMA dapat digunakan sebagai indikator yang dapat mengatasi dilema yang disebabkan oleh efek lagging moving averages. Kegunaan Umum EMA EMA biasanya digunakan bersamaan dengan indikator lain untuk mengkonfirmasi pergerakan pasar yang signifikan dan untuk mengukur validitasnya. Bagi pedagang yang berdagang intraday dan pasar yang bergerak cepat, EMA lebih bisa diterapkan. Cukup sering trader menggunakan EMA untuk menentukan bias trading. Misalnya, jika EMA pada grafik harian menunjukkan tren kenaikan yang kuat, strategi pedagang intraday mungkin hanya berdagang dari sisi panjang pada grafik intraday. Saya mengkodekan sesuatu pada saat mana saya mengambil banyak nilai dari waktu ke waktu dari Kompas perangkat keras. Kompas ini sangat akurat dan sering diperbarui, dengan akibat bahwa jika sedikit bergoyang, saya berakhir dengan nilai ganjil yang sangat tidak sesuai dengan tetangganya. Saya ingin memperlancar nilai-nilai itu. Setelah membaca beberapa bacaan, akan terlihat bahwa yang saya inginkan adalah filter high-pass, filter low-pass atau moving average. Bergerak rata-rata saya bisa turun dengan, tinggal menyimpan sejarah dari 5 nilai terakhir atau apapun, dan gunakan rata-rata nilai-nilai tersebut di bagian hilir dalam kode saya dimana saya pernah menggunakan nilai terbaru. Itu seharusnya, menurut saya, menghaluskan guncangan itu dengan baik, tapi hal itu mengejutkan saya bahwa itu mungkin sangat tidak efisien, dan ini mungkin salah satu dari Masalah yang Diketahui pada Programer yang Tepat yang merupakan solusi Clever Math yang sangat rapi. Namun, saya adalah salah satu pemrogram otodidak yang mengerikan tanpa sedikitpun pendidikan formal dalam hal yang samar-samar dikaitkan dengan CompSci atau Math. Membaca sekitar sedikit menunjukkan bahwa ini mungkin merupakan filter lolos yang tinggi atau rendah, tapi saya tidak dapat menemukan apa pun yang menjelaskan dalam pengertian yang dapat dipahami terhadap hack seperti saya apa efek dari algoritme ini pada array nilai, apalagi bagaimana matematika Bekerja Jawabannya diberikan disini. Misalnya, secara teknis menjawab pertanyaan saya, tapi hanya dalam pengertian yang bisa dipahami oleh mereka yang mungkin sudah tahu bagaimana menyelesaikan masalah. Ini akan menjadi orang yang sangat cantik dan pandai yang bisa menjelaskan masalah seperti ini, dan bagaimana solusinya bekerja, dalam pengertian bisa dimengerti oleh lulusan Seni. Tanya pada 21 September 10 di 13:01 Jika rata-rata bergerak Anda harus panjang untuk mencapai pemulusan yang dibutuhkan, dan Anda benar-benar tidak memerlukan bentuk kernel tertentu, maka Anda lebih baik jika menggunakan rata-rata bergerak yang membusuk secara eksponensial: di mana Anda Pilihlah yang kecil menjadi konstanta yang tepat (misalnya jika Anda memilih 1- 1N kecil, maka akan memiliki jumlah rata-rata yang sama dengan sebuah jendela dengan ukuran N, namun didistribusikan secara berbeda pada titik yang lebih tua). Bagaimanapun, karena nilai berikutnya dari rata-rata bergerak hanya bergantung pada data sebelumnya dan data Anda, Anda tidak perlu menyimpan antrean atau apapun. Dan Anda bisa memikirkan ini seperti melakukan sesuatu seperti, Nah, saya punya poin baru, tapi saya tidak terlalu mempercayainya, jadi saya akan menyimpan perkiraan lama pengukuran saya, dan hanya mempercayai data baru ini 20. Thats Hampir sama dengan mengatakan, Yah, saya hanya mempercayai poin baru ini 20, dan saya menggunakan 4 poin lain yang saya percaya dengan jumlah yang sama, kecuali bahwa alih-alih secara eksplisit mengambil 4 poin lainnya, Anda mengasumsikan bahwa rata-rata yang Anda lakukan terakhir kali Masuk akal sehingga Anda bisa menggunakan pekerjaan Anda sebelumnya. Jawab 21 September pukul 14:27 Hei, saya tahu ini terlambat 5 tahun, tapi terimakasih atas jawaban yang mengagumkan. Saya sedang mengerjakan permainan di mana perubahan suara berdasarkan kecepatan Anda, namun karena menjalankan permainan di komputer yang lamban, kecepatannya akan berfluktuasi secara liar, yang tidak baik untuk kemudi, tapi sangat mengganggu dalam hal suara. Ini adalah solusi yang sangat sederhana dan murah untuk sesuatu yang saya pikir akan menjadi masalah yang sangat kompleks. Ndash Adam Mar 16 15 at 20:20 Jika Anda mencoba untuk menghapus nilai ganjil sesekali, filter low-pass adalah pilihan terbaik dari tiga opsi yang telah Anda identifikasi. Filter low-pass memungkinkan perubahan kecepatan rendah seperti yang disebabkan oleh putaran kompas dengan tangan, sambil menolak perubahan kecepatan tinggi seperti yang disebabkan oleh benturan di jalan, misalnya. Rata-rata bergerak mungkin tidak cukup, karena efek blip tunggal dalam data Anda akan mempengaruhi beberapa nilai berikutnya, bergantung pada ukuran jendela rata-rata bergerak Anda. Jika nilai ganjil mudah dideteksi, Anda mungkin akan lebih baik dengan algoritma pemutus glitch yang sepenuhnya mengabaikannya: Berikut adalah grafik guick untuk menggambarkan: Grafik pertama adalah sinyal input, dengan satu kesalahan yang tidak menyenangkan. Grafik kedua menunjukkan pengaruh rata-rata pergerakan 10 sampel. Grafik terakhir adalah kombinasi dari rata-rata sampel 10 sampel dan algoritma deteksi glitch sederhana yang ditunjukkan di atas. Bila kesalahan terdeteksi, rata-rata sampel 10 digunakan sebagai pengganti nilai sebenarnya. Bergerak rata-rata saya bisa turun dengan. Tapi itu mengejutkan saya bahwa itu mungkin sangat tidak efisien. Sebenarnya tidak ada alasan mengapa rata-rata bergerak tidak efisien. Anda menyimpan jumlah titik data yang Anda inginkan dalam beberapa buffer (seperti antrian melingkar). Pada setiap titik data baru, Anda memasukkan nilai tertua dan menguranginya dari jumlah, dan mendorong yang terbaru dan menambahkannya ke jumlah tersebut. Jadi setiap titik data baru benar-benar hanya memerlukan poppush, tambahan dan pengurangan. Rata-rata pergerakan Anda selalu jumlah pergeseran ini dibagi dengan jumlah nilai dalam buffer Anda. Ini akan sedikit rumit jika Anda menerima data secara bersamaan dari banyak benang, namun karena data Anda berasal dari perangkat keras yang sangat diragukan bagi saya. Oh dan juga: pemrogram otonom yang mengerikan bersatu) Rata-rata bergerak tidak efisien bagi saya karena Anda harus menyimpan penyangga nilai - lebih baik untuk melakukan beberapa Matematika Pintar dengan nilai masukan dan nilai kerja saat ini. Saya kira begitulah cara rata-rata eksponensial bergerak. Bekerja Pengoptimalan yang telah saya lihat untuk jenis rata-rata bergerak ini melibatkan penggunaan antrian antrian fixed-fixed pointer ke tempat Anda berada dalam antrian itu, dan hanya membungkus penunjuk di sekitar (dengan atau jika). Voila Tidak ada pushpop mahal. Power untuk para amatir, saudara ndash Henry Cooke 22 Sep 10 di 0:54 Henry: Untuk rata-rata bergerak lurus Anda memerlukan penyangga hanya agar Anda tahu nilai apa yang akan muncul saat nilai berikutnya didorong. Yang mengatakan, antrian antrian kuotasi-kuadrat yang Anda gambarkan sebenarnya yang saya maksud dengan antrian quotcircular. quot Itulah mengapa saya mengatakan bahwa ini tidak efisien. Apa yang Anda pikir saya maksud Dan jika tanggapan Anda adalah array quotan yang mengubah nilainya kembali pada setiap penghapusan yang terindeks (seperti std :: vector in C). Nah, kalau begitu, saya sangat terluka sehingga saya bahkan tidak mau lagi berbicara dengan Anda) ndash Dan Tao 22 Sep 10 at 1:58 Henry: Saya tidak tahu tentang AS3, tapi pemrogram Java mendapat koleksi seperti CircularQueue pada pembuangannya (bukankah itu Pengembang Java jadi saya yakin ada contoh yang lebih baik di luar sana, itulah yang saya temukan dari pencarian Google yang cepat), yang menerapkan secara tepat fungsi yang sedang kita bicarakan. Aku cukup yakin sebagian besar bahasa tingkat menengah dan rendah dengan perpustakaan standar memiliki sesuatu yang serupa (misalnya di QueueltTgt). Bagaimanapun, aku adalah filosofi diriku sendiri. Semua dimaafkan Ndash Dan Tao 22 Sep 10 di 12:44 Rata-rata pergerakan yang membusuk secara eksponensial dapat dihitung dengan tangan hanya dengan tren jika Anda menggunakan nilai yang tepat. Lihat fourmilab. chhackdiete4 untuk sebuah gagasan tentang bagaimana melakukan ini dengan cepat dengan pena dan kertas jika Anda mencari rata-rata bergerak rata yang rata dengan 10 smoothing. Tapi karena Anda memiliki komputer, Anda mungkin ingin melakukan pergeseran biner dibandingkan dengan perpindahan desimal) Dengan cara ini, yang Anda butuhkan hanyalah variabel untuk nilai Anda saat ini dan satu untuk rata-rata. Rata-rata berikutnya kemudian bisa dihitung dari itu. Menjawab 21 Sep 10 10 di 14:39 theres teknik yang disebut gerbang jangkauan yang bekerja dengan baik dengan sampel palsu yang jarang terjadi. Dengan asumsi penggunaan salah satu teknik filter yang disebutkan di atas (moving average, eksponensial), setelah Anda memiliki cukup sejarah (satu Konstanta Waktu), Anda dapat menguji sampel data baru yang masuk akal untuk pertimbangan, sebelum ditambahkan ke perhitungan. Beberapa pengetahuan tentang tingkat sinyal perubahan maksimum yang wajar diperlukan. Sampel mentah dibandingkan dengan nilai merapikan yang paling baru, dan jika nilai absolut dari perbedaan itu lebih besar dari kisaran yang diizinkan, sampel tersebut dilempar keluar (atau diganti dengan beberapa heuristik, misalnya prediksi berdasarkan diferensial lereng atau tren Nilai prediksi dari pemulusan eksponensial ganda) menjawab 30 Apr 16 at 6: 56I pada dasarnya memiliki nilai array seperti ini: Array di atas disederhanakan, Im mengumpulkan 1 nilai per milidetik dalam kode sebenarnya dan saya perlu mengolah keluaran pada algoritma Saya menulis untuk menemukan puncak terdekat sebelum suatu titik waktu. Logika saya gagal karena dalam contoh saya di atas, 0,36 adalah puncak sebenarnya, tapi algoritme saya akan terlihat mundur dan melihat angka terakhir 0,25 sebagai puncaknya, karena ada penurunan menjadi 0,24 sebelum itu. Tujuannya adalah untuk mengambil nilai-nilai ini dan menerapkan algoritma kepada mereka yang akan memperlancar mereka sedikit sehingga saya memiliki nilai linier yang lebih banyak. (Yaitu: Id seperti hasil saya melengkung, tidak bergerigi) Saya telah diberitahu untuk menerapkan filter rata-rata bergerak eksponensial ke nilai-nilai saya. Bagaimana saya bisa melakukan ini Sangat sulit bagi saya untuk membaca persamaan matematis, saya jauh lebih baik dengan kode. Bagaimana cara memproses nilai dalam array saya, menerapkan perhitungan rata-rata bergerak eksponensial bahkan sampai mereka bertanya pada 8 Februari 12 di 20:27 Untuk menghitung rata-rata pergerakan eksponensial. Anda perlu menyimpan beberapa keadaan di sekitar dan Anda memerlukan parameter penyetelan. Ini memerlukan kelas kecil (dengan asumsi Anda menggunakan Java 5 atau yang lebih baru): Instantiate dengan parameter peluruhan yang Anda inginkan (mungkin mengambil tuning harus antara 0 dan 1) dan kemudian gunakan rata-rata () untuk memfilter. Saat membaca sebuah halaman tentang beberapa kekambuhan mathmatical, semua yang Anda benar-benar perlu ketahui saat mengubahnya menjadi kode adalah matematikawan suka menulis indeks menjadi array dan urutan dengan subskrip. (Beberapa notasi lain juga, yang tidak membantu). Namun, EMA cukup sederhana karena Anda hanya perlu mengingat satu nilai lama tanpa susunan negara yang rumit. Jawab Feb 8 12 jam 20:42 TKKocheran: Cukup banyak. Tidak masalah jika hal-hal sederhana (Jika dimulai dengan urutan baru, dapatkan rata-rata baru.) Perhatikan bahwa beberapa istilah pertama dalam urutan rata-rata akan melompat sedikit karena efek batas, namun Anda mendapatkan yang lain dengan rata-rata bergerak lainnya. terlalu. Namun, keuntungan yang bagus adalah Anda dapat membungkus logika rata-rata bergerak menjadi rata-rata dan bereksperimen tanpa mengganggu keseluruhan program Anda. Ndash Donal Fellows Feb 9 12 at 0:06 Saya mengalami kesulitan untuk memahami pertanyaan Anda, tapi saya akan mencoba menjawabnya juga. 1) Jika algoritma Anda menemukan 0,25 bukan 0,36, maka itu salah. Ini salah karena mengasumsikan kenaikan atau penurunan monotonik (yang selalu naik atau selalu turun). Kecuali Anda rata-rata SEMUA data Anda, poin data Anda --- seperti yang Anda sampaikan - tidak bersifat nonlinier. Jika Anda benar-benar ingin menemukan nilai maksimum antara dua titik dalam waktu, maka iris array Anda dari tmin ke tmax dan temukan maks dari subarray itu. 2) Sekarang, konsep moving averages sangat sederhana: bayangkan bahwa saya memiliki daftar berikut: 1.4, 1.5, 1.4, 1.5, 1.5. Saya bisa menghaluskannya dengan mengambil rata-rata dua angka: 1.45, 1.45, 1.45, 1.5. Perhatikan bahwa angka pertama adalah rata-rata 1,5 dan 1,4 (angka kedua dan pertama) yang kedua (daftar baru) adalah rata-rata 1,4 dan 1,5 (daftar ketiga dan kedua) yang ketiga (daftar baru) rata-rata 1,5 dan 1,4 (Keempat dan ketiga), dan seterusnya. Saya bisa membuatnya periode tiga atau empat, atau n. Perhatikan bagaimana datanya jauh lebih mulus. Cara yang baik untuk melihat moving averages di tempat kerja adalah pergi ke Google Finance, pilih saham (coba Tesla Motors cukup mudah menguap (TSLA)) dan klik pada bagian teknis di bagian bawah grafik. Pilih Moving Average dengan periode tertentu, dan moving average eksponensial untuk membandingkan perbedaannya. Rata-rata pergerakan eksponensial hanyalah penjabaran lain dari hal ini, namun bobot data yang lebih tua kurang dari data baru ini adalah cara untuk meratakan perataan ke arah belakang. Silahkan baca entri Wikipedia. Jadi, ini lebih merupakan komentar daripada sebuah jawaban, tapi kotak komentar kecil itu hanya untuk mungil. Semoga berhasil. Jika Anda mengalami masalah dengan matematika, Anda bisa pergi dengan rata-rata bergerak sederhana daripada eksponensial. Jadi output yang Anda dapatkan akan menjadi hal x terakhir yang dibagi dengan x. Pseudocode yang tidak teruji: Perhatikan bahwa Anda perlu menangani bagian awal dan akhir data karena dengan jelas Anda tidak dapat menghitung 5 persyaratan terakhir saat Anda berada di titik data kedua Anda. Juga, ada cara yang lebih efisien untuk menghitung rata-rata pergerakan ini (jumlah penjumlah - tertua terbaru), namun ini adalah untuk mendapatkan konsep tentang apa yang terjadi. Jawab 8 Feb 12 jam 20:41

Comments

Popular posts from this blog

Mudah forex kantor

Belajar forex in 24 jam

Download robot forex gratis untuk mt4