마틴겔 전략은 18세기 프랑스에서 처음 시작되었으나, 당시에는
마틴겔은 거래 전략이나 거래 메커니즘이 아니라, 자금 관리 방식이다. 그 원리는 간단하다. 거래자는 적당한 손실을 입는 매번 다음 주문을 두 배로 늘려서 수익이 올 때까지 다음 주문을 초기 값으로 되돌려 놓는다. 이렇게 하면, 한 번만 수익을 얻으면, 이전 손실을 회수할 수 있을 뿐만 아니라 첫 번째 주문의 수익을 얻을 수 있다. 명백히 이것은 역동적인 두 배로 증축된 자금 관리 방식이다.
이제 양면이 같은 무게의 동전을 가지고 있고, 계속해서 동전을 던지고, 양면과 반대면이 나올 확률은 약 50%입니다. 다음으로 우리는 동전을 던지면서 베팅합니다. 초기 베팅 금액은 1원입니다. 양면이 나타나면 1원, 역면이 나타나면 1원입니다. 이론적으로, 동전의 양면과 반대면이 나올 확률은 동일합니다. 왜냐하면 각 출현의 결과는 서로 독립적으로 영향을받지 않기 때문에, 즉 50%입니다.
마틴 전략의 원칙에 따르면, 매번 손실을 당할 때 베팅 금액을 이전 베팅 금액의 2배로 조정하고, 한 번만 승리하면 이전 모든 손실을 회수할 수 있다. 그러나 연속적인 손실을 당할 때, 아무것도 잃지 않을 것이다. 만약 자본이 10원이라면, 첫 번째 베팅은 1원이고, 역손실은 1원이고, 계좌 잔액은 9원이고, 두 번째 베팅은 2원이고, 역손실은 2원이고, 계좌 잔액은 7원이고, 세 번째 베팅은 4원이고, 역손실은 4원이고, 계좌 잔액은 3원이고, 이 때 충분한 자금이 배치되어 있지 않다.
재검토 설정 재검토 결과 자금 곡선 로그 정보
마틴겔의 전략의 가장 큰 위험은 시장이 항상 일방적인 시장에 있고, 거래자의 지분 방향이 시장 방향과 반대되는 경우, 쌓인 포지션은 매우 끔찍하다. 거래자의 초기 자본이 1만원이고, 손실을 당할 때 2배로 투자하면 7회 연속 손실을 당할 뿐이다. 하지만, 배당을 1.5로 변경하면 상황이 훨씬 좋아지고, 연속 손실은 12회까지 거래한다. 배당을 변경하면 1.1로 변경하면 49회 연속 손실이 필요하며, 보유한 자본이 상대적으로 작기 때문에, 운영 위험은 상대적으로 작다.
위의 그림은 배당수와 자본 투입 비율의 그래프로, 따라서 낮은 배당수를 사용해서 볼 수 있습니다. 차지하는 자금은 매우 작고 전략적 위험 저항 능력이 강합니다. 따라서 자금의 안전을 보장하기 위해 실제판은 낮은 배당수를 사용하는 것이 좋습니다. 실제판 전에 잘 계산하는 것이 좋습니다.
거래 확률은 거래의 본질이며, 아무도 매번 주문을 할 때 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 ) } }