Commodity Futures de la estrategia de CTA, por su parte.

El autor:No más de 300, Fecha: 2021-04-23 21:06:05
Las etiquetas:

Primero, resumen

La estrategia de Martíngel se originó en Francia en el siglo XVIII, pero se utilizó principalmente en las mesas de juego y se popularizó en Europa poco después. En teoría, es una estrategia de probabilidad de victoria cercana al 100%, que hasta ahora se ha visto en muchos mercados comerciales, como el de divisas, futuros y mercados de monedas digitales.

En segundo lugar, el principio de la estrategia de Martinel.

Martingale no es una estrategia de negociación ni un mecanismo de negociación, sino una forma de gestión de los fondos. Su principio es simple: el operador duplica el volumen de la siguiente compra cada vez que pierde un cierto número de dólares, hasta que el volumen de la siguiente compra vuelve a su valor inicial cuando es rentable.

Ahora supongamos que tenemos una moneda con el mismo peso de ambos lados opuestos, continuamente lanzando monedas, y la probabilidad de que aparezcan las caras positivas y opuestas es de aproximadamente el 50%. A continuación, apostamos con esta moneda lanzada, con una apuesta inicial de 1 yuan, si aparece positivo, ganamos 1 yuan y si aparece opuesto, perdemos 1 yuan.

Según el principio de la estrategia de Martin, cada vez que se pierde, se ajusta el monto de la apuesta al doble del monto de la apuesta anterior, solo se necesita ganar una vez para recuperar todas las pérdidas anteriores. Pero cuando hay pérdidas consecutivas, también se perderá nada. Si el capital es de solo 10 dólares, la primera apuesta es de 1 dólar, hay una pérdida inversa de 1 dólar, el saldo de la cuenta es de 9 dólares; la segunda apuesta es de 2 dólares, hay una pérdida inversa de 2 dólares, el saldo de la cuenta es de 7 dólares; la tercera apuesta es de 4 dólares, hay una pérdida inversa de 4 dólares, el saldo de la cuenta es de 3 dólares; entonces no hay suficiente dinero depositado.

La tercera es la revisión estratégica.

  • Fecha de inicio de la revisión: 2015-06-01
  • Fecha de finalización de la revisión: 2021-04-01
  • Variedad de datos: índice de platos
  • Ciclo de datos: línea de día
  • Punto de deslizamiento: 2 saltos para el equilibrio

Configuración de las pruebas img Resultados de las pruebas img Curva de financiación img Información del diario img

Cuatro, la estrategia de Martinel se está mejorando.

El mayor riesgo de la estrategia de Martingle es que el mercado esté siempre en un mercado unilateral, y si la dirección de la posición del operador es opuesta a la dirección del mercado, la posición acumulada es muy terrible. Si el capital inicial del operador es de 10.000 yuan y el riesgo de pérdida es el doble, solo se necesita una pérdida de siete pérdidas consecutivas para explotar la posición. Pero si se cambia el desdoblamiento a 1.5, la situación será mucho mejor, solo se explotarán 12 pérdidas consecutivas; si se cambia el desdoblamiento a 1.1, se necesitarán 49 pérdidas consecutivas para explotar la posición.

img

El gráfico de arriba es un gráfico de la proporción entre el número de multiplicadores y la inversión de fondos, por lo que se puede ver que se utiliza un número de multiplicadores más bajo, el capital ocupado es muy pequeño, y la capacidad de resistencia al riesgo estratégico es más fuerte, por lo que para garantizar la seguridad de los fondos, se recomienda el uso de multiplicadores bajos, se recomienda calcular el número de multiplicadores antes de que se realice el cálculo, lo mejor es el número de multiplicadores que pueden generar una decena o más veces de pérdidas consecutivas.

5 y resumen

La probabilidad de negociación es la naturaleza de la negociación, y nadie se atreve a garantizar un 100% de ganancia cada vez que se realiza un pedido. Se puede decir que el riesgo ya existe cuando se realiza un pedido con la mejor razón y el mejor momento. La estrategia de Martingle se aplica especialmente a los mercados de tendencia, siempre que el operador pueda juzgar razonablemente la tendencia, abrir operaciones en la dirección de la tendencia y establecer una buena relación de riesgo y retorno, también se obtiene un rendimiento muy sólido.


/*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 )
    }
}




Más.