avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada Pesan pribadi
4
fokus pada
1271
Pengikut

30 baris kode membawa Anda ke dunia investasi kuantitatif

Dibuat di: 2016-04-06 10:17:26, diperbarui pada: 2020-01-13 15:17:11
comments   13
hits   7394

Strategi 30 baris yang sangat sederhana untuk membangun sistem keuntungan yang positif

Ya, Anda benar, itu adalah 30 baris kode. Saya biasanya membaca kode ini untuk mendapatkan gambaran yang lebih luas.

Parameter kebijakan adalah sebagai berikut:

parameter menggambarkan jenis Nilai Default
FastPeriod Siklus masuk ke pasar Tipe angka 3
SlowPeriod Siklus masuk ke pasar Tipe angka 7
EnterPeriod Periode pengamatan Tipe angka 3
ExitFastPeriod Siklus garis cepat Tipe angka 3
ExitSlowPeriod Siklus garis lambat Tipe angka 7
ExitPeriod Periode observasi Tipe angka 1
PositionRatio Rasio posisi Tipe angka 0.8
Interval Periode survei (dalam detik) Tipe angka 10

30 baris kode membawa Anda ke dunia investasi kuantitatif

  • Diimpor.交易类库Strategi yang mudah untuk ditulis, tanpa perlu menunggu untuk membeli atau menjual.
  • Jika Anda merasa bingung saat membaca kode dan menemukan variabel yang tidak diumumkan, Anda bisa membalasnya di grup.
function main() {
    var STATE_IDLE  = -1;
    var state = STATE_IDLE;
    var opAmount = 0;
    var initAccount = $.GetAccount();
    Log(initAccount);
    while (true) {
        if (state === STATE_IDLE) {
            var n = $.Cross(FastPeriod, SlowPeriod);
            if (Math.abs(n) >= EnterPeriod) {
                opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
                var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
                if (obj) {
                    opAmount = obj.amount;
                    state = n > 0 ? PD_LONG : PD_SHORT;
                    Log("开仓详情", obj, "交叉周期", n);
                }
            }
        } else {
            var n = $.Cross(ExitFastPeriod, ExitSlowPeriod);
            if (Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0) || (state === PD_SHORT && n > 0))) {
                var obj = state === PD_LONG ? $.Sell(opAmount) : $.Buy(opAmount);
                state = STATE_IDLE;
                var nowAccount = $.GetAccount();
                LogProfit(nowAccount.Balance - initAccount.Balance, '钱:', nowAccount.Balance, '币:', nowAccount.Stocks, '平仓详情:', obj, "交叉周期", n);
            }
        }
        Sleep(Interval*1000);
    }
}
  • Strategi ini hanya memiliki satu fungsi utama (main) dan tidak ada modul fungsi lainnya. Hanya ada satu loop dalam fungsi utama.
  • Saya telah mengunggah versi komentar kode dari strategi ini ke grup QQ, dan teman-teman yang baru belajar dapat melihat komentarnya untuk memudahkan pembelajaran.
  • Tidak ada anggota QQ resmi yang bergabung dengan grup QQ: 309368835 Penemu mengkuantifikasi EA Exchange (Original BotVS). Strategi ini hanya beberapa puluh baris kode, sangat sederhana!
  • Untuk anak-anak yang tidak memiliki dasar bahasa Javascript, kami akan menjelaskan tata bahasa yang sederhana di sini, agar anak-anak tidak melihat dan tidak memahami kode tersebut.

Deklarasi Variabel

Dengan kata kuncivar+ nama variabel, misalnyavar name = “小明”

Siklus

while(循环条件){
    // 将会重复执行的代码
}

Kode di dalam {} akan dieksekusi berulang kali jika kondisi loop adalah benar. Kode di dalam {} akan dieksekusi berulang kali jika kondisi loop adalah salah. Kode di dalam {} akan keluar dari loop jika kondisi loop adalah salah.

Pembagian bersyarat

if (判断条件){
    // 执行代码
} else {
    // 执行代码
}

Ini sangat sederhana, terjemahannya adalah jika {true} {executing this code} maka keadaan {executing this code}

Penentuan nilai

Satu.=N adalah nilai, misalnya

name = “张三”;

Jika Anda memberi nama yang sama dengan nama yang sama, Anda bisa mengacaukan nilai dengan persamaan. Sebagai perbandingan==Dua angka yang sama. Contoh“张三”==“李四”Jadi, jelas Zhang Xiao bukan Li Chi.“张三”==“李四”Mengapa tidak?

API terkait

Sebelum kami menulis demo, kami mengulas API dan fungsi ekspor template yang digunakan dalam kebijakan ini. Dokumen API dan kode sumber template yang terperinci tersedia di Inventor Quantification.

  • Fungsi $.GetAccount: Fungsi ekspor template yang digunakan untuk mendapatkan informasi akun bursa
  • Fungsi Log: API, digunakan untuk mengekspor informasi ke log, menampilkan nilai, dll.
  • $.Cross Fungsi: Fungsi ekspor template yang digunakan untuk mendeteksi penyeberangan indikator rata-rata
  • Fungsi $.Buy: fungsi ekspor template untuk operasi pembelian
  • Fungsi $.Sell: fungsi ekspor template untuk operasi jual
  • Fungsi LogProfit: API, digunakan untuk output keuntungan, fungsi dari parameter kedua dapat menambahkan informasi lain
  • Fungsi Sleep: API, untuk membuat program berhenti sejenak, dengan parameter satuan millisecond.

Kode kebijakan juga menggunakan fungsi-fungsi perpustakaan JavaScript, metode objek.

  • Math.abs() fungsi: mengembalikan nilai mutlak dari argumen
  • Fungsi toFixed () untuk objek Number: menyimpan angka kecil dalam lingkaran kelima berdasarkan parameter. Perhatikan bahwa fungsi ini dikembalikan sebagai string
  • Fungsi global parseFloat: Mengembalikan string parameter dengan float.

Javascript dapat dipelajari di sini: JavaScript Number Object http://www.w3school.com.cn/jsref/jsref_obj_number.asp

Diagram proses dari sebuah program yang dibuat dengan tangan tanpa alat.

30 baris kode membawa Anda ke dunia investasi kuantitatif

Langkah demi langkah membangun strategi kami

Semua program strategi memiliki pintu masuk.main()Fungsi, yaitu bahwa strategi dimulai dari fungsi main.

30 baris kode membawa Anda ke dunia investasi kuantitatif

30 baris kode membawa Anda ke dunia investasi kuantitatif

30 baris kode membawa Anda ke dunia investasi kuantitatif

30 baris kode membawa Anda ke dunia investasi kuantitatif

30 baris kode membawa Anda ke dunia investasi kuantitatif

Penawaran Tegas

Setelah itu, Anda bisa mengunduh dan mengunduh aplikasi dari situs web Anda sendiri, dan Anda dapat mengunduh dan mengunduh aplikasi dari situs web Anda sendiri. Strategi Running! sudah mulai berjalan, belilah untuk mengoperasikannya.

30 baris kode membawa Anda ke dunia investasi kuantitatif

Terima kasih InventorQuantum, yang menyediakan kode yang sangat sederhana, ada banyak strategi open source untuk InventorQuantum yang dapat dipelajari dan dikembangkan bersama dengan banyak ahli kuantum.

官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。

Pelajaran video

http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html

Referensi