Penanda yang kini terlihat pada lembah historis belum membuktikan penanda itu terlihat ketika lembah terbentuk. Simpan candle tempat ia digambar serta waktu informasi yang diperlukan tersedia. Pertahankan input sebelum menjelaskan perubahan tampilan; satu perbedaan atau sampel singkat yang tetap tidak menyelesaikan seluruh perilaku indikator.

Pisahkan perhitungan, gambar dan ketersediaan

Tentukan aturan alat: sementara atau final, input yang dibutuhkan, dan apakah penanda dapat dipindahkan setelahnya. Candle berjalan dapat berubah. Pivot pada candle lama baru dapat dikenali sesudah candle konfirmasi kemudian selesai. Menutup candle chart tidak otomatis menutup candle timeframe lebih tinggi yang dipakai skrip. Label non-repaint saja belum menjadi spesifikasi lengkap.

Dokumentasi Pine membedakan perilaku historis, realtime dan penggambaran ke masa lalu. Perubahan perlu dijelaskan, tetapi tidak sendiri membuktikan penipuan, kebocoran informasi masa depan atau kerugian uang. Nilai sementara yang dinyatakan jelas adalah mekanisme berbeda dari klaim bahwa titik historis bisa ditransaksikan lebih awal.

Periksa mekanismenya secara khusus

MetaQuotes memperingatkan segmen terakhir ZigZag dapat berubah ketika data baru masuk. Parameter dan implementasi menentukan konstruksinya; jangan menggantinya dengan aturan persentase universal. Untuk alat lain seperti Parabolic SAR, periksa sendiri keadaan sementara dan finalnya.

OnCalculate MQL5 menjelaskan bahwa pemuatan riwayat lebih dalam atau pengisian gap dapat mereset prev_calculated. Buffer yang pernah tersimpan bukan jaminan permanen tak berubah. Simpan ekspor input serta versi program sebelum menyebut perbedaan setelah restart sebagai penulisan ulang yang disengaja.

Look-ahead terjadi ketika pengujian memberi waktu keputusan sebelum informasi yang diperlukan tersedia. Menggambar titik yang baru dikenali pada lokasi candle lama adalah konvensi gambar; memperlakukannya sebagai sinyal eksekusi pada waktu lama memasukkan kesalahan kronologi. Harga saat pengenalan dan harga fill juga perlu diperiksa terpisah. Pengamatan tampilan tidak menentukan hasil transaksi.

Simpan observasi yang tidak ditimpa chart terbaru

Pilih satu instrumen dan konfigurasi. Tambahkan catatan baru tanpa mengganti yang lama agar cocok dengan gambar terbaru. Screenshot sebaiknya menunjukkan instrumen serta skala waktu, tetapi melengkapi ekspor input/output, bukan menggantikannya. Disiplin yang sama berlaku ketika memeriksa layanan sinyal berbayar.

BidangYang disimpanTujuan
LingkunganSimbol, feed, interval, zona waktuMembandingkan seri yang sama
AlatVersi, parameter, kode bila tersediaMemisahkan pembaruan dari perilaku versi lama
ObservasiWaktu pencatatan, waktu candle, status berjalan/selesaiMenetapkan informasi yang tersedia
SinyalNilai, arah, candle gambar, waktu pertama terlihatMencegah entry dipindahkan ke waktu lebih awal
PerbandinganBidang sama sesudah penutupan berikutnya dan reloadMenemukan yang benar-benar berubah

Amati saat pembentukan, sesudah candle chart tutup, sesudah penutupan timeframe lebih tinggi yang diperlukan, lalu sesudah reload. Ubah satu unsur sekali. Catat jeda observasi: tidak adanya sinyal tersimpan belum membuktikan tidak pernah ada sinyal. Waktu pertama terlihat oleh pengamat dapat lebih lambat daripada waktu tersedia menurut aturan serta input lengkap.

Pivot 10.10 baru diketahui 10.25

Model M5 rekaan menetapkan High harus lebih besar secara ketat daripada High dua candle selesai pada tiap sisi; harga sama gagal. Waktu adalah pembukaan candle, data berurutan tanpa gap. Ini aturan yang ditetapkan untuk latihan, bukan audit indikator komersial tertentu.

