PDA

View Full Version : Soalan Penunjuk Histogram



Spino
07-07-2009 06:39, 06:39 AM
Halo,
Bolehkah seseorang tolong bantu saya dengan menghantar kod minimum lengkap yang diperlukan untuk meramalkan nilai untuk histogram? (Nilai yang saya bekerjasama adalah perbezaan pip anda antara Pair1 dan Pair2 misalnya)

Saya telah mengacaukannya dengan mencuri bit dari sini dan di sana, tetapi dari bit yang saya telah disalin dari petunjuk lain saya tidak dapat menyelesaikan cara untuk menentukan titik 0 untuk bar histogram berasal, atau jumlah pub kembali untuk dikira. Saya ingin mendapatkan julat /-.

Terima kasih banyak.
John

hfoiha
12-03-2021 20:33, 08:33 PM
Hai John, Harap ini akan menjadi satu langkah lebih dekat. Daripada apa-apa ia memperlihatkan pekerjaan yang berhampiran sebagai sebahagian daripada ketinggian lilin ini. Julat subwindow penunjuk ditetapkan oleh: #property indior_minimum -10 #property indior_maximum 110 Levels (garis putus-putus, opsional) ditandai dengan: #property indior_level1 100 #property indior_level2 0 Jumlah bar histogram ditetapkan oleh gelung: untuk (int I = 0; ilt; Bar; I ) {0 = pub paling kanan (terkini) di carta Bar = pembolehubah yang dipratentukan memberikan nombor carta bar Daun Kod Tertakluk/ ---------------- -------------------------------------------------- /| Sampel histogram.mq4 |/ ----------------------------------------------- ------------------- #property indior_separate_window #property indior_minimum -10 #property indior_maximum 110 #property indior_level1 100 #property indior_level2 0 #property indior_buffers 1 dual HistBuffer # 91; # 93 ;;/p ----------------------------------------------- ------------------- int init ()/p ----------------------- ------------------------------------------- SetIndexBuffer (0, HistBuffer) ; SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 3, Merah); Petunjuk Petunjuk (0); pulangan (0);/ ----------------------------------------------- ------------------- int deinit ()/ ----------------------- ------------------------------------------- return (0);/ ----------------------------------------------- ------------------- int begin ()/ ----------------------- ------------------------------------------- untuk (int I = 0 ; ilt; Bar; I ) jika (Atas # 91; I # 93; -Low # 91; I # 93; gt; 0) HistBuffer # 91; I # 93; = 100 * (Tutup # 91; I # 93; -Low # 91; I # 93; -RRB-(Atas # 91; I # 93; -Low # 91; I # 93; -RRB-; return (0 );

Spino
12-03-2021 21:54, 09:54 PM
Hai David, Terima kasih banyak! Ini pasti akan membantu saya dengan cara saya. Yang terbaik, John

