Tài nguyên đang được tải lên... tải...

Tiền tương lai hàng hóa của chiến lược CTA

Tác giả:Zer3192, Ngày: 2021-04-23 21:06:05
Tags:

Một, tóm tắt

Chiến lược Martingale có nguồn gốc từ Pháp vào thế kỷ 18, nhưng nó được sử dụng nhiều hơn trên bàn bạc và sau đó trở nên phổ biến ở châu Âu. Trong lý thuyết, đây là một chiến lược có tỷ lệ thắng gần 100%, cho đến nay nó đã xuất hiện trên nhiều thị trường giao dịch như ngoại hối, tương lai và thị trường tiền kỹ thuật số. Tuy nhiên, nó có thực sự đáng tin cậy?

Thứ hai, nguyên tắc chiến lược của Martin Gelder

Martingale không phải là một chiến lược giao dịch hay một cơ chế giao dịch, mà là một cách quản lý tiền bạc. Nguyên tắc rất đơn giản: mỗi khi trader mất một khoản lỗ nhất định, người đó sẽ tăng gấp đôi số lượng đặt hàng tiếp theo cho đến khi có lợi nhuận.

Bây giờ giả sử rằng có một đồng xu có cùng trọng lượng trên hai mặt đối diện, và liên tục ném đồng xu, có xác suất xuất hiện mặt và mặt trái là khoảng 50%. Sau đó, chúng ta đặt cược bằng cách ném đồng xu, số tiền đặt cược ban đầu là 1 đô la nếu xuất hiện mặt trái, nếu xuất hiện mặt trái thì thắng 1 đô la, nếu xuất hiện mặt trái thì mất 1 đô la. Về lý thuyết, xác suất xuất hiện mặt trái của đồng xu là như nhau, vì mỗi lần xuất hiện kết quả không ảnh hưởng đến nhau một cách độc lập, đó là 50%.

Theo nguyên tắc chiến lược của Martin, mỗi lần thua, bạn phải điều chỉnh số tiền đặt cược lên gấp đôi số tiền đặt cược trước đó, chỉ cần giành chiến thắng một lần để lấy lại tất cả các khoản lỗ trước đó. Nhưng khi thua liên tục, bạn sẽ mất tất cả. Nếu số tiền chỉ là 10 đô la, đặt cược lần đầu tiên là 1 đô la, có lỗ ngược là 1 đô la, số dư tài khoản là 9 đô la; đặt cược lần thứ hai là 2 đô la, có lỗ ngược là 2 đô la, số dư tài khoản là 7 đô la; đặt cược lần thứ ba là 4 đô la, có lỗ ngược là 4 đô la, số dư tài khoản là 3 đô la; khi đó không có đủ tiền đặt cược.

Ba, kiểm tra lại chiến lược

  • Ngày bắt đầu kiểm tra: 2015-06-01
  • Ngày kết thúc kiểm tra: 2021-04-01
  • Các loại dữ liệu: Chỉ số món ăn
  • Chu kỳ dữ liệu: Định ngày
  • Điểm trượt: 2 lần trượt

Xác định lại cấu hình img Kiểm tra hiệu suất img Đường cong tài chính img Thông tin nhật ký img

Bốn, chiến lược của Martin Gill được nâng cấp

Rủi ro lớn nhất trong chiến lược của Martinel là thị trường luôn ở một bên, và nếu hướng nắm giữ của nhà giao dịch ngược với hướng thị trường, thì vị trí tích lũy sẽ rất khủng khiếp. Nếu đầu tư ban đầu của nhà giao dịch là 10.000 đô la và khi mất mát tăng gấp đôi, thì chỉ cần mất 7 lần liên tục, thì bạn sẽ phá vỡ vị trí. Nhưng nếu thay đổi tỷ lệ lãi suất thành 1.5, tình hình sẽ tốt hơn rất nhiều, bạn sẽ chỉ mất 12 lần liên tục; Nếu thay đổi tỷ lệ lãi suất thành 1.1, bạn sẽ cần 49 lần liên tục để phá vỡ vị trí.

img

Hình trên là một biểu đồ tỷ lệ tỷ lệ cược và số tiền đầu tư, do đó có thể thấy sử dụng tỷ lệ cược thấp hơn, số tiền chiếm rất nhỏ, khả năng chống rủi ro chiến lược càng mạnh, vì vậy để đảm bảo sự an toàn của tài chính, sàn thực được khuyến cáo sử dụng tỷ lệ cược thấp, được khuyến cáo tính toán tỷ lệ cược trước khi sàn thực, tốt nhất là có thể kiếm được nhiều lần thua lỗ liên tục.

5. Tóm lại

Khả năng giao dịch là bản chất của giao dịch, không ai dám đảm bảo lợi nhuận 100% mỗi lần đặt hàng. Có thể nói rằng rủi ro đã tồn tại khi bạn đặt hàng với lý do và thời điểm tuyệt vời nhất. Chiến lược của Martingale đặc biệt phù hợp với thị trường xu hướng, miễn là các nhà giao dịch có thể đánh giá hợp lý xu hướng, mở giao dịch theo hướng xu hướng và đặt tỷ lệ rủi ro và lợi nhuận tốt, họ cũng có thể nhận được lợi nhuận rất ổn định.


/*backtest
start: 2015-06-01 00:00:00
end: 2022-04-01 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_usdt"}]
*/

MarginLevel =20//合约杠杆 
unit =0.015//初始下单量
profits =1//盈亏间距
bei =1//倍率



function main() {
    exchange.SetContractType("swap")
    exchange.SetMarginLevel(MarginLevel)
    while (true) {
        let depth = exchange.GetDepth();
        if (!depth) return;
        let ask = depth.Asks[0].Price==-1;
        let bid = depth.Bids[0].Price==-1;
        let position = exchange.GetPosition()
        if (position.length == 0) {
            let redom = Math.random()
            unit =0.015
            if (redom > 0.5) {
                exchange.SetDirection("sell")
                exchange.Sell(-1, unit, "开空")
            }
            if (redom < 0.5 ) {
                exchange.SetDirection("buy")
                exchange.Buy(-1, unit, "开多")
            }
        }
        if (position.length > 0) {
            let type = position[0].Type;
            let profit = position[0].Profit;
            let amount = position[0].Amount;
            if (type == 0) {
                if (profit > profits) {
                    exchange.SetDirection("closebuy")
                    exchange.Sell(-1, amount, "多头止盈,当前盈利:" + profit)
                      unit = 0.015
                }       
            
                if (profit <-profits ) {
                    unit = unit * bei
                    exchange.SetDirection("buy")
                    exchange.Buy(-1, unit, "多头加仓,当前盈利:" + profit)
                }
            }
        
        
            if (type == 1) {
                if (profit > profits) {
                    exchange.SetDirection("closesell")
                    exchange.Buy(-1, amount, "空头止盈,当前盈利:" + profit)
                    unit = 0.015
            }
                    
                
                if (profit < -profits) {
                    unit = unit * bei
                    exchange.SetDirection("sell")
                    exchange.Sell(-1, unit, "空头加仓,当前盈利:" + profit)
                }
            
              }
          } 

        Sleep(1000 )
    }
}




Thêm nữa