Фьючерсы на товары в стратегии CTA

Автор:Zer3192, Дата: 2021-04-23 21:06:05
Тэги:

Первое: резюме

Мартингельская стратегия, первоначально созданная во Франции в 18 веке, но вскоре стала популярной в Европе. В теории это стратегия с вероятностью выигрыша близкой к 100%, которая до сих пор присутствует на многих торговых рынках, таких как валютный, фьючерсный и цифровой валютный рынки.

Во-вторых, стратегические принципы Мартингеля.

Мартингель не является ни торговой стратегией, ни торговым механизмом, а является способом управления деньгами. Принцип очень прост: каждый раз, когда трейдер теряет определенную сумму, он удваивает следующую сумму заказа до тех пор, пока прибыль не вернется к начальному значению.

Теперь предположим, что у нас есть монета с одинаковым весом с обеих сторон, и мы продолжаем бросать монету, и вероятность появления положительной и обратной стороны примерно равна 50%, затем мы делаем ставку на бросок этой монеты, первоначальная ставка составляет 1 юань, если появляется положительная, выигрыш 1 юань, если появляется обратная потеря 1 юань. Теоретически, вероятность появления положительной и обратной стороны монеты одинаковая, поскольку каждый раз появление не влияет на результат независимо друг от друга, то есть 50%.

Согласно принципу стратегии Мартина, каждый раз, когда вы проигрываете, сумму ставки корректируете в два раза больше, чем в прошлый раз, и вам нужно только выиграть один раз, чтобы вернуть все предыдущие потери. Но если у вас есть последовательные потери, вы также потеряете все. Если капитал составляет всего 10 долларов, первый вклад составляет 1 доллар, возникает обратный убыток 1 доллар, баланс счета составляет 9 долларов; второй вклад составляет 2 доллара, возникает обратный убыток 2 долларов, баланс счета составляет 7 долларов; третий вклад составляет 4 доллара, возникает обратный убыток 4 доллара, баланс счета составляет 3 доллара; тогда не хватает средств.

Третье, стратегический ретроспектив.

  • Дата начала исследования: 2015-06-01
  • Дата окончания проверки: 2021-04-01
  • Виды данных: Индекс блюд
  • Цикл данных:
  • Слайд: 2 прыжка в одну позицию

Проверка конфигурации img Проверка результатов img Финансовая кривая img Информация о дневнике img

Четвертое: Мартингель повышает стратегию

Самый большой риск стратегии Мартингеля заключается в том, что рынок всегда находится в одностороннем движении, и если направление держания трейдера противоположно направлению рынка, то накопленная позиция очень ужасна. Если первоначальный капитал трейдера составляет 10 000 юаней, и при убытке он увеличивается в два раза, то нужно всего 7 последовательных потерь, чтобы взрыть позицию.

img

На рисунке выше приведен график соотношения дифференциации и вложения средств, из которого видно, что используется более низкий дифференциационный показатель, занимаемый капитал очень мал, и стратегическая устойчивость к риску сильнее, поэтому, чтобы обеспечить безопасность средств, реальные диски рекомендуют использовать низкий дифференциационный показатель, рекомендуется вычислить дифференциационный показатель до реального дифференциационного показателя, предпочтительно дифференциационный показатель, который может принести нескольких десятков последовательных потерь.

Пятое, итоги

Вероятность торговли - это суть торговли, и никто не может гарантировать 100% прибыли каждый раз, когда вы делаете заказ. Можно сказать, что риск уже существует, когда вы делаете заказ с идеальными причинами и в подходящее время. Стратегия Мартингеля особенно применима к трендовым рынкам, где трейдер может получить очень стабильную отдачу, если он сможет разумно оценить тренд, открыть позиции в направлении, в котором он идет, и установить хорошее соотношение риска и дохода.


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




Больше