PDA

View Full Version : Tidak boleh mengambil ini lagi !! (iMaOnArray)



Wivlyx
05-02-2010 09:08, 09:08 AM
Hello semua! Saya akan pergi terus ke pentas:

Ini adalah kod:


dual AUX [22];
duanya EMASMAANGLE = 0;
int j = 0;
untuk (j = 0; jlt; 21; j )
AUX [j] = iCustom (NULL, 0, SMAAngle, 0, j);

EMASMAANGLE = iMAOnArray (AUX, 21,21,0, MODE_EMA, j);

Pemberitahuan (EMASMAANGLE);


Bukankah ini memberi saya amaran bersama dengan EMA (21) daripada 21 penunjuk EMA Angle terakhir mereka?
Ini mengembalikan 0 sebaliknya !!

Terima kasih!

Suaveseda
09-06-2021 06:45, 06:45 AM
Anda harus mengandungi lebih terperinci, ketika memposting masalah seperti ini. Saya biasanya mengabaikan penyiaran yang tidak lengkap seperti ini. Saya meneka bahawa anda melihat isyarat popup dengan 0 sebagai sudut. Ini adalah masalah yang mudah, jika itu berlaku - anda mahu memformat nilai EMASMANGLE. Gunakan tujuan DoubleToString () untuk melaksanakannya. Anda akan menemui butirannya. Sekiranya saya salah, anda perlu memberi lebih banyak maklumat.

Parlhhdc
09-06-2021 08:06, 08:06 AM
Jika anda menghantar kod, lebih baik menggunakan tag kod forum. Membuat lebih mudah untuk dibaca dan anda lebih cenderung untuk mendapatkan jawapan. Lux

Wivlyx
09-06-2021 09:27, 09:27 AM
Im maaf saya telah menghabiskan banyak waktu untuk membaikinya, dan saya mengandaikan bahawa dengan menghantar kod itu sesiapa pun akan memahami masalahnya, saya telah mengubah kod itu untuk yang satu ini: Kod dimasukkan dual AUX # 91; 21 # 93 ;; duanya EMASMAANGLE = 0; int j = 0; untuk (j = 0; jlt; 21; j ) AUX # 91; 20-j # 93; = iCustom (NULL, 0, SMAAngle, 0, j); EMASMAANGLE = iMAOnArray (AUX, 21,21,0, MODE_EMA, 0); Pemberitahuan (DoubleToStr (EMASMAANGLE, 8)); Salah satu isu yang anda sudah ajar saya bagaimana untuk membetulkannya. Dengan isyarat pop timbul dengan betul ditunjukkan, saya memerlukan nilai yang dinyatakan sebagai EMA (21) dari nilai-nilai yang disimpan dalam faktor AUX. Walau bagaimanapun, nilai yang saya dapat tidak sepadan dengan yang di dalam carta, dan mereka sepatutnya sama. Saya memeriksa nilai-nilai yang disimpan dalam AUX dengan peringatan dan ia disimpan dengan betul, jadi fail itu adalah dalam Kod Insert iMAOnArray (AUX, 21,21,0, MODE_EMA, 0); Dengan cara saya menilai menukar maklumat AUX dan tidak berfungsi. Hanya satu perkara lagi: Terima kasih atas bantuan!

Suaveseda
09-06-2021 10:48, 10:48 AM
Untuk membetulkan tanggapan palsu bahawa anda dan orang lain mempunyai pengaturcara tidak hanya boleh melihat berpuluh-puluh baris kod dan mengetahui apa yang salah kecuali apabila ia jelas. Walaupun ia tidak mungkin dan jadi ia menjadi satu proses penghapusan. Sekali lagi saya membayangkan. Nampaknya anda ingin mengira nilai untuk keseluruhan array bukan hanya 21 nilai. Saya fikir panggilan itu harus iMAOnArray (AUX, 0, 21,0, MODE_EMA, j);

