트렌드 전략은 일반적으로 시장 방향을 판단하기 위해 다양한 지표를 사용하며, 다양한 지표의 비교 결과를 거래 신호로 사용합니다. 이러한 방식으로 매개 변수를 사용하고 지표를 계산하는 것은 피할 수 없습니다. 이제 매개 변수를 사용하면 적합한 상황이 발생할 것입니다. 일부 시장에서 전략은 매우 잘 수행되지만 운이 좋지 않고 시장 트렌드가 현재 매개 변수에 매우 불친절하다면 전략은 매우 좋지 않을 수 있습니다. 따라서 전략 설계가 간단하면 좋을수록 더 좋습니다. 이 전략은 더 견고 할 것입니다. 오늘은 지표가없는 트렌드 전략을 공유 할 것입니다. 전략 코드는 매우 간단하며 40 줄입니다.
전략 코드:
import time
basePrice = -1
ratio = 0.05
acc = _C(exchange.GetAccount)
lastCancelAll = 0
minStocks = 0.01
def CancelAll():
while True :
orders = _C(exchange.GetOrders)
for i in range(len(orders)) :
exchange.CancelOrder(orders[i]["Id"], orders[i])
if len(orders) == 0 :
break
Sleep(1000)
def main():
global basePrice, acc, lastCancelAll
exchange.SetPrecision(2, 3)
while True:
ticker = _C(exchange.GetTicker)
if basePrice == -1 :
basePrice = ticker.Last
if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio :
acc = _C(exchange.GetAccount)
if acc.Balance * ratio / ticker.Last > minStocks :
exchange.Buy(ticker.Last, acc.Balance * ratio / ticker.Last)
basePrice = ticker.Last
if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio :
acc = _C(exchange.GetAccount)
if acc.Stocks * ratio > minStocks :
exchange.Sell(ticker.Last, acc.Stocks * ratio)
basePrice = ticker.Last
ts = time.time()
if ts - lastCancelAll > 60 * 5 :
CancelAll()
lastCancelAll = ts
LogStatus(_D(), "\n", "Ticker:", ticker, "\n", "Account information:", acc)
Sleep(500)
전략 원칙은 매우 간단합니다. 그것은 어떤 지표도 사용하지 않습니다, 그것은 단지 거래 트리거 기본으로 현재 가격을 사용합니다. 오직 하나의 주요 매개 변수가 있습니다.ratio
열기 위치 트리거를 제어하기 위해서요.
긴 트리거를 가동합니다.
if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio
현재 가격을 기본 가격과 비교합니다. 현재 가격이 기본 가격보다 높고 가격이 기준 가격보다 높을 때ratio * 100%
, 명령을 실행하고 긴 명령을 기다립니다.
주문이 완료되면 기본 가격은 현재 가격으로 업데이트됩니다.
짧은 명령 트리거:
if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio
단축 방향 원칙은 동일합니다. 현재 가격은 기본 가격을 비교하는 데 사용됩니다. 현재 가격이 기본 가격보다 작고 가격이 ratio * 100%'
각 주문의 주문 양은ratio * 100%
사용 가능한 펀드 가치의
계산된 주문 양이 최소 거래량보다 적지 않는 한 주문을 수행합니다.minStocks
파라미터에 의해 설정됩니다.
이 방법으로 전략은 가격 변화를 따라 승자를 구매합니다.
백테스팅 기간은 약 1년입니다.
실행 결과:
최근, 일부 사용자는 파이썬 전략이 거의 없다고 말했습니다. 나중에, 나는 파이썬으로 작성된 더 많은 전략을 공유 할 것입니다. 전략 코드는 또한 매우 간단하며, 양적 초보자가 배우는 데 매우 적합합니다. 전략 주소:https://www.fmz.com/strategy/181185
이 전략은 참고, 학습 및 백테스팅을 위한 것입니다. 관심이 있다면 최적화 및 업그레이드 할 수 있습니다.