시장 추세에서 보면 80%의 시간이 흔들림의 추세에 있다는 통계가 있다. 네트워크 전략은 흔들림에 대응하는 전략이다. 네트워크 전략은 구체적으로 여러 가지 방법으로 구현되지만, 본질적으로 상대적으로 안정적인 올리기 전략을 세우는 것이며, 가격 변동이 전략의 조건을 충족하는 한 올리는 것이다. 예를 들어, 가격이 5% 떨어지면 총 자본의 20%를 올리는 것으로, 최대 5번의 올림으로 자금을 완전히 사용할 수 있다. 여기서 우리는 또한 5% 상승하면 초기 자본의 20%를 빼면 5번의 올림이 끝나면 정리할 수 있다. 이것이 네트워크 전략의 기본 생각이다.
구역주인은 오늘날 격자 거래와 유사한 양량화 전략을 소개하지만, 이를 바탕으로 몇 가지 개선이 이루어져 있으며, 어떤 경우에는 연봉이 130%까지 도달할 수 있다. 구역주인은 이를 소매점 전략이라고 부릅니다. 즉, 운영자가 소매점의 사업자라고 상상하는 것입니다. 그는 시장의 공정한 가격을 목표로 하고, 공정한 가격보다 높을 때; 그는 상품을 내놓고, 공정한 가격보다 낮을 때, 그는 상품을 구매합니다. 또한 그는 마지막 거래 가격을 기록하는 작은 책자를 가지고 있으며, 상품의 가격이 상위 거래 가격보다 낮을 때, 그는 또한 급격하게 구매할 수 있으며, 반대로. 무한 조작을 피하기 위해, 자본이 1보다 낮거나 1보다 높을 때, 작업이 중단됩니다.
이 글은 이 모든 단계에 대해 자세히 설명합니다.
첫 번째 단계: 상품의 변동률을 관찰하고 공정 가격 지표를 찾습니다. 중간선 (30분 줄의 20주기) 또는 브린 중간선일 수도 있습니다. 기본으로 5개의 포지션을 구매하고 거래 가격을 기록합니다.
2단계: 공정한 가격 지표의 3% 이하인 경우 구매를 지시하고, 공정한 가격의 3% 이상인 경우 판매를 지시하고, 거래 가격을 기록합니다.
이전 거래 가격의 5% 이하인 경우 구매를 지시하고, 거래 가격의 5% 이상인 경우 판매를 지시하고, 거래 가격을 기록합니다.
세 번째 단계: 현재 포지션에 따라 구매 지시를 받을 때 어떻게 거래할지 결정한다. 포지션은 10%에서 9% 사이에 변동하며, 이 범위를 넘어서면 거래되지 않지만 거래 가격을 기록할 수 있다.
이 전략은 단일 상품 소매점 전략이라고 불리는 이유는 소매점에는 하나의 상품이 있기 때문입니다. 후속 개선방향으로, 우리는 다양한 상품 회전을 증가시킬 수 있기를 바랍니다.
우리는 다시 테스트를 실행합니다. 먼저 우리는 변동성이 높은 ETH를 상품으로 선택했습니다. 2019년 1월 1일부터 10월 10일까지의 시기는 상승과 하락이 있습니다.
보시다시피, 재검토 효과는 좋은 것으로 나타났습니다. 연화율은 130%에 달하고 거래 수수료는 1,651원으로 만들어졌습니다.
단점은 최대 회수 또는 약간 높고 30% 정도입니다. 주요 회수는 상품이 크게 떨어지는 단계에서 발송됩니다. 생각 또한 이해 할 수 있습니다. 이 전략은 상품을 거래하기 위해 고정되어 있기 때문입니다. 상품 가격이 하락하면 높은 수준에서 일부 상품을
/*backtest start: 2019-01-01 00:00:00 end: 2019-10-10 00:00:00 period: 1d exchanges: [{"eid":"OKEX","currency":"ETH_USDT","stocks":0}] args: [["OpMode",1,10989],["MaxAmount",1,10989],["TradeFee",0.001,10989]] */ //注册币乎后https://m.bihu.com/signup?i=1ewtKO&s=4&c=4 //搜索 物联网区块链 可以联系到作者区班主 function main() { var isInit = 1; //表示初始态 var allAmount; var cashRatio; var initAccount = _C(exchange.GetAccount); var lastPrice; var wantRatio; var wantOper=0;//期待的操作,0不操作,1买入,-1卖出 Log(initAccount); var mhigh; var mlow; while (true) { var mrecords = exchange.GetRecords(PERIOD_M30); //一定周期内的高低点 mhigh=TA.Highest(mrecords, mnum, 'High'); mlow=TA.Lowest(mrecords, mnum, 'Low'); var midLine = (mhigh+mlow)/2; var ticker = _C(exchange.GetTicker); var account = _C(exchange.GetAccount); var nowPrice=ticker.Sell; var obj; if (isInit == 1) { //初始化状态为默认仓; //账户现金乘以比例,除以当前价格,保留小数前3位 obj = $.Buy(_N(account.Balance * initRatio / ticker.Sell, 3)); if (obj) { //如果购买成功,就标志开仓 opAmount = obj.amount; lastPrice = obj.price; isInit=0; //初始化成功 account = _C(exchange.GetAccount); Log("初始开仓:购买量", opAmount); Log("目前持币数", account.Stocks); } }else{ //日常操作检测 if(nowPrice>midLine*1.03||nowPrice>lastPrice*1.07){ wantOper=-1; }else if(nowPrice<midLine*0.97||nowPrice<lastPrice*0.93){ wantOper=1; }else{ wantOper=0; } if (wantOper==-1) { //离市平仓 lastPrice=nowPrice; //不管买没买成功都修改了一下价格 allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额 cashRatio=parseFloat((account.Balance/allAmount).toFixed(3)); if(cashRatio>0.9){ //现金比例大于0.9,不做任何操作 wantRatio=0; }else if(cashRatio>0.8){ //现金比例超过0.8,可以抛一成仓 wantRatio=0.1; }else{ //其他情况都可以抛掉2成仓 wantRatio=0.2; } obj = $.Sell(_N(allAmount*wantRatio/ticker.Sell, 3)); if(obj){ opAmount = obj.amount; Log("平仓:卖出量",opAmount); nowAccount = _C(exchange.GetAccount); Log("目前现金",nowAccount.Balance,"盈利",allAmount - initAccount.Balance); } }else if (wantOper==1) { //开仓买入 lastPrice=nowPrice; //不管买没买成功都修改了一下价格 allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额 cashRatio=parseFloat((account.Balance/allAmount).toFixed(3)); //Log("准备买入",cashRatio); if(cashRatio<0.1){ //现金比例小于0.1,已没钱买了 wantRatio=0; }else if(cashRatio<0.2){ //现金比例超过0.2,可以买一成仓 wantRatio=0.1; }else{ //其他情况都可以买2成仓 wantRatio=0.2; } obj = $.Buy(_N(allAmount*wantRatio/ticker.Sell, 3)); if(obj){ opAmount = obj.amount; Log("买入:买入量",opAmount); nowAccount = _C(exchange.GetAccount); Log("目前现金",nowAccount.Balance,"盈利",allAmount - initAccount.Balance); } } } Sleep(Interval*1000); } }