30 baris kode membawa Anda ke dunia investasi kuantitatif.

Penulis:Mimpi kecil, Dibuat: 2016-04-06 10:17:26, Diperbarui: 2020-01-13 15:17:11

Strategi rata-rata 30 baris yang sangat sederhana untuk menciptakan sistem pendapatan positif

Benar! Benar! Itu adalah 30 baris kode! Hanya 30 baris kode kecil yang saya gunakan untuk membaca artikel terlebih dahulu.

Parameter strategi adalah sebagai berikut:

Parameter Deskripsi Jenis Nilai default
FastPeriode Siklus Pemasaran Jenis angka (number) 3
SlowPeriode Siklus Lambat Masuk Jenis angka (number) 7
EnterPeriod Periode observasi Jenis angka (number) 3
KeluarPeriode cepat Pengecualian siklus Jenis angka (number) 3
KeluarSlowPeriode Pengecualian Jenis angka (number) 7
Periode Keluar Periode pengamatan setelah dipasarkan Jenis angka (number) 1
PosisiRasio Proporsi Posisi Jenis angka (number) 0.8
Interval Periode konsultasi ((detik) Jenis angka (number) 10

img

  • Diimpor交易类库Ini sangat mudah untuk menulis strategi, tidak perlu repot-repot untuk membeli atau menjual, dll.
  • Ketika membaca kode dan menemukan variabel yang tidak dinyatakan yang membingungkan, jawab di kelompok.
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);
    }
}
  • Kebijakan ini hanya memiliki satu fungsi utama main (), tidak ada modul fungsi lainnya. Hanya ada satu loop dalam fungsi utama.
  • Saya telah membagikan versi code-note dari strategi ini di grup QQ, dan para siswa pemula dapat melihat komentar yang mudah dipelajari.
  • Jika Anda belum bergabung dengan grup QQ resmi di sini, silakan bergabung: 309368835 Pencipta Kuantitatif EA Komunikasi (BotVS) ⇒ Strategi hanya beberapa lusin baris kode, sangat sederhana!
  • Untuk anak-anak yang tidak memiliki dasar bahasa Javascript, kami menjelaskan tata bahasa yang sederhana di sini agar tidak ada yang tidak mengerti kode.

Deklarasi Variabel

Kata Kuncivar+ nama variabel, misalnyavar name = “小明”

Siklus

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

Kondisi loop adalah benar jika kode dalam {} berulang kali dieksekusi. Kondisi loop adalah palsu jika loop dilewatkan.

Ciri-ciri cabang

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

Terjemahan yang sangat sederhana adalah jika (true) {mengeksekusi kode ini} itu adalah keadaan {mengeksekusi kode ini}

Penugasan

Satu=Angka adalah nilai, misalnya.

name = “张三”;

Yang paling penting adalah, jika Anda menggunakan nama yang sama untuk nama, maka pembagian akan mudah bingung dengan persamaan. Contoh perbandingan==Dua angka yang sama. Contoh“张三”==“李四”Yang jelas, Zhang Tsu bukan Li-Li.“张三”==“李四”Saya tidak tahu apa yang terjadi.

API terkait

Sebelum menulis demonstrasi, kami akan membahas API dan fungsi ekspor template yang digunakan dalam demonstrasi ini, dan kami akan memberikan informasi lebih lanjut mengenai dokumentasi API dan sumber kode template pada inventor quantification.

  • Fungsi $.GetAccount: Fungsi ekspor template yang digunakan untuk mendapatkan informasi akun bursa
  • Fungsi log: API untuk mengekspor informasi ke log, menampilkan angka, dll.
  • Fungsi $.Cross: Fungsi ekspor template untuk mendeteksi persimpangan indikator rata-rata
  • Fungsi $.Buy: Fungsi ekspor template untuk operasi pembelian
  • Fungsi $.Sell: Fungsi ekspor template untuk menjual operasi
  • Fungsi LogProfit: API, digunakan untuk mengekspor keuntungan, fungsi dapat menambahkan informasi lain dari parameter kedua
  • Fungsi tidur: API, untuk menghentikan program untuk sementara waktu, dengan parameter milisekund.

Kode strategi juga menggunakan fungsi pustaka JavaScript, metode objek, dan metode lain.

  • Fungsi Math.abs ((): mengembalikan nilai absolut dari parameter
  • Fungsi toFixed (() dari objek Number: menurut parameter menyimpan digit kecil empat tempat lima. Perhatikan, fungsi dikembalikan sebagai string.
  • Fungsi global parseFloat: Mengembalikan parameter string dengan jumlah float.

Informasi mengenai JavaScript di atas dapat ditemukan di: JavaScript Number Objecthttp://www.w3school.com.cn/jsref/jsref_obj_number.aspBelajar Lebih Banyak

Dia mengatakan, "Saya tidak tahu apa yang akan terjadi jika saya tidak menggunakan alat, tapi saya tidak tahu apa yang akan terjadi jika saya tidak menggunakan alat.

img

Langkah demi langkah membangun strategi kami

Semua program strategi di pintu masuk adalahmain()Fungsi, yaitu kebijakan yang dimulai dari fungsi utama.

img

img

img

img

img

Perangkat nyata

Dengan cara ini, strategi 30 baris yang sederhana sudah selesai! Strategi Running! mulai berjalan, membeli operasi.

img

Terima kasih kepada Inventor Quantify untuk menyediakan kode yang sangat ramping, ada banyak strategi open source untuk belajar dan meningkatkan di Inventor Quantify, bersama dengan banyak ahli kuantitas.

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

Pelatihan video

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

Sumber informasi


Berkaitan

Lebih banyak

FMZ_JHApakah fungsi $.GetAccount di API telah diperbarui menjadi exchange.GetAccount (?)?

wojiushizhemedeshuaiqidemeinanziSaya mengerti kode, tapi saya tidak tahu apa sebenarnya yang dilakukan oleh strategi ini.

:)Terima kasih, Little Dream, artikelmu sangat bagus.

Aku tidak tahu.Saya sangat senang dengan tutorial yang ditulis oleh tuan rumah, terima kasih!

bincoinTerima kasih tuan rumah, saya akan belajar dengan baik.

"Kalau tidak, saya tidak akan melakukannya", katanya."Sudah cukup detail.

Mimpi kecil$.GetAccount adalah fungsi ekspor dari templat FMZ (templat adalah kode yang dapat digunakan kembali, lihat deskripsi template di dokumentasi API). $.GetAccount adalah fungsi ekspor dari templat:https://www.fmz.com/strategy/10989). Kebijakan di atas hanya bagian dari kode, tidak ada pengaturan parameter kebijakan, dan strategi lengkap dapat dicari di 30 baris strategi rata-rata di Strategy Square.

wojiushizhemedeshuaiqidemeinanziDan ternyata begitu. Terima kasih banyak.

Mimpi kecilPada garis cepat, garis lambat biasanya adalah sinyal pembelian, kemungkinan kenaikan lebih besar. Di bawah garis cepat, garis lambat umumnya adalah sinyal penjualan, kemungkinan penurunan lebih besar. Dengan operasi berulang ini, Anda dapat memperoleh keuntungan dalam tren kenaikan pasar.

Mimpi kecilSaya akan membuat lebih banyak materi belajar di kemudian hari, terima kasih atas dukungannya!

Mimpi kecilKami akan terus berjualan! Terima kasih atas dukungannya.