Akhirnya saya menemukannya di web; ada penjelasan profesional bagaimana nilai-nilai Boolean diasumsikan dalam C. MQL memiliki banyak kesamaan dengan C, C ; Dan itulah yang saya coba jelaskan dalam posting saya. Mungkin itu tidak terlalu berkaitan dengan Anda, Anda mungkin bisa memecahkan masalah dengan cara lain, tetapi menarik untuk diketahui: Ini adalah kutipan dari tutorial:/quote Sekarang kita temui mungkin yang paling mudah tersandung ` `gotcha! '' di C: operator pengujian kesetaraan adalah ==, bukan satu =, yang merupakan penugasan. Jika Anda secara tidak sengaja menulis jika (a = 0) (dan Anda mungkin akan pada suatu titik; semua orang membuat kesalahan ini), itu tidak akan menguji apakah a adalah nol, seperti yang mungkin Anda maksudkan. Sebagai gantinya, ia akan menetapkan 0 ke a, dan kemudian melakukan cabang `` true '' pernyataan if jika a adalah nol. Tetapi a baru saja diberi nilai 0, sehingga cabang `` benar '' tidak akan pernah diambil! (Ini bisa membuat Anda gila saat men-debug - Anda ingin melakukan sesuatu jika a adalah 0, dan setelah tes, a adalah 0, apakah itu seharusnya atau tidak, tetapi cabang `` benar '' tetap tidak diambil .)/Akhir dari kutipan. Pemrograman senang.