Bantuan: Cara mencegah pembelian dan penjualan yang terus menerus di K-line yang sama

Penulis:xionglonghui, Dibuat: 2021-09-20 09:10:57, Diperbarui:

Karena keterbatasan bahasa Ma sendiri, strategi harus diimplementasikan kembali dengan JS.

Sejak reimplementasi JS strategi bahasa Ma, banyak masalah telah ditemukan, dalam operasi real disk, ditemukan pada garis K yang sama, karena volatilitas, akan datang kembali 1-2 kali membeli dan menjual. menyebabkan kerugian.

Saya ingin bertanya, bagaimana bahasa Melayu dirancang untuk menghindari hal ini, bagaimana cara berpikir logisnya?

Atau: Apakah ada cara saya menggunakan JS untuk mencegah pembelian dan penjualan di K-line yang sama? Apakah Anda ingin memecahkan masalah dengan time parse, dan menemukan bahwa tidak ada time parse dalam pesanan yang ditandatangani, maka Anda dapat menggunakan JS sendiri yang datang dengan Date.parse ((new Date))) Waktu pesanan, jika Anda menemukan pesanan yang tidak berhasil, atau pesanan yang belum ditandatangani, bagaimana cara menyelesaikannya?


Lebih banyak

xionglonghuiAda juga masalah, dengan kode di bawah ini, yang dapat mencegah perdagangan yang terus-menerus pada garis K yang sama tidak menyebabkan kerugian karena sedikit fluktuasi pada garis K yang sama. Tetapi ada juga masalah baru, yaitu setelah garis K yang sama rata, ingin segera melakukan reversal, dibatasi, dan harus menunggu sampai garis K berikutnya membuka posisi kosong. Kode adalah sebagai berikut: if (before_record_time!= now_records.Time) // waktu K baris sebelumnya tidak sama dengan kesalahan waktu K baris ini, maka untuk K baris yang berbeda Aku tidak tahu. Jika kita menulis logika bisnis untuk membuka neraca di sini, kita tidak bisa membuka neraca berulang kali pada garis K yang sama. Aku tidak tahu. Solusi saya adalah: sebelum itu ada sebuah timestamp di atas garis waktu K yang menyimpan variabel. Sebuah timestamp multi arah duo_before_record_time Waktu yang dilakukan dalam arah kosong kong_before_record_time Jika Anda melakukan lebih banyak, gunakan batasan ini, dengan garis K yang sama, dengan posisi yang berbeda setelah posisi yang sama. Kode adalah sebagai berikut: if (duo_before_record_time!= now_records.Time) // waktu K baris sebelumnya tidak sama dengan kesalahan waktu K baris ini, maka untuk K baris yang berbeda Aku tidak tahu. Jika kita menulis logika bisnis untuk membuka neraca di sini, kita tidak bisa membuka neraca berulang kali pada garis K yang sama. Aku tidak tahu. Jika kita membuat ruang kosong, kita juga membatasi posisi yang berbeda di belakang garis K yang sama. if (kong_before_record_time!= now_records.Time) // Waktu pada K-line sebelumnya tidak sama dengan kesalahan waktu pada K-line ini. Aku tidak tahu. Jika kita menulis logika bisnis untuk membuka neraca di sini, kita tidak bisa membuka neraca berulang kali pada garis K yang sama. Aku tidak tahu. Dengan demikian, setelah garis K yang sama berada di posisi yang rata, posisi di arah yang berlawanan dapat segera dibuka dalam kondisi yang sesuai dengan kondisi pembukaan. Saya berharap pertanyaan saya dapat membantu teman-teman saya di masa depan.

RumputSurat Keterangan Kerja Menjawab Anda

Keinginan yang BaikK adalah waktu dan harus diatasi dengan waktu.

xionglonghuiKode adalah sebagai berikut: if (before_record_time!= now_records.Time) // waktu K baris sebelumnya tidak sama dengan kesalahan waktu K baris ini, maka untuk K baris yang berbeda Aku tidak tahu. Jika kita menulis logika bisnis untuk melakukan penghapusan di sini, kita tidak bisa melakukan penghapusan berulang kali pada garis K yang sama Aku tidak tahu.

xionglonghuiSolusi yang lebih baik ditemukan adalah dengan menyatakan variabel yang digunakan untuk menyimpan timestamp dari K-line terbaru saat setiap kali melakukan transaksi (tidak peduli berapa banyak yang dilakukan, asalkan transaksi itu disimpan), dan kemudian memutuskan bahwa timestamp terakhir kali tidak sama dengan timestamp K-line terbaru saat ini, yang dapat diselesaikan dengan sempurna. Metode sebelumnya memiliki bug, misalnya, K-line pertama dibuka, K-line kedua jatuh, tetapi tidak bisa dipadamkan, harus menunggu sampai K-line ketiga untuk dipadamkan.

xionglonghuiDengan kata lain, menggunakan exchange.GetOrders (().length>0 untuk menentukan bahwa tidak ada pesanan yang belum selesai dan menyimpan waktu pesanan.

xionglonghuiSetelah beberapa saat, akhirnya saya menemukan jawabannya, kode yang saya tulis adalah: if (Math.abs ((before_order_time - now_records.Time)/1000 > now_period)) // waktu yang diurutkan terakhir kali dikurangi waktu yang diurutkan pada garis K sekarang, dibagi dengan 1000 untuk mendapatkan jumlah detik, dan mengambil nilai mutlak yang buruk dari keduanya, jika lebih besar dari jumlah detik pada siklus, tidak ada pada garis K yang sama. // Anda harus mengatur variabel before_order_time sendiri, dan menyimpan setiap kali sebelum order. before_order_time = Date.parse ((new Date))); // mencatat saat ini // jumlah detik dari periode, yaitu dengan var now_period = _C ((exchange.GetPeriod); // mendapatkan periode saat ini, misalnya 5 menit, 15 menit, 1 hari, dan jumlah hasil yang dikembalikan adalah detik

Musim panas tidak bisa mengalahkanmu.Harus bisa dilakukan intercept dengan time stamp di dalam data K-line.