Bagaimana cara membandingkan satu nilai ke beberapa opsi?
Halaman 1 dari 462 12 TerakhirTerakhir
Results 1 to 10 of 16

Thread: Bagaimana cara membandingkan satu nilai ke beberapa opsi?

  1. #1
    Bagaimana ini bisa berfungsi? ... if (Menit () == (11 || 15 || 18) test = true;

    Apakah ada cara untuk memiliki nilai tunggal membandingkan beberapa opsi seperti di atas? atau apakah itu harus jika (Menit == 11 | | Minute () == 15 || Menit () == 18);

  2. #2

    Quote Originally Posted by ;
    Bagaimana ini bisa bekerja? ... if (Menit () == (11 || 15 || 18) test = true; Apakah ada cara untuk memiliki nilai tunggal membandingkan beberapa opsi seperti di atas? Atau apakah itu harus jika (Menit () == 11 || Menit () == 15 || Menit () == 18);
    Tidak ada cara mudah untuk memeriksa keanggotaan seperti di python. Anda harus membuat func ... Inserted Code membatalkan OnStart () {int minutes # 91; # 93; = {1,5,15,23,35,45,53}; Print (is_in (35, menit));/true} templatelt; typename Tgt; bool is_in (T check_value, T array # 91; # 93 {for (int i = ArraySize (array) -1; igt; = 0; i--) if (check_value == array # 91; i # 93; ) mengembalikan nilai true; return false; }

  3. #3
    Terima kasih atas jawaban cepat Nicholishen .. Saya benar-benar berusaha untuk tidak perlu membuat fungsi dan atau berurusan dengan array untuk hal yang sederhana .. Jadi saya kira jawaban yang mudah (bodoh) adalah .. if (Menit) = 11 || Menit () == 15 || Menit () == 18) test = true;

  4. #4

    Quote Originally Posted by ;
    Terima kasih atas jawaban cepat .. Saya benar-benar mencoba untuk tidak perlu membuat fungsi dan atau berurusan dengan array untuk hal yang sederhana .. Jadi saya kira jawaban yang mudah (bodoh) adalah .. if (Menit () == 11 || Menit () == 15 || Menit () == 18) test = true;
    Itu tidak optimal karena Anda memanggil fungsi Menit beberapa kali. Pertama panggil fungsi menit lalu tetapkan ke variabel lalu bandingkan variabel beberapa kali.

  5. #5
    Ok ... Hanya akan memanggil fungsi menit sekali .. Saya terkejut Anda tidak bisa membandingkan jika (x == (y || z || w)) melakukan sesuatu;

  6. #6

    Quote Originally Posted by ;
    Ok ... Hanya akan memanggil fungsi menit sekali .. Saya terkejut Anda tidak bisa membandingkan jika (x == (y || z || w)) melakukan sesuatu;
    Sebagian besar bahasa pemrograman tidak memungkinkan untuk ekspresi seperti ini. Dalam python Anda dapat melakukan hal-hal keren seperti Kode Disisipkan jika x di # 91; y, z, w # 93 ;:

  7. #7

    Quote Originally Posted by ;
    {quote} Tidak ada cara mudah untuk memeriksa keanggotaan seperti di python. Anda harus membuat func ... void OnStart () {int minutes [] = {1,5,15,23,35,45,53}; Print (is_in (35, menit));/true} templatelt; typename Tgt; bool is_in (T check_value, T array []) {for (int i = ArraySize (array) -1; igt; = 0; i--) if (check_value == array [i]) mengembalikan true; return false; }
    Anda salah ... Anda bahkan tidak membuat loop ... u gunakan template hanya untuk terlihat lebih baik tetapi Anda tidak tahu apa itu template ... apa gunanya mencari array jika tidak mengembalikan indeks ?? ... tes kode Anda sebelum mempublikasikan waktu berikutnya, penuh dengan kesalahan kompilasi ... sedikit sarkastik tetapi saya membaca beberapa komentar Anda di mana Anda sedang mengajar tentang kelas kompleks ketika Anda memiliki masalah dengan hal-hal sederhana seperti itu .... kode Anda Inserted Code membatalkan OnStart () {int minutes # 91; # 93; = {1,5,15,23,35,45,53}; Print (is_in (35, menit));/true} templatelt; typename Tgt; bool is_in (T check_value, T array # 91; # 93 {for (int i = ArraySize (array) -1; igt; = 0; i--) if (check_value == array # 91; i # 93; ) mengembalikan nilai true; return false; } cara yang benar ... menguji templatelt Kode yang dimasukkan; nama kunci Tval, nama kunci Tarrgt; int TArraySearch (Tval val, Tarr arr # 91; # 93 {untuk (int i = 0; ilt; ArraySize (arr); i) {if (val == arr # 91; i # 93 return i;/return index jika val found} return -1;/val not found} void OnTick () {int menit # 91; # 93; = {1,5,15,23,35,45,53}; if (TArraySearch (Menit (), menit)! = - 1) test = true;/seperti memeriksa apakah (OrderOpen (Symbol (), dll ...)! = - 1) ...} @mtbb jika fungsi mengembalikan nilai yang berbeda dari -1 Anda menemukan nomor Anda dan pengujian Anda bisa benar dan nilai Anda diposisikan pada Kode Dimasukkan indeks int = TArraySearch (Menit (), menit);/menit # 91; indeks # 93; memberi Anda akses penuh sekarang di dalam dan Anda dapat memodifikasinya jika array ditentukan di luar OnTick () menit fungsi # 91; indeks # 93; = 16; ... ketika Anda mengembalikan true atau false dari array, Anda benar-benar tidak memiliki ide apa nilai yang ditemukan dan sedikit tidak berguna ... bisa menjadi 5 atau 15 atau angka apa pun di dalam array Anda. Selalu periksa indeks. Mengembalikan indeks memberi Anda akses di dalam array..u mungkin menggunakan fungsi ini dengan array dengan ribuan elemen di dalam mencari nilai dinamis untuk diakses oleh kode Anda.

  8. #8

    Quote Originally Posted by ;
    {quote} saya membaca beberapa komentar Anda di mana Anda sedang mengajar tentang kelas kompleks ketika Anda memiliki masalah dengan hal-hal sederhana seperti itu .... kode Anda batal.
    Ya, tuan, saya bisa memberikan pelajaran tentang cara yang benar untuk menggunakan kelas-kelas MQL - seperti saya akan memberi Anda pelajaran tentang pemikiran buruk Anda dan bantahan agresif ... Jadi mari kita mulai.
    Quote Originally Posted by ;
    ... Anda bahkan tidak membuat lingkaran
    Bukan hanya ini tidak benar, tetapi loop dalam kode saya lebih efisien daripada loop di Anda. Ketika Anda membandingkan fungsi kami, Anda menghitung dan memanggil fungsi ArraySize pada setiap iterasi (O (n)) sementara loop saya menghitung mundur dan hanya memanggil ArraySize sekali (O (1)). Saya jelas memenangkan yang satu ini.
    Quote Originally Posted by ;
    kamu menggunakan template hanya untuk terlihat lebih baik tapi kamu tidak tahu apa itu template ...
    Saya tahu betul cara membuat template dan kode saya benar. Anda, di sisi lain, memiliki bug utama. Anda lihat, Anda perlu memeriksa (pada saat kompilasi) bahwa lt; typegt; nilai yang diperiksa terhadap larik sesuai dengan lt; typegt; dari array yang direferensikan. Anda telah berhasil menentukan dua tipe template yang berbeda ketika Anda seharusnya hanya mendefinisikan satu jenis. Hal ini memungkinkan program Anda untuk memungkinkan kode berikut untuk mengkompilasi (yang merupakan bug utama) Kode Disisipkan string num = satu; int nums # 91; # 93; = {1,2,3}; if (is_in (num, nums)) ... GAGAL
    Quote Originally Posted by ;
    apa gunanya mencari array jika tidak mengembalikan indeks ??
    Fungsi is_in adalah fungsi boolean untuk pengujian keanggotaan. Intinya adalah dapat menggunakan langsung di dalam ekspresi. Anda tidak perlu atau tidak peduli dengan indeks karena Anda hanya peduli untuk menguji apakah nilai A adalah anggota dari daftar B. Jadi untuk kode saya untuk bekerja ekspresi akan Disisipkan Kode jika (is_in (nilai, daftar)) dan milik Anda akan Dimasukkan Kode jika (is_in (nilai, daftar) gt; = 0) Apakah saya bahkan perlu bertanya mana yang lebih bersih?
    Quote Originally Posted by ;
    Mengembalikan indeks memberi Anda akses di dalam larik
    Ini benar-benar berlebihan. Anda baru saja memeriksa apakah nilai Anda ada dalam larik atau tidak. Jika tidak maka tidak ada lagi yang perlu terjadi. Jika tidak maka Anda sudah tahu nilainya dan tidak perlu menyimpan indeks posisinya dalam daftar sewenang-wenang Anda.

  9. #9
    Quote Originally Posted by ;
    {quote} Ya, master, saya bisa memberikan pelajaran tentang cara yang benar untuk menggunakan kelas-kelas MQL - seperti saya akan memberi Anda pelajaran tentang pemikiran buruk Anda dan bantahan agresif ... Jadi mari kita mulai. {quote} Bukan hanya ini salah, tetapi loop dalam kode saya lebih efisien daripada loop di Anda. Ketika Anda membandingkan fungsi kami, Anda menghitung dan memanggil fungsi ArraySize pada setiap iterasi (O (n)) sementara loop saya menghitung mundur dan hanya memanggil ArraySize sekali (O (1)). Saya jelas memenangkan yang satu ini. {kutipan} Saya tahu betul cara membuat template dan ...
    Saya seorang C , pengembang Java dan ... tidak ada yang bisa Anda ajarkan kepada saya.MQL adalah bahasa tingkat super tinggi dan sama sekali tidak ada hubungannya dengan C di mana Anda perlu membangun semuanya dari awal ... di bawah MQL yang Anda miliki dan dapat bermain hanya dengan sekelompok fungsi tingkat tinggi yang didefinisikan oleh perusahaan metatrader ... C seperti ... tapi tidak persis. Ini tidak memberi Anda hak untuk menyebut diri Anda seorang programmer .. Bahasa ini dirancang untuk non-programmer. .. untuk trader lebih tepat. Sekarang saya harap Anda mendapatkan ideea..if Anda benar-benar ingin menjadi programmer pergi ke beberapa forum C dan mencoba mempublikasikan kode Anda untuk melihat beberapa reaksi. Jangan pernah mencoba membandingkan MQL dengan C atau C .... seperti tapi tidak persis. C adalah tentang DirectX, OpenGl, Multithreading, inline assembly, disassembler, detouring, hooking, injecting, sniffing, decrypting, tuneling, input, driver, cross platform, polymorphism dll ... Seluruh fungsi MQL dapat mewakili sesuatu seperti 0,01% dari C . Kamu tidak punya idea betapa sulitnya bermain dengan DirectX dari awal jadi ... tetap tenang dan tarik nafas dalam-dalam. Dan sekarang mari kita perbaiki kode Anda. loop Anda adalah Kode Disisipkan untuk (int i = ArraySize (array) -1; igt; = 0; i--) jika (check_value == array # 91; i # 93 mengembalikan true; return false; Kamu serius??? U bahkan merindukan tanda kurung. Anda selalu salah mengembalikan. Saya tidak memeriksa di dalam array
    Pergi kompilasi kode Anda dan kemudian kembali ke sini untuk mengajar. Sebuah loop terlihat seperti Kode Disisipkan untuk (int i = 0; ilt; bullshit; i ) {ini adalah loop} dan template ... tidak dapat menggunakan dua kali T yang sama seperti yang Anda coba. Jangan minum dan kode pada waktu bersamaan
    .. ini tidak mungkin. Kode templatelt yang dimasukkan; nama kunci Tgt; bool is_in (T check_value, T array # 91; # 93 ini mungkin templatelt Dimasukkan Kode; nama file Tval, nama kunci Tarrgt; int TArraySearch (Tval val, Tarr arr # 91; # 93 U hanya membodohi diri sendiri..setidaknya tidak mengajar. Pergi membaca beberapa buku sebelumnya. selamat datang di daftar abai saya.

  10. #10
    1 Attachment (s)
    Quote Originally Posted by ;
    {quote} Apakah kamu serius? sebuah loop terlihat seperti if (int i = 0; ilt; bullshit; i ) {ini adalah loop} U merindukan kurung bro.Kamu kembali salah selalu.U jangan periksa di dalam array
    Pergi kompilasi omong kosong Anda dan kemudian kembali ke sini untuk mengajar ... lol ... dan template ... tidak dapat menggunakan dua kali T yang sama seperti yang Anda coba. Saya yakin Anda akan menulis kode Anda ke dalam tidur Anda .. bool is_in (T check_value, T array []) ini tidak mungkin. selamat datang di daftar abai saya.
    Saya telah mengkompilasi kode asli saya dan saya mengujinya sebelum saya mempostingnya .... jadi mari kita lanjutkan pelajaran kita. Di MQL, sama seperti di C dan C , Anda tidak perlu kawat gigi. Jika Anda menghilangkan tanda kurung mengikuti loop atau ekspresi, aliran kontrol diteruskan ke loop, ekspresi, atau pernyataan berikutnya secara berurutan. Anda hanya perlu kawat gigi untuk mengidentifikasi blok kode dengan lebih dari satu ekspresi berurutan. Oleh karena itu, kedua blok kode ini identik. Kode templatelt yang dimasukkan; nama kunci Tgt; bool is_in (T check_value, T array # 91; # 93 {for (int i = ArraySize (array) -1; igt; = 0; i--) if (check_value == array # 91; i # 93; ) mengembalikan nilai true; return false; } Kode templatelt yang dimasukkan; nama kunci Tgt; bool is_in (T check_value, T array # 91; # 93 {untuk (int i = ArraySize (array) -1; igt; = 0; i--) {if (check_value == array # 91; i # 93 {kembali benar; }} kembalikan false; }
    Quote Originally Posted by ;
    bool is_in (T check_value, T array []) ini tidak mungkin.
    Saya sangat menyarankan Anda mempelajari beberapa konsep pemrograman dasar sebelum Anda terus membuat diri Anda terlihat seperti orang bodoh. Berikut ini skrip yang dikompilasi. Mengapa Anda tidak mencobanya sendiri?
    https://www.forexfabrikasi.com/attac...3696527634.mq4

Similar Threads

  1. Bagaimana cara mendapatkan nilai MA dari nilai indikator pertama?
    By zihvicita in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 2
    Postingan Terakhir: 11-21-2022 15:59, 03:59 PM
  2. Bagaimana cara saya menghilangkan opsi TP di EA?
    By juhyaygege in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 15
    Postingan Terakhir: 11-12-2021 09:06, 09:06 AM
  3. Balasan: 2
    Postingan Terakhir: 10-02-2021 17:30, 05:30 PM
  4. Bagaimana cara menyimpan tingkat harga untuk beberapa pasang dan memanggilnya kembali?
    By kauwok54 in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 3
    Postingan Terakhir: 07-12-2018 06:25, 06:25 AM
  5. Bagaimana cara mengkodekan EA yang dapat memperdagangkan beberapa pasang?
    By dahmita in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 2
    Postingan Terakhir: 03-07-2009 12:19, 12:19 PM

Izin Posting

  • Anda tidak boleh memposting thread baru
  • Anda tidak boleh memposting balasan
  • Anda tidak boleh memposting lampiran
  • Anda tidak boleh menyunting postingan Anda
  •  
  • Kode BB Aktif
  • Smilies Aktif
  • Kode [IMG] Aktif
  • Kode [VIDEO] Aktif
  • Kode HTML tidak aktif
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.