Spino
12-03-2021 23:15, 11:15 PM
Ok mendapat kerja. Terdapat beberapa isu. Pertama, izinkan saya menerangkan apa yang saya cuba lakukan. Saya mahu membandingkan perbezaan pip antara Pair1 dan Pair2 (dalam contoh ini EURUSD dan GBPUSD). Saya menggunakan harga pembukaan hari sejak titik sifar. Oleh itu, kami menganggap harga terbuka 1.6120 dan tolak harga semasa 1.6100 dan kita lihat bahawa harga telah menurunkan 20 pip pada masa ini. Adakah yang sama untuk pasangan lain dan fikirkan langkah 40 pip (misalnya). Jadi katakan kami mempunyai GBPUSD = -LRB - 20) dan EURUSD = -LRB - 40). Kita dapat melihat bahawa kedua-dua pasang turun dari yang terbuka, dan EUR maju dalam pergerakan dengan 20 pips. Apa yang saya cuba lakukan ialah membuat histogram kecil yang indah yang menunjukkan saya jurang ini. Kod di bawah (yang dipotong dan dilekatkan oleh saya oleh penunjuk Swingman yang disusun, dan sekeping dari atas) memang cukup tepat apa yang saya mahu. Pada masa ini, ia hanya memaparkan harga dari sekitar histogram (untuk satu pasangan), dan ini membawa saya kepada masalah nombor1. Isu # 1) Pada masa ini, penunjuk itu dilukis dengan tanda kutip. Mana yang sangat baik, tetapi jika anda memuatkannya ke carta baru, anda perlu menunggu jamminithari untuk memilikinya dengan data. Adakah terdapat cara untuk memanggil cetakan sebelumnya (saya menganggap bahawa perkara yang sama sama dengan huh berhampiran?) Dan meniru semua bar selain bar semasa? Adakah panggilan yang lebih baik daripada MarketInfo Mode_Bid untuk mengira ini dengan? Isu # 2) Yang lebih maju, tetapi mungkin untuk menunjukkan tampalan di atasbawah histogram ini untuk menandakan tinggirendah, seperti pada penyamaan stereo, kerana bar histo mungkin memukul tinggirendah kemudian dirawat semula sebelum tutup? Isu # 3) Sekarang saya secara manual memasuki tarikh permulaan. Apa yang akan menjadi kod untuk mempunyai penunjuk secara automatik bermula pada lilin 1M terbuka? Pemikiran saya boleh menjadi bodoh, tetapi saya ingin memainkannya hingga akhirnya. Saya berharap untuk menggunakan penunjuk ini untuk memvisualisasikan julat antara pip antara pasangan yang disambungkan. Pemikiran saya adalah, jika ada kemungkinan untuk merasakan pelbagai korelasi setiap hari, maka anda boleh memasuki perdagangan apabila anda berada di bahagian paling luas, dan perdagangan kembali ke pusat. Jika sesiapa mempunyai idea tentang beberapa perkara di atas, saya semua telinga. Ini adalah sesuatu yang saya ingin menulis sendiri tetapi bantuan anda untuk mengarahkan saya ke arah yang ideal akan dihargai. Terima kasih John Inserted Code/ ------------------------------------------- ----------------------- /| Sampel histogram.mq4 |/ ----------------------------------------------- ------------------- #property indior_separate_window #property indior_minimum -100 #property indior_maximum 150 #property indior_level1 100 #property indior_level2 -150 #property indior_buffers 1 dual HistBuffer # 91; # 93 ;; tali luaran Pair1 = GBPUSD; tali luaran Pair2 = EURUSD; extern int StartDate = D'2009.7.8 00:00 '; ketinggian luaran StartingTimeCorr= 2009.07.08 00:00; extern int TFperiod = 60; extern int lebihBars = 0; dual ExtMapBuffer1 # 91; # 93 ;; dual ExtMapBuffer2 # 91; # 93 ;; dual dPoint; int iWindow; int firstBar; int _BarsCount, _LastBar; int init () SetIndexBuffer (0, HistBuffer); SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 3, Merah); Petunjuk Petunjuk (4); pulangan (0);/ ----------------------------------------------- ------------------- int deinit () return (0);/ ----------------------------------------------- ------------------- int start () dual Price_1 = MarketInfo (Pair1, MODE_ASK); dwi Open_Pair1 = iOpen (Pair1, PERIOD_M1, iBarShift (NULL, PERIOD_M1, StartDate, Benar)); firstBar = iBarShift (NULL, TFperiod, StrToTime (StartingTimeCorr), benar); harus (firstBar lt; 0) Pemberitahuan (StartingTimeCorr nampaknya salah.); pulangan (0); RefreshRates (); ArrayInitialize (ExtMapBuffer1, 0.0); ArrayInitialize (ExtMapBuffer2, 0.0); _BarsCount = WindowBarsPerChart () moreBars 1; int _FirstBar = firstBar; int _LastBar = _FirstBar - _BarsCount moreBars 1; harus (_LastBar lt; 0) _LastBar = 0; _BarsCount = _FirstBar moreBars 1; int I = 0;/ilt; Bar; I )/should (Top # 91; I # 93; -Low # 91; I # 93; gt; 0) HistBuffer # 91; I # 93; = (((Price_1) - (Open_Pair1)) * 10000); pulangan (0);