Pembukaan M5HighInformasi tersedia
10.001.1000Belum cukup untuk titik pilihan
10.051.1010Kandidat berada sesudahnya
10.101.1040Kandidat tutup 10.15; belum ada tetangga kanan selesai
10.151.1030Pada 10.20 tetangga kanan pertama selesai
10.201.1020Pada 10.25 tetangga kanan kedua selesai; konfirmasi

High 1.1040 melewati keempat tetangga. Pada 10.25, penanda boleh digambar di 10.10, tetapi informasi baru tersedia 10 menit sesudah kandidat tutup atau 15 menit sesudah ia buka. Keduanya mengukur penundaan yang sama dengan titik awal berbeda. Jika waktu model dinyatakan UTC, 10.25 menjadi 17.25 WIB, 18.25 WITA atau 19.25 WIT pada tanggal sama; itu konversi contoh, bukan jadwal sinyal pasar nyata.

Asumsikan Bid jual pertama setelah konfirmasi 1.1018. Memakai High historis 1.1040 sebagai entry lebih awal menambah 0.0022, yaitu 22 pip dengan pip 0.0001. Untuk eksposur 10.000 EUR, selisih efek harga sebelum biaya 22 USD. Belum ada harga exit, sehingga ini bukan penghitungan profit transaksi. Ubah hanya High 10.20 menjadi 1.1045: kandidat 1.1040 gagal. Kesamaan 1.1040 juga gagal pada aturan ketat. Tetangga yang lebih tinggi belum otomatis pivot baru tanpa tetangga kanannya sendiri.

Hasil reload berbeda: bandingkan input dahulu

Ekspor rekaan A mempunyai Close 100; 102; 104 sehingga SMA 3=102. Ekspor kemudian untuk momen yang sama 100; 102; 101 memberi 101. Harga ketiga berubah. Algoritme yang hanya memakai data sebelumnya tetap dapat menghasilkan nilai berbeda. Dua ekspor ini tidak membuktikan data masa depan ditambahkan pada riwayat yang sama.

Input berubah meski rumus SMA tidak berubahDua ekspor rekaan memakai 100 dan 102 yang sama; harga ketiga 104 atau 101. SMA 3 masing-masing 102 dan 101 karena input sebelumnya berbeda, bukan penambahan data masa depan pada riwayat tetap.Bandingkan harga input dahulu100102104101Versi A: (100+102+104)/3 = 102Versi B: (100+102+101)/3 = 101Input berubah; rumus SMA tetap sama.
Input berubah, rumus SMA tetap. Dua ekspor rekaan untuk tiga interval sama: [100; 102; 104] atau [100; 102; 101]. Formula SMA 3 sama; penyebab revisi tidak ditetapkan.

SMA 102 dan 101 berbeda karena input berubah; pisahkan kasus ini dari uji append pada prefix tetap.

Pada layar kecil, gulir diagram mendatar atau perbesar. Nilai dan kesimpulan juga tersedia dalam teks di bawah.

Sambungan pada gambar menghubungkan harga dari dua versi ekspor, bukan dua algoritme. Cocokkan timestamp, bidang harga, konsistensi ekspor, versi indikator dan parameter. Uji append memerlukan input sebelumnya tetap. Revisi input membutuhkan diagnosis tersendiri; contoh ini tidak membuktikan seluruh program benar.

Uji append, salinan alert dan replay

Hitung prefix selesai, tambahkan observasi baru tanpa mengubah harga terdahulu, lalu bandingkan output yang dinyatakan final. Aturan mainan membagi setiap harga dengan maksimum seluruh dataset yang dimuat. Dengan 100 dan 110, nilai pertama 100/110≈0,9091. Tambahkan 120: nilai pertama 100/120≈0,8333. Harga awal 100 tetap, tetapi output turun sekitar 0,0758 karena mengacu ke data kemudian, meskipun tidak ada indeks negatif dalam rumus.

Versi running maximum hanya memakai maksimum sampai waktu setiap observasi. Nilai pertama tetap 1 pada kedua run. Sebaliknya, contoh SMA 102→101 mengubah input lama. Pisahkan dua pengujian ini. Lolos satu pemeriksaan prefix belum membuktikan setiap cabang program benar.

Satu prefix yang lolos dapat menyembunyikan cabang lain

