avatar of 发明者量化-小小梦 发明者量化-小小梦
tập trung vào tin nhắn riêng tư
4
tập trung vào
1271
Người theo dõi

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

Được tạo ra trong: 2016-04-06 10:17:26, cập nhật trên: 2020-01-13 15:17:11
comments   13
hits   7394

Chiến lược trung bình 30 dòng để tạo ra một hệ thống lợi nhuận tích cực

Đúng vậy! Bạn đã nghe đúng là 30 dòng mã! Chỉ cần 30 dòng, tôi đã quen với việc xem qua toàn bộ đoạn mã để có được một cái nhìn tổng thể!

Các tham số chính sách như sau:

tham số mô tả kiểu Tiền định
FastPeriod Chu kỳ đường dây nhanh Mẫu chữ số 3
SlowPeriod Chu kỳ đường dây chậm Mẫu chữ số 7
EnterPeriod Thời kỳ quan sát Mẫu chữ số 3
ExitFastPeriod Chu kỳ đường dây nhanh của thị trường Mẫu chữ số 3
ExitSlowPeriod Chu kỳ đường chậm Mẫu chữ số 7
ExitPeriod Thời gian quan sát xa thành phố Mẫu chữ số 1
PositionRatio Tỷ lệ vị trí Mẫu chữ số 0.8
Interval Chu kỳ thăm dò (giây) Mẫu chữ số 10

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

  • Được rồi.交易类库Bạn có thể dễ dàng lập ra chiến lược mà không cần phải lo lắng về việc mua hay bán.
  • Khi bạn đọc code và thấy một biến chưa được khai báo khiến bạn bối rối, hãy trả lời với nhóm.
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);
    }
}
  • Chiến lược này chỉ có một hàm chủ (main ()), không có mô-đun hàm khác. Chỉ có một vòng lặp trong hàm chủ.
  • Tôi đã chia sẻ phần code của chiến lược này trên nhóm QQ, những người học lần đầu tiên có thể xem phần comment để học dễ dàng hơn.
  • Nếu bạn không tham gia nhóm QQ chính thức, hãy tham gia: 309368835 Nhà phát minh định lượng giao tiếp EA ((BotVS gốc). Chiến lược chỉ cần hàng chục dòng mã, rất đơn giản!
  • Để chăm sóc những bạn học không có nền tảng ngôn ngữ Javascript, chúng tôi sẽ nói về ngữ pháp đơn giản ở đây, để không có bạn học nào hiểu được mã.

Tuyên bố biến

Dùng từ khóavar+ tên biến, ví dụ nhưvar name = “小明”

Chuyển động

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

Mã trong {} được thực hiện lặp đi lặp lại nếu điều kiện vòng lặp là đúng. Nếu điều kiện vòng lặp là sai, bước ra khỏi vòng lặp.

Cụ thể

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

Một cách đơn giản, nó sẽ được dịch là “If (true) { execute this code} its its case { execute this code} “

Đánh giá

Một.=Ví dụ:

name = “张三”;

Một trong những cách tốt nhất để làm điều đó là đặt tên cho nó là “Michang San-chan”. So sánh==Hai con số bằng nhau. Ví dụ.“张三”==“李四”Rõ ràng là Trương Tử không phải là Lý Tử.“张三”==“李四”Vì sao?

API liên quan

Trước khi trình diễn và viết chính sách, chúng tôi đã xem xét các API và chức năng xuất mẫu được sử dụng trong chính sách.

  • Hàm $.GetAccount: Hàm xuất mẫu để lấy thông tin tài khoản của sàn giao dịch
  • Chức năng Log: API, được sử dụng để xuất thông tin vào nhật ký, hiển thị giá trị, v.v.
  • $.Cross: Chức năng xuất mẫu, được sử dụng để phát hiện sự giao nhau của chỉ số đường trung bình
  • $.Buy function: hàm xuất mẫu, được sử dụng để mua các hoạt động
  • $.Sell hàm: hàm xuất mẫu, được sử dụng để bán
  • Hàm LogProfit: API, được sử dụng để xuất lợi nhuận, hàm có thể thêm thông tin khác từ tham số thứ hai
  • Chức năng Sleep: API, cho phép chương trình tạm dừng một thời gian, đơn vị tham số là millisecond.

Mã chiến lược cũng sử dụng các hàm thư viện, phương thức đối tượng của Javascript.

  • Math.abs() hàm: trả về giá trị tuyệt đối của tham số
  • ToFixed () hàm của đối tượng Number: giữ số nhỏ theo tham số. Lưu ý rằng hàm trả về là một chuỗi
  • parseFloat hàm toàn cầu: trả về số float của tham số chuỗi.

Các thông tin liên quan đến Javascript có thể được tìm hiểu tại: JavaScript Number Object http://www.w3school.com.cn/jsref/jsref_obj_number.asp

Hình sơ đồ của chương trình vẽ bằng tay, không sử dụng công cụ.

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

Chúng tôi sẽ xây dựng chiến lược của chúng tôi từng bước.

Tất cả các chương trình chiến lược đều được mở cửa bằng cách sử dụng các từ khóa như:main()Chức năng, nghĩa là chiến lược bắt đầu từ main function.

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

Lời đề nghị chắc chắn

Sau đó, chúng tôi sẽ đưa ra một chiến lược 30 dòng đơn giản để thực hiện điều này! Chiến lược Running! đã bắt đầu hoạt động, hãy mua và điều hành.

30 dòng mã đưa bạn vào thế giới đầu tư định lượng

Cảm ơn Inventor Quantify đã cung cấp mã hóa đơn giản như vậy, có rất nhiều chiến lược nguồn mở để học và nâng cao trên Inventor Quantify, cùng với rất nhiều người giỏi về định lượng.

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

Hỗ trợ video

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

Hướng dẫn