Spino
12-04-2021 00:35, 12:35 AM
Okey. Mendapat lebih kurang bekerja. Anehnya; Saya menerima keputusan yang berbeza apabila ia berada di carta yang berbeza, walaupun kedua-dua carta sepatutnya memanggil butiran yang sama. Apa-apa idea? Kod dimasukkan/ --------------------------------------------- --------------------- /| JM_Pip Differential v1.006. Mq4 |/ ----------------------------------------------- ------------------- #property indior_separate_window #property indior_minimum -200 #property indior_maximum 200 #property indior_level1 100 #property indior_level2 -100 #property indior_level3 -50 #property indior_level4 50 #property indior_level5 0 #property indior_buffers 1/- masukkan parameter extern color FontColor = Red; extern int FontSize = 18; rentetan luar FontType = Arial Black; tali luaran Pair1 = GBPUSD; tali luaran Pair2 = EURUSD; extern int StartDate = D'2009.7.8 00:00 '; ketinggian luar MulaTimeCorr = 2009.07.08 00:00; extern int TFperiod = 60; extern int lebihBars = 0; Julat ganda luaran = 200;/- pemboleh ubah int iWindow; int firstBar; int _BarsCount, _LastBar; double HistBuffer # 91; # 93 ;; double ExtMapBuffer1 # 91; # 93 ;; double ExtMapBuffer2 # 91; # 93 ;; double dPoint;/ ----------------------------------------------- ------------------- /| Fungsi permulaan penunjuk kustom |/ ----------------------------------------------- ------------------- int init () SetIndexBuffer (0, HistBuffer); SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 3, Merah); Petunjuk Petunjuk (0); pulangan (0);/ ----------------------------------------------- ------------------- /| Indikator adat fungsi deinitialization |/ ----------------------------------------------- ------------------- int deinit () ObjectDelete (Pip_Diff_Label); ObjectDelete (Buy_Sell_Label); pulangan (0);/ ----------------------------------------------- ------------------- int start () double Price_1 = MarketInfo (Pair1, MODE_ASK); double Price_2 = MarketInfo (Pair2, MODE_ASK); double Open_Pair1 = iOpen (Pair1, PERIOD_M1, iBarShift (NULL, PERIOD_M1, StartDate, True)); double Open_Pair2 = iOpen (Pair2, PERIOD_M1, iBarShift (NULL, PERIOD_M1, StartDate, True)); double Variance1 = ((Price_1-Open_Pair1) * 10000); double Variance2 = ((Price_2-Open_Pair2) * 10000); double paned = Variance1-Variance2; int Output1 = Variance1; int Output2 = Variance2; firstBar = iBarShift (NULL, TFperiod, StrToTime (StartingTimeCorr), benar); harus (firstBar lt; 0) Pemberitahuan (StartingTimeCorr nampaknya salah.); pulangan (0); RefreshRates (); ArrayInitialize (ExtMapBuffer1, 0.0); ArrayInitialize (ExtMapBuffer2, 0.0); _BarsCount = WindowBarsPerChart () moreBars 1; int _FirstBar = firstBar; int _LastBar = _FirstBar - _BarsCount moreBars 1; harus (_LastBar lt; 0) _LastBar = 0;_BarsCount = _FirstBar moreBars 1; int I = 0;/ilt; Bar; I )/Tambah nombor tebal untuk rentetan tetingkap histogram Pip_Diff = DoubleToStr (Differential, 0); ObjectCreate (Pip_Diff_Label, OBJ_LABEL, 1, 0, 0); ObjectSetText (Pip_Diff_Label, Pip_Diff, FontSize, FontType, FontColor); ObjectSet (Pip_Diff_Label, OBJPROP_CORNER, 1); ObjectSet (Pip_Diff_Label, OBJPROP_XDISTANCE, 1); ObjectSet (Pip_Diff_Label, OBJPROP_YDISTANCE, 1); HistBuffer # 91; I # 93; = Berbeza; IndiorShortName (Differential Pair2 = - LRB- Output2 ) Pair1 = - LRB- Output1 )); pulangan (0);

hfoiha
12-04-2021 01:56, 01:56 AM
Anehnya; Saya menerima keputusan yang berbeza apabila ia berada di carta yang berbeza, walaupun kedua-dua carta sepatutnya memanggil maklumat yang sama. ada idea?
IBarShift (NULL, ...) akan mengembalikan nombor lilin pasangan ini di mana carta dilampirkan. Mungkin iBarShift (Pair1, ...) dan lain-lain akan berfungsi dengan lebih baik? Maaf, saya tidak mempunyai peluang untuk berjalan melalui kod anda secara terperinci, yang saya hanya meneka.

Spino
12-04-2021 03:17, 03:17 AM
Terima kasih, Akan memberikan percubaan itu.

