동력거래 전략은 특정 기간 동안 개장 가격, 최고 가격, 그리고 최저 가격 사이의 관계를 분석하여, 현재 시장의 양쪽의 힘의 분포를 간접적으로 파악할 수 있다. 가격 변동을 분석하여 가격의 미래 움직임을 추적하는 목적을 달성한다.
가격동력 분석은 전통적인 수동
이 문서에서는 이 전략을 토큰 네트워크에서 디지털 화폐 현금 자동 거래 프로그램을 개발하는 데 사용하겠습니다.
AR = [N의 모든 (High-Open) 와 / N의 모든 (Open-Low) 의 합] * 100
그 중 하나는:
N: 일 시간 주기의 통계 창, 기본적으로 30일인데, 한 달의 유효 거래일은 30일 정도이기 때문에 ((디지털 화폐 24/7 거래, 이 숫자는 다소 보수적일 수 있다)
HIGH: 하루 최고 가격
오픈: 하루 개장 가격
로우: 하루 최저 가격
가격운동은 한 시간 동안, 오픈 가격의 최고 가격과 최저 가격 사이의 지점에 반응하며, 이 지점은 우리가 양쪽의 힘을 끌어당기는 근거입니다.
참고: 위의 모든 숫자는 기본 값이며 진실 정답은 아닙니다. 실제 거래 과정에서 우리는 시장의 변화에 따라 시장 상태에 맞게 범위를 조정해야합니다.
그리고 우리는 그것을 열었습니다.FMZ.COM, 로그인 계정, 컨트롤 센터를 클릭하고 관리자 및 로봇을 배치합니다.
관리자와 로봇을 배치하는 방법에 대해 이전 기사를 참조하십시오.https://www.fmz.com/bbs-topic/4140
클라우드 서버 배포 관리자를 구입하려는 독자들은 이 기사를 참조할 수 있습니다:https://www.fmz.com/bbs-topic/2848
다음으로, 왼쪽 메뉴의 정책집을 클릭하고, 새 정책을 클릭합니다.
작성 정책 페이지의 오른쪽 상단에서 Python을 선택하는 것을 기억하십시오.
다음으로 우리는 코드 편집 페이지에 파이썬 코드를 작성, 아래 코드는, 매우 상세한 줄별 설명과 함께, 당신은 천천히 이해하고 인식 할 수 있습니다. 더 중요한 것은, 이 전략은 현금 거래에 따라 작성되었지만, 다음 코드의 확장성 측면은 또한 선물 거래를 고려하고 있습니다. 관심있는 독자는 다음과 같은 코드를 선물 거래로 변환 시도 할 수 있습니다.
우리는 토큰 네트워크의 비트코인 현금으로 거래를 시작했고, 이 전략을 실행하기 시작했습니다.
import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型
def main(): # 主函数,策略逻辑从这里开始
IDLE = 0 # 用来标记持仓状态,可以理解为0即为空闲状态,也就是空仓状态
LONG = 1 # 多头持仓
SHORT = 2 # 空头持仓,注意,此策略应用于现货市场,所以不存在空头开仓或者持仓情况,这里这样写,是为了方便理解策略和以后的扩展(如扩展到期货市场)
state = IDLE # 标记持仓状态的变量
while True: # 进入循环
r = exchange.GetRecords() #GetRecords是发明者量化平台的官方API,详细用法请参见:https://www.fmz.com/api
if len(r) <= 1: # 判断K线是否大于一根,也就是当前是否为开盘状态,否则可能会进入死循环,这里也方便读者进行扩展,大一些的K线周期趋势状态更稳定。
Log("bar的数量不足, 等待下一根bar...") # 输出日志
continue # Python循环控制语句,继续下边的循环内容
# 开始进行价格动量的量化分析
ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # 计算公式
account = _C(exchange.GetAccount) # 获取账户信息,_C同样为发明者量化平台的官方API,用法请参见:https://www.fmz.com/api
if ar < 95 and (state == IDLE or state == SHORT) : # AR值小于超卖线且账户拥有资金,则全仓买入
if account["Balance"] > 50:
exchange.Buy(-1, account["Balance"] * 0.9) # 市价单全仓买入
state = LONG # 改变持仓状态为LONG
elif ar > 80 and (state == IDLE or state == LONG): # AR值大于超买线且账户有持仓,则全仓卖出
if account["Stocks"] > 0.01:
exchange.Sell(-1, account["Stocks"] * 0.9) # 市价单全仓卖出
state = SHORT # 改变持仓状态为SHORT
LogStatus(_D(), exchange.GetAccount() , state) # 更新日志信息
전략이 작성된 후, 우리가 해야 할 첫 번째 일은 그것을 재검토하고, 그것이 역사적인 데이터에서 어떻게 동작하는지 보는 것입니다. 그러나 독자 여러분, 재검토의 결과는 미래의 예측과 같지는 않지만, 재검토는 우리의 전략의 효과를 고려하기 위한 참조 정보로서만 사용될 수 있습니다. 시장이 변화하고 전략이 큰 손실이 발생하면 우리는 문제를 적시에 발견하고, 새로운 시장 환경에 적응하기 위해 전략을 변경해야 합니다. 예를 들어, 위에서 언급한 기준값, 만약 전략이 10% 이상의 손실이 발생한다면, 우리는 즉시 전략을 중단하고, 문제를 찾아서 기준값을 조정하는 것을 시작할 수 있습니다.
클릭하여 정책 편집 페이지의 모형 재검토, 재검토 페이지에서, 파라미터의 조정은 필요에 따라 다양하고, 편리하고 빠른 디메이징을 수행 할 수 있습니다. 특히 논리적으로 복잡하고, 많은 파라미터의 정책에 대해, 다시 소스 코드로 돌아가지 않고, 개별적으로 수정 할 수 있습니다.
우리는 가장 최근 한 달을 선택하고, BTC 거래 지표를 클릭하여 토큰 현금 거래소를 추가합니다.
재검토 결과를 확인합니다.
이 전략이 이달의 리뷰에서 좋은 결과를 보인다는 것을 알 수 있습니다.
일부 다른 전통적인 기술 지표들에 비해 가격 동력의 장점은 단일 오픈 가격이나 종료 가격을 사용하지 않고 최고 가격과 최저 가격을 도입한다는 것입니다. 이들에 대한 동적 비교가 이루어지고 있으며, 가격의 일내 변동에 의해 시장 정보가 보다 포괄적이고 반응이 더 빠르고 더 거시적으로 만들어집니다.
가격운동량을 독립적으로 사용하여 가격이 너무 높거나 낮는지 판단하고, 과잉/공백을 판단하는 것은 큰 흐름의 물결에서 너무 일찍 탈퇴하거나 큰 추락의 물결에서 너무 일찍 탈퇴할 가능성이 높다. 전체적으로, 이 전략은 여전히 충격 효과 전략이다.
전략의 문턱 설정은 거래 지표의 특성에 따라 결정되어야합니다. 디지털 통화 시장의 가격 변동이 크며 거래량이 크며, 특히 비트코인 같은 주류 화폐의 경우, 폭락 제한이 없습니다. 따라서 문턱은 전통적인 주식 시장보다 높으며, 80 초 파도 라인은 일반적으로 닿기 어렵고, 구매 신호가 거의 발생하지 않습니다. 170 초 파도 라인은 종종 문턱 아래에 있으며, 파도 신호는 자주 유발됩니다. 이는 전략이 실행되는 동안 대부분의 시간을 빈 상태에서 보내며 자금 활용률이 매우 낮아집니다. 예를 들어, 올해 1 월부터 비트코인 물결은 시장의 불 시장보다 최고 3500에서 거의 13000까지 상승했습니다.
따라서 이 시장에는 결코 어떤 신성한 잔 거래 전략도 없으며, 반복, 조정 없이 영원히 돈을 벌 수 있는 전략이다. 우리는 양적 거래자와 주관적 거래자처럼 결국에는 같은 방식으로 돌아갑니다. 시장의 변화에 따라, 상황에 따라, 모든 변화에 따라, 전략이 효과가 없을 때, 적절한 조정을 해야 합니다.
문제가 있는 친구가 올 수 있습니다.https://www.fmz.com/bbs이 사이트의 개발자들에 대한 모든 질문과 답변은, 개발자의 전략과 기술에 관한 것이든 간에,
마이케오많은 도움이 되었습니다. 감사합니다.