Wivlyx
09-06-2021 12:08, 12:08 PM
Ya, betul-betul apa yang saya maksudkan adalah bahawa saya telah membelanjakan masa yang lama untuk saya tidak dapat menyedari apa yang anda nyatakan Seperti apa yang saya cuba untuk mendapatkan, saya akan cuba menjelaskannya supaya anda tidak perlu melihat hehe .... Saya mempunyai penunjuk (SMAAngle) yang mempunyai satu nilai berangka dengan setiap bar (yang bukan garis tetap, hanya 1 nilai setiap bar) Selepas itu, atas penunjuk itu, saya meletakkan EMA dengan tempoh = 21, dan menukar 0, dilaksanakan kursus kepada penunjuk yang bernilai itu. Apa yang saya ingin dapatkan hanyalah nilai terkini EMA tersebut. Jadi dengan menggunakan pengaturcaraan: * Rangkaian AUX mempunyai 21 (dan hanya 21) nilai terbaru penunjuk SMA ini Keputusan saya menilai nilai-nilai dari AUX julat dan mereka menyimpan dengan betul bernilai penunjuk SMAI Keputusan Saya mengambil Kod Insert EMASMAANGLE = iMAOnArray (AUX, 21,21,0, MODE_EMA, 0); daripada lelaran ini, kerana saya hanya mahu nilai terkini. Haruskah EMASMAANGLE mengembalikan nilai terbaru EMA (21) penunjuk SMA ini?

Suaveseda
09-06-2021 13:29, 01:29 PM
Kemudian kod yang anda tulis hendaklah melakukan kerja itu, jika anda hanya mempertimbangkan nilai untuk pub paling terkini. Walau bagaimanapun, saya harus menunjukkan nilai-nilai lain tidak betul dan saya menganggap bahawa masalah itu. Saya tidak begitu terkenal dengan IMAOnArray () jadi apa yang saya lakukan dalam situasi ini adalah mencari sebahagian daripada kod yang berfungsi dan bandingkan dengan kod saya dan mencari masalah melalui proses penyingkiran. Terdapat beberapa petunjuk yang datang dengan MT4 seperti MACD dan ATR yang menggunakan IMAOnArray (). Saya akan mencadangkan anda menjadi familar dengan mereka dan anda akan mencari masalah.

Pan
09-06-2021 14:50, 02:50 PM
It is my hope that this can offer some help. PHP Code: <code><span style=???color: #000000???> <span style=???color: #0000BB???></span><span style=???color: #FF8000???>//--buffers</span><span style=???color: #0000BB???>doubleAUX</span><span style=???color: #007700???>#91;#93;;</span><span style=???color: #0000BB???>doubleEMASMAANGLE</span><span style=???color: #007700???>#91;#93;;</span><span style=???color: #FF8000???>//------------------------</span><span style=???color: #007700???>for(</span><span style=???color: #0000BB???>intj</span><span style=???color: #007700???>=</span><span style=???color: #0000BB???>0</span><span style=???color: #007700???>;</span><span style=???color: #0000BB???>j</span><span style=???color: #007700???>lt;</span><span style=???color: #0000BB???>21</span><span style=???color: #007700???>;</span><span style=???color: #0000BB???>j</span><span style=???color: #007700???> )</span><span style=???color: #0000BB???>AUX</span><span style=???color: #007700???>#91;</span><span style=???color: #0000BB???>j</span><span style=???color: #007700???>#93;=</span><span style=???color: #0000BB???>iCustom</span><span style=???color: #007700???>(</span><span style=???color: #0000BB???>NULL</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>0</span><span style=???color: #007700???>,</span><span style=???color: #DD0000???>???SMAAngle???</span><span style=???color: #007700???>,</span><span style=???color: #FF8000???>/*entercustomindiorparametershereifnecessary*/</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>0</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>j</span><span style=???color: #007700???>);</span><span style=???color: #0000BB???>intcounted_bars</span><span style=???color: #007700???>=</span><span style=???color: #0000BB???>IndiorCounted</span><span style=???color: #007700???>();</span><span style=???color: #0000BB???>intlimit</span><span style=???color: #007700???>=</span><span style=???color: #0000BB???>Bars</span><span style=???color: #007700???>-</span><span style=???color: #0000BB???>counted_bars</span><span style=???color: #007700???>;for(</span><span style=???color: #0000BB???>inti</span><span style=???color: #007700???>=</span><span style=???color: #0000BB???>0</span><span style=???color: #007700???>;</span><span style=???color: #0000BB???>I</span><span style=???color: #007700???>lt;</span><span style=???color: #0000BB???>restrict</span><span style=???color: #007700???>;</span><span style=???color: #0000BB???>I</span><span style=???color: #007700???> )</span><span style=???color: #0000BB???>EMASMAANGLE</span><span style=???color: #007700???>#91;</span><span style=???color: #0000BB???>I</span><span style=???color: #007700???>#93;=</span><span style=???color: #0000BB???>iMAOnArray</span><span style=???color: #007700???>(</span><span style=???color: #0000BB???>AUX</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>Bars</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>21</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>0</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>MODE_EMA</span><span style=???color: #007700???>,</span><span style=???color: #0000BB???>I</span><span style=???color: #007700???>);</span><span style=???color: #0000BB???>Alert</span><span style=???color: #007700???>(</span><span style=???color: #0000BB???>DoubleToStr</span><span style=???color: #007700???>(</span><span style=???color: #0000BB???>EMASMAANGLE</span><span style=???color: #007700???>#91;</span><span style=???color: #0000BB???>I</span><span style=???color: #007700???>#93;,</span><span style=???color: #0000BB???>8</span><span style=???color: #007700???>)); </span><span style=???color: #0000BB???></span> </span> </code>

