Hai pria,

Saya memiliki kode ini yang saya tulis dan dalam pikiran saya itu bekerja dengan sempurna namun pikiran saya kelihatannya salah dan tidak tahu mengapa.
Jadi saya memonitor masalah ke bagian tertentu tetapi saya tidak tahu apa yang menyebabkannya gagal.
Tidak ada kesalahan yang penting.

Inilah bagian di mana tampaknya gagal di:
Inserted Code if (Trades # 91; 7, RowNumber2 # 93; == 1) jika (Tanya lt; = Trades # 91; 2, RowNumber2 # 93; Trades # 91; 6, RowNumber2 93; == 0) ke Tiket = OrderSend (Symbol (), OP_SELL, Lots, Ask, Slippage, Trades # 91; 4, RowNumber2 # 93 ;, 0, NULL, Trades # 91; 1, RowNumber # 93 ;, 0, Blue); Perdagangan # 91; 6, RowNumber # 93; = 1;/Print (- MagicNumber =, MagicNumber, -); ArrayCounter2 = 0; RowNumber2 = 0; else ArrayCounter2 = ArrayCounter2 1; RowNumber2 = RowNumber2 1;
Berikut ini kode lengkapnya:
Kode yang dimasukkan/ --------------------------------------------- --------------------- /| FTB.mq4 |/| |/| https://www.mql4.com |/ ----------------------------------------------- ------------------- #property copyright #property strict extern int MagicNumber = 10001; Eksternal ganda Lot = 0,1; Eksternal ganda TrailingStop = 0; Eksternal int Slippage = 3; Eksternal EntryGap ganda = 0,00500; Ekstern int BrokerDigits = 5; Eksternal int AllowableDrawdown = 25; ekstern int MaxDrawdown = 610; Eksternal bool MoneyManagement = salah; pembukuan rangkap; stopLoss ganda; TakeProfit ganda; double HalfCandleSize; ganda Tengah; Buka OpenCheck ganda; double CloseCheck; Perdagangan ganda # 91; 8 # 93; # 91; 20 # 93 ;;/ArrayNumber | MagicNumber | Entri | Stoploss | WaitCounter | Waktu Kedaluwarsa | Dimasukkan | Populated int SignalTime; int BarsOnChart = Bar; int IsNewCandle; int OrderError = 0; int RowNumber = 0; int RowNumber2 = 0; int ArrayCounter = 0; int ArrayCounter2 = 0;/ ----------------------------------------------- ------------------- /| Fungsi inisialisasi ahli |/ ----------------------------------------------- ------------------- int OnInit () Trades # 91; 0,0 # 93; = 1; Perdagangan # 91; 0,1 # 93; = 2; Perdagangan # 91; 0,2 # 93; = 3; Perdagangan # 91; 0,3 # 93; = 4; Perdagangan # 91; 0,4 # 93; = 5; Perdagangan # 91; 0,5 # 93; = 6; Perdagangan # 91; 0,6 # 93; = 7; Perdagangan # 91; 0,7 # 93; = 8; Perdagangan # 91; 0,8 # 93; = 9; Perdagangan # 91; 0,9 # 93; = 10; Perdagangan # 91; 0,10 # 93; = 11; Perdagangan # 91; 0,11 # 93; = 12; Perdagangan # 91; 0,12 # 93; = 13; Perdagangan # 91; 0,13 # 93; = 14; Perdagangan # 91; 0,14 # 93; = 15; Perdagangan # 91; 0,15 # 93; = 16; Perdagangan # 91; 0,16 # 93; = 17; Perdagangan # 91; 0,17 # 93; = 18; Perdagangan # 91; 0,18 # 93; = 19; Perdagangan # 91; 0,19 # 93; = 20; Mencetak(-----------); Print (ArrayNumber =, Trades # 91; 0, RowNumber # 93; -RRB-; Print (MagicNumber =, Trades # 91; 1, RowNumber # 93; -RRB-; Print (Entry =, Trades # 91; 2, RowNumber # 93; -RRB-; Print (Stoploss =, Trades # 91; 3, RowNumber # 93; -RRB-; Print (WaitCounter =, Trades # 91; 4, RowNumber # 93; -RRB-; Print (ExpirationTime =, Trades # 91; 5, RowNumber # 93; -RRB-; Print (Dimasukkan =, Trades # 91; 6, RowNumber # 93; -RRB-; Print (Populated =, Trades # 91; 7, RowNumber # 93; -RRB -; Print (-----------); return (INIT_SUCCEEDED);/ ------------------------- ----------------------------------------- /| Fungsi deinitialization ahli |/ ------------------------------------------------ ------------------ void OnDeinit (const int reason)/ --------------------- --------------------------------------------- /| Expert centang fungsi |/ -------------------------------------------- ---------------------- vo id OnTick () if (BarsOnChart! = Bar)/Memeriksauntuk lilin tertutup baru BarsOnChart = Bar; IsNewCandle = 1; else IsNewCandle = 0; if (IsNewCandle == 1)/Memeriksa apakah candle baru telah menutup SignalTime = Hour () - 1; if ((SignalTime gt; 8) (SignalTime lt; 14) (High # 91; 1 # 93; gt; High # 91; 2 # 93; -RRB-)/Periksa untuk melihat apakah candle sinyal memiliki tinggi lebih tinggi dari lilin sebelum dan dalam jangka waktu HalfCandleSize = (Tinggi # 91; 1 # 93; - Rendah # 91; 1 # 93; -RRB-2;/Menghitung setengah dari ukuran lilin Tengah = Rendah # 91; 1 # 93; HalfCandleSize;/Menghitung tengah candle OpenCheck = Middle - Open # 91; 1 # 93 ;;/Menghitung jarak antara Buka dan tengah CloseCheck = Middle - Close # 91; 1 # 93 ;;/Menghitung jarak antara dekat dan tengah jika (OpenCheck gt; 0 CloseCheck gt; 0)/periksa untuk melihat apakah candle ditutup di setengah bagian bawah Entry = NormalisasiDouble (Low # 91; 1 # 93; - 0,0001, 5);/Alasan OrderSend Kesalahan 130 adalah Entri Entri terlalu dekat dengan Entry Pasar Saat Ini StopLoss = NormalizeDouble (High # 91; 1 # 93; 0,0005, 5); while (ArrayCou nter lt; 20) jika (Perdagangan # 91; 7, RowNumber # 93; == 0) Perdagangan # 91; 1, RowNumber # 93; = MagicNumber; Perdagangan # 91; 2, RowNumber # 93; = Masuk; Perdagangan # 91; 3, RowNumber # 93; = StopLoss; Perdagangan # 91; 4, RowNumber # 93; = 0; Perdagangan # 91; 5, RowNumber # 93; = 0; Perdagangan # 91; 6, RowNumber # 93; = 0; Perdagangan # 91; 7, RowNumber # 93; = 1; MagicNumber = MagicNumber 1; Mencetak(-----------); Print (ArrayNumber =, Trades # 91; 0, RowNumber # 93; -RRB-; Print (MagicNumber =, Trades # 91; 1, RowNumber # 93; -RRB-; Print (Entry =, Trades # 91; 2, RowNumber # 93; -RRB-; Print (Stoploss =, Trades # 91; 3, RowNumber # 93; -RRB-; Print (WaitCounter =, Trades # 91; 4, RowNumber # 93; -RRB-; Print (ExpirationTime =, Trades # 91; 5, RowNumber # 93; -RRB-; Print (Dimasukkan =, Trades # 91; 6, RowNumber # 93; -RRB-; Print (Populated =, Trades # 91; 7, RowNumber # 93; -RRB -; Print (-----------); break; else ArrayCounter = ArrayCounter 1; RowNumber = RowNumber 1; ArrayCounter = 0; RowNumber = 0;while (ArrayCounter2 lt; 20) if (Trades # 91; 7, RowNumber2 # 93; == 1) if (Tanya lt; = Trades # 91; 2, RowNumber2 # 93; Trades # 91; 6, RowNumber # 93; = = 0) int Ticket = OrderSend (Symbol (), OP_SELL, Lots, Ask, Slippage, Trades # 91; 4, RowNumber2 # 93 ;, 0, NULL, Trades # 91; 1, RowNumber # 93 ;, 0, Blue) ; Perdagangan # 91; 6, RowNumber # 93; = 1;/Print (- MagicNumber =, MagicNumber, -); ArrayCounter2 = 0; RowNumber2 = 0; else ArrayCounter2 = ArrayCounter2 1; RowNumber2 = RowNumber2 1; if (ArrayCounter2 == 20) ArrayCounter2 = 0; RowNumber2 = 0;

Jika kalian bisa memberi saya kebijaksanaan Anda yang akan sangat dihargai.
Terima kasih!