PDA

View Full Version : Soalan pengaturcaraan



Saoxnha31
07-27-2006 08:19, 08:19 AM
Hai

Saya baru mengenali metatrader walaupun saya telah melakukan banyak pengaturcaraan c dalam masa saya! Saya amat berterima kasih jika seseorang menjawab beberapa soalan mengenai EA:

1) Fungsi Bar mengembalikan no. daripada bar pada carta semasa jadi saya merujuk bar semasa sebagai Bar(0) dan Bar sebelumnya sebagai Bar(1) ... adakah itu betul?

2) Jika saya hanya mahu EA saya dilaksanakan terhadap harga penutupan bar sebelumnya apabila bar semasa dibuka - apakah cara terbaik untuk memprogramkannya? Saya tidak mahu isyarat dibenderakan berjuta kali semasa bar semasa?

3) Apabila carta pertama kali muncul, saya ingin ia menandakan semua mata panjang/pendek/tutup tetapi jelas sekali tidak mencetuskan perdagangan melainkan ia adalah bar semasa - apakah cara terbaik untuk mengendalikannya?


terima kasih

Paul

Hifamfodfikwz7
05-21-2023 19:23, 07:23 PM
Hai,

Hai 1) Bar fungsi mengembalikan no. daripada bar pada carta semasa jadi saya merujuk bar semasa sebagai Bar(0) dan Bar sebelumnya sebagai Bar(1) ... adakah itu betul?
Tiada fungsi Bar dalam MT4 setakat yang saya tahu. Tetapi penegasan anda betul, anda biasanya merujuk bar semasa menggunakan nilai indeks 0, 1 sebelumnya, dsb.

Hai 2) Jika saya hanya mahu EA saya dilaksanakan berbanding harga penutupan bar sebelumnya apabila bar semasa dibuka - apakah cara terbaik untuk memprogramkannya? Saya tidak mahu isyarat dibenderakan berjuta kali semasa bar semasa?
Hm, pemikiran cepat, penyelesaiannya adalah dengan menyemak masa pada carta dengan cara yang berkaitan dengan jangka masa anda. Contohnya untuk jangka masa 1H anda menyimpan pembolehubah global yang mengandungi bahagian jam masa apabila fungsi Mula() terakhir dipanggil. Jadi setiap kali fungsi Start() anda dipanggil, anda tahu bahawa ia dipanggil sekurang-kurangnya sekali jika nilai var global dan bahagian jam adalah sama. Adakah anda tahu apa yang saya maksudkan? Ini adalah penyelesaian cepat dari minda seorang pengaturcara, ia mungkin cara yang lebih bersih untuk melakukannya, jika sesiapa tahu sila beritahu.

Hai 3) Apabila carta pertama kali muncul, saya ingin ia menandakan semua mata panjang/pendek/tutup tetapi jelas sekali tidak mencetuskan perdagangan melainkan ia adalah bar semasa - apakah cara terbaik untuk mengendalikannya?
Sekali lagi gunakan var boolean global yang benar apabila MT memanggil fungsi start() buat kali pertama. Dalam start() jika var ini benar, anda hanya perlu melayari semua bar yang tersedia dan anak panah plase di mana perdagangan akan diambil. Sekarang tetapkan anda var kepada false dan kembali kepada tugas fungsi Start() biasa anda. Semoga ia membantu

Saoxnha31
05-21-2023 20:45, 08:45 PM
soso terima kasih banyak - saya akan bermain! Paul

ssssssssilvay
05-21-2023 22:07, 10:07 PM
1) Fungsi Bar mengembalikan no. daripada bar pada carta semasa jadi saya merujuk bar semasa sebagai Bar(0) dan Bar sebelumnya sebagai Bar(1) ... adakah itu betul?
Anda memikirkan fungsi Bar (bukan Bar) yang melakukan apa yang anda katakan, namun ia adalah tetap dan anda tidak boleh mengakses bar individu dengan cara itu. Sebaliknya anda boleh mengakses Tinggi, Rendah, Buka dan Tutup setiap bar melalui: Buka[0], Tinggi[0], Rendah[0], Tutup[0] (untuk bar semasa) Buka[1], Tinggi[1] , Rendah[1], Tutup[1] (untuk bar sebelumnya dsb.) penyelesaian lain soso untuk 2 dan 3 mungkin akan berfungsi dengan baik.