Wivlyx
09-06-2021 16:11, 04:11 PM
Saya akan meneliti mengenai petunjuk yang anda nyatakan CodeMeister. Unaiz, kod yang anda kongsi akan mendapat pop dengan nilai 0. Terima kasih atas bantuan dan masa anda, Jika saya mendapat penyelesaian, saya akan hantar.

Suaveseda
09-06-2021 17:32, 05:32 PM
Saya teringat sesuatu yang lain pagi ini mengenai iMAOnArray (). Ia tidak boleh digunakan dalam EA. Saya masih ingat bergelut dengan ini selama berjam-jam - hanya apabila saya mencari kod sampel dan akhirnya menyukai anda yang saya dapati. Apa yang saya lakukan akhirnya menggunakan iMAOnArray () dalam penunjuk dan mendapatkan kembali nilai dengan cara iCustom (). Maaf saya tidak ingat ini dalam repon saya yang terdahulu. Jangan buang lagi, saya ragu sama ada ia boleh dijalankan.
http://forum.mql4.com/9228

Wivlyx
09-06-2021 18:52, 06:52 PM
Terima kasih, saya fikir penyelesaian paling bijak sekarang adalah untuk menggunakan formula EMA21 ke dalam array yang saya dapat dengan data. Saya telah menilai tetapi cant mencari formula EMA yang digunakan pada metatrader, saya menggunakan yang dibekalkan dalam pautan di bawah:
http://stockcharts.com/school/doku.php?id=chart_school:technical_indiors:moving_ averages#exponential_moving_aSelepas menggunakan formulasi itu, kod yang saya dapat ialah satu: Kod dimasukkan dua kali AUX1 = 0; double EMASMAANGLE = 0; int j = 0; untuk (j = 0; jlt; 21; j ) AUX1 = EMASMAANGLE; EMASMAANGLE = iCustom (NULL, 0, SMAAngle, 0, j 21) AUX1; AUX1 = EMASMAANGLE; EMASMAANGLE = AUX121; j = 0; untuk (j = 0; jlt; 21; j ) AUX1 = EMASMAANGLE; EMASMAANGLE = AUX1 ((iCustom (NULL, 0, SMAAngle, 0, 20 - j) -AUX1))11;/EMA (semasa) = ((Harga (semasa) - EMA (prev)) x Multiplier) EMA (prev) Alert (DoubleToStr (EMASMAANGLE, 8)); Ia tidak memberi saya jumlah yang tepat yang dikira yang diberikan oleh carta, tetapi saya rasa hampir seperti yang saya akan dapatkan ^ _ ^ Thx lagi