Tambahan aturan rekaan B memakai running maximum selama maksimum seluruh file tidak melebihi 130. Jika maksimum file melampaui 130, B membagi seluruh harga dengan maksimum file itu. Bandingkan dengan aturan A yang selalu memakai running maximum. Pada file 100; 110; 120, seluruh output A dan B sama: [1; 1; 1]. Setelah 140 ditambahkan, A masih memberi nilai awal 1, tetapi B mengubahnya menjadi 100/140≈0,7143. Harga awal tidak direvisi.

Cabang yang belum diuji dapat memakai data kemudianDua aturan mainan pada harga positif rekaan. A selalu running maximum. B sama dengan A sampai maksimum seluruh file melebihi 130, lalu memakai maksimum seluruh file untuk setiap output.PERHITUNGAN HIPOTETISFile awal: 100 → 110 → 120A = B = [1; 1; 1]Tambahkan 140, prefix tetapA awal = 1 · B awal =100/140 ≈ 0,7143Kesimpulan terbatasLolos satu prefix ≠stabil pada semua input
Cabang yang belum diuji dapat memakai data kemudian. Dua aturan mainan pada harga positif rekaan. A selalu running maximum. B sama dengan A sampai maksimum seluruh file melebihi 130, lalu memakai maksimum seluruh file untuk setiap output.

Uji kondisi yang relevan dan simpan cakupannya; satu hasil cocok tidak mengesahkan seluruh program.

Pada layar kecil, gulir diagram mendatar atau perbesar. Nilai dan kesimpulan juga tersedia dalam teks di bawah.

File awal: 100 → 110 → 120
A = B = [1; 1; 1] – Seluruh output sama pada input ini; cabang maksimum > 130 belum diuji.
Tambahkan 140, prefix tetap
A awal = 1 · B awal = 100/140 ≈ 0,7143 – Harga awal 100 tetap; B merujuk maksimum yang datang kemudian.
Kesimpulan terbatas
Lolos satu prefix ≠ stabil pada semua input – Ini counterexample program rekaan, bukan hasil audit alat komersial.

Satu prefix sebelumnya tidak menjalankan cabang tersembunyi itu. Ini counterexample logika yang dibuat untuk pembelajaran, bukan tuduhan pada produk tertentu atau usulan indikator. Catat input serta cabang yang diuji; stabil pada beberapa input bukan bukti stabil pada seluruh input.

Alert TradingView menyimpan salinan skrip, input, simbol serta timeframe saat dibuat. Perubahan chart kemudian tidak memperbarui salinan tersebut. Simpan konfigurasi, frekuensi pemicu dan waktu pesan. Dokumentasi Bar Replay menyatakan alert server yang ada tetap berjalan berdasarkan data realtime, bukan notifikasi dari masa lampau yang diputar ulang.

Pada 10.15 di M5, candle H1 pukul 10.00–11.00 belum selesai. High akhirnya belum tersedia hanya karena M5 sudah tutup. Parameter lookahead Pine dan offset seri harus dianalisis bersama. Setelah waktu informasi jelas, lanjutkan backtest dengan data serta biaya dan evaluasi walk-forward. Materi eksternal berbahasa Inggris analisis teknikal ForexMechanics adalah bacaan lanjutan, bukan hasil pengujian skrip ini.

Laporkan temuan dengan batas yang jelas

Tulis versi, input, setelan, waktu serta perubahan yang diamati. Simpan kedua ekspor dan tentukan apakah input berubah. Lima menit tenang, 50 candle atau dua minggu tidak membuktikan stabil permanen maupun profitabilitas. Jika alat menggambar titik ke belakang, catat keputusan dari waktu pengenalannya. Jika waktu itu tidak dapat ditetapkan, jangan membuat transaksi dari penanda historis.

  1. Bekukan konteks. Simpan feed, simbol, interval, zona, versi dan parameter beserta input/output. Screenshot melengkapi catatan.
  2. Pisahkan pengujian. Reload dengan input direvisi berbeda dari append pada prefix tetap. Simpan penanda sementara dan final menurut spesifikasi.
  3. Periksa waktu. Candle gambar, konfirmasi, observasi pengamat dan fill bukan satu timestamp. Catat jeda pencatatan.
  4. Batasi kesimpulan. Stabilitas catatan dan ketersediaan informasi berbeda dari hasil setelah biaya. Durasi demo atau jumlah bar tertentu tidak mengesahkan keunggulan.