Spino
12-04-2021 04:38, 04:38 AM
Bolehkah seseorang memberi saya idea yang tepat kepada data material? Saya telah melalui bantuan MT4 tetapi ia terlalu misteri untuk saya dalam hal ini. Pada dasarnya saya mempunyai 20 nilai yang saya ingin rata-rata. Saya menggunakan beberapa matematik lain untuk membuat nilai-nilai ini supaya saya tidak boleh menggunakan [harga tutup, selang 20] misalnya. Oleh itu untuk setiap bar saya mencipta beberapa. Lakukan beberapa matematik yang lain dan saya ingin rata-rata nilai 20 bar terakhir nombor. Saya membayangkan pelbagai adalah cara untuk melakukannya, tetapi saya hilang di mana untuk bermula. Mana-mana petunjuk akan sangat dihargai. John kerana

messays
12-04-2021 05:58, 05:58 AM
Double myarray [20]; myarray [0] = value1;myarray nilai awal [1] = value2;/nilai kedua. . . Myarray [19] = value20;/20 bernilai averageval = 0; untuk (int I = 0; ilt; 20; I ) averageval = averageval myarray [I]; averageval = averageval20;

Spino
12-04-2021 07:19, 07:19 AM
Hi Evan, Terima kasih banyak untuk itu. Bolehkah anda membantu penjelasan ringkas tentang apa yang saya lakukan untuk diri saya dan apa yang dilakukannya di dalam kod di atas? Saya faham ia menambah 1 kepada dirinya sendiri dan sebagainya, tetapi saya sedikit kabur dengan itu. John kerana

hfoiha
12-04-2021 08:40, 08:40 AM
Hi Evan, Terima kasih banyak untuk itu. Bolehkah anda membantu penjelasan ringkas mengenai apa yang saya lakukan untuk diri saya dan apa yang dilakukannya di dalam kod di atas? Saya faham ia menambah 1 kepada dirinya sendiri dan sebagainya, tetapi saya sedikit kabur dengan itu. Terima kasih John
John, Kenyataan untuk (int I = 0; ilt; 20; I ) menetapkan 'gelung'. - Segmen sebelum separuh kolon pertama int = 0 menentukan piawai permulaan, iaitu pembolehubah ditetapkan kepada nilai 0. - Segmen sebelum titik separuh kolon kedua; 20 memutuskan keadaan yang diperlukan untuk mengekalkan gelung 'hidup', iaitu saya sepatutnya kekal kurang dari 20. Pada masa ini keadaan ini tidak lagi wujud, iaitu saya mencapai nilai 20, gelung itu berakhir, dan program yang diuji dengan pernyataan pertama yang keluar dari pendakap kerinting, iaitu averageval = averageval20; - Segmen sebelum titik separuh kolon kedua; 20 berlaku semasa setiap lelaran gelung. I boleh ditakrifkan untuk I = I 1, iaitu menambah nilai I dengan 1. Segala sesuatu dalam kurungan kurungan averageval = averageval myarray [I]; akan dilaksanakan sebelum nilai meningkat. Lihat
http://docs.mql4.com/basis/operators/foruntuk maklumat lanjut.

Spino
12-04-2021 10:01, 10:01 AM
Itu hebat. Sangat membantu. Terima kasih banyak. John

kofecokde
12-04-2021 11:22, 11:22 AM
Di samping itu, saya mempunyai pertanyaan, bolehkah ia menarik histogram dalam tetingkap yang sama dengan carta? (wo menggunakan objek untuk menariknya secara manual 1 by 1), Sama seperti histogram Volum jika kami Membolehkan tunjukkan Volum dalam pilihan cartahartanah Terima kasih terlebih dahulu

azcohen
12-04-2021 12:42, 12:42 PM
Hello jm1941 bolehkah anda menyiarkan versi akhir terkini ... di atas? Tertarik di dalam! Salam

Okhe.DLR
12-04-2021 14:03, 02:03 PM
1 Lampiran

Hai, Bisakah seseorang tolong bantu saya dengan memposting kod minimal mutlak yang perlu untuk merencanakan nilai untuk histogram? (Nilai yang saya bekerjasama adalah jurang pip antara Pair1 dan Pair2 misalnya) Saya telah mengacaukannya dengan menipu bit dari sini dan di sana, tetapi dari bit yang saya telah disalin dari petunjuk lain saya tidak dapat bersenam bagaimana menentukan titik 0 untuk bar histogram muncul, atau bilangan bar kembali dikira. Saya ingin mendapatkan julat /-. Terima kasih banyak. John
-------------------- Hi saya mahu jadual Pip berbeza melibatkan Pair1 vs Pair2 untuk setup perdagangan. Lihat sambungan Jason Pdf
https://www.justgetforex.com/attachments/15189548401627815570.pdf