ladymedici
09-06-2021 20:13, 08:13 PM
Hai semua! Saya akan pergi terus ke pentas: Berikut adalah kod: dual AUX [22]; duanya EMASMAANGLE = 0; int j = 0; untuk (j = 0; jlt; 21; j ) AUX [j] = iCustom (NULL, 0, SMAAngle, 0, j); EMASMAANGLE = iMAOnArray (AUX, 21,21,0, MODE_EMA, j); Pemberitahuan (EMASMAANGLE); Tidakkah itu memberi saya amaran bersama-sama dengan semua EMA (21) daripada 21 penunjuk nilai EMAAngle terakhir? Ini kembali 0 agak !! Terima kasih!
Hello Armagedoom, Anda boleh menggunakan pengiraan ema Standard: Kod PHP: <code> <span style = ???color: # 000000???> </span> <span style = ???color: # FF8000 ???>/ConvertEmaPeriod (21) toSmoothFactor: </span> <span style =??? color: # 0000BB ???> doubleSF </span> <span style =??? color: # 007700 ???> = </Span> <span style = ???color: # 007700???>(</span> <span style = ???color: # 0000BB???> 21 </span> <span style = ???Warna: # 007700???> </span> <span style = ???color: # 0000BB???> 1 </span> <span style = ???color: </span> <span style = ???Color: # 0000BB???> iCustom </span> <span style = ???color: # 007700???> (</span> <span style = ???color: # 0000BB???> NULL </span> <span style = : # 007700 ???>, </span> <span style =??? color: # 0000BB ???> 0 </span> <span style =??? color: # 007700 ???>, </span> <span style =??? co </span> <span style = ???color: # 0000BB???> 0 </span> <span style = ???color: # 007700???> < warna: # 007700 ???>, </span> <span style =??? color: # 0000BB ???> 21 </span> <span style =??? color: # 007700 ???>); </span> <span style =??? color : # FF8000 ???>Iteratethenextema, startfromtheoldestdata: </span> <span style =??? color: # 007700 ???> for (</span> <span style =??? color: # 0000BB ???> j </span> <span style <Span style = ???color: # 007700???>; </span> <span style = ???color: # 0000BB???> 20 </span> 0000BB ???> j </span> <span style =??? color: # 007700 ???> gt; = </span> <span style =??? color: <span style = ???color: # 007700???> -) </span> <span style = ???color: # 0000BB???> j </span> warna: # 0000BB ???> EmaSmaAngle </span> <span style =??? color: # 007700 ???> = </span> <span style =??? color: # 0000BB ???> EmaSmaAngle </span> <span style = # 007700 ???> </span> <span style =??? color: # 0000BB > SF </span> <span style = ???color: # 007700???> * (</span> <span style = ???color: # 0000BB???> iCustom </span> <span style = ???color: # 007700???> </span> <span style = ???color: # 007700???>, </span> <span style = ???color: # 0000BB???> 0 < <span style = ???color: # 007700???>, </span> <span style = ???color: # DD0000???> ???SMAAngle??? <span style = ???color: # 0000BB???> 0 </span> <span style = ???color: # 007700???>, </span> <span style = ???color: # 0000BB???> j </span <span style = ???color: # 007700???>) - </span> <span style = ???color: # 0000BB???> EmaSmaAngle </span> <span style = ???color: # 007700???>); </span <span style = ???color: # 0000BB???> Peringatan </span> <span style = ???color: # 007700???> (</span> <span style = ???color: # 0000BB???> EmaSmaAngle < span style = ???color: # 007700???>); </span> <span style = ???color: # 0000BB???> </span> </span> </code>

Suaveseda
09-06-2021 21:34, 09:34 PM
Terdapat banyak contoh kod yang menggunakan iMAOnArray () dalam indikator. Lihat sahaja dan bandingkan dengan kod anda sendiri.

danixdd
09-06-2021 22:55, 10:55 PM
Saya mempunyai masalah yang sama sekarang, sangat frustrasi.

Saya teringat sesuatu yang lain pagi ini mengenai iMAOnArray (). Ia tidak boleh digunakan dalam EA. Saya ingat berjuang dengan ini selama berjam-jam - hanya apabila saya mencari kod sampel dan akhirnya menyukai anda saya mendapati bahawa thread perbincangan ini yang mengesahkan syak wasangka saya. Apa yang saya lakukan akhirnya menggunakan iMAOnArray () dalam penunjuk dan mendapatkan kembali nilai dengan cara iCustom (). Maaf, saya tidak ingat perkara ini dalam tindak balas saya sebelum ini. Jangan buang masa lagi, saya ragu-ragu jika ia boleh dijalankan.
Http://forum.mql4.com/9228Saya menggunakan iMAOnArray () dalam penunjuk saya, dan ia terus kembali 0 dan telah membangkitkan seluruh kerja saya.