리소스 로딩... 로딩...

50줄 격자 전략 (교육)

저자:발명가들의 수량화 - 작은 꿈, 날짜: 2018-08-24 16:32:24
태그:연구격자


var _StopLoss = 0
var _StopWin = 0
var _Grid = []

function UpdateGrid(nowBidsPrice, nowAsksPrice, direction){    // up 1, down -1
    if(_Grid.length == 0 || (direction == 1 && nowBidsPrice - _Grid[_Grid.length - 1].price > _GridPointDis) || 
        (direction == -1 && _Grid[_Grid.length - 1].price - nowAsksPrice > _GridPointDis)){

        var nowPrice = direction == 1 ? nowBidsPrice : nowAsksPrice
        _Grid.push({
            price: _Grid.length == 0 ? nowPrice : _Grid[_Grid.length - 1].price + _GridPointDis * direction,
            hold : {price: 0, amount: 0}, 
            coverPrice : _Grid.length == 0 ? nowPrice - direction * _GridCovDis : _Grid[_Grid.length - 1].price + _GridPointDis * direction - direction * _GridCovDis
        })

        var tradeInfo = direction == 1 ? $.Sell(_GridPointAmount) : $.Buy(_GridPointAmount)
        _Grid[_Grid.length - 1].hold.price = tradeInfo.price
        _Grid[_Grid.length - 1].hold.amount = tradeInfo.amount
        $.PlotFlag(new Date().getTime(), JSON.stringify(tradeInfo), "O")
    }
    if(_Grid.length > 0 && 
        ((direction == 1 && nowAsksPrice < _Grid[_Grid.length - 1].coverPrice) || (direction == -1 && nowBidsPrice > _Grid[_Grid.length - 1].coverPrice))){
        
        var coverInfo = direction == 1 ? $.Buy(_Grid[_Grid.length - 1].hold.amount) : $.Sell(_Grid[_Grid.length - 1].hold.amount)
        _Grid.pop()
        $.PlotFlag(new Date().getTime(), JSON.stringify(coverInfo), "C")
        _StopWin++
    } else if(_Grid.length > _GridNum){
        var coverfirstInfo = direction == 1 ? $.Buy(_Grid[0].hold.amount) : $.Sell(_Grid[0].hold.amount)
        _Grid.shift()
        $.PlotFlag(new Date().getTime(), JSON.stringify(coverfirstInfo), "C")
        _StopLoss++
    }

}

function main(){
    while(1){
        var ticker = _C(exchange.GetTicker)
        var records = _C(exchange.GetRecords)
        $.PlotRecords(records, "kline")
        UpdateGrid(ticker.Buy, ticker.Sell, direction)       
        var msg = ""
        for(var i = 0; i < _Grid.length; i++){
            msg += JSON.stringify(_Grid[i]) + "\n"
        }
        LogStatus(_D(), "_StopWin:", _StopWin, "_StopLoss:", _StopLoss, _C(exchange.GetAccount), "\n", "_Grid.length:", _Grid.length, "_GridNum:", _GridNum, "\n", msg)
        Sleep(500)
    }
}

관련

더 많은

326538268Bitmex 검색 결과 계약 설정이 없습니다.

후하오 100W이 글은 제가 읽지 못했던 글과 같습니다.

아판싱저우질문: 선물 소프트웨어 평형화 때, 어떤 오픈 포지션을 선택해야, 평형화 포지션을. 나는 코드에 평형화 때, 동작과 오픈 포지션을 같은 것을 볼 수 있습니다, 단지 이전과 반대되는 새로운 포지션을 오픈합니다. 그래서 더 복잡합니다.

발명가들의 수량화 - 작은 꿈이 전략은 현금이며, BITMEX는 선물 거래소입니다.

발명가들의 수량화 - 작은 꿈잘됐습니다.

아판싱저우자, 저는 미래에 관한 것을 다시 보겠습니다.

발명가들의 수량화 - 작은 꿈이 전략은 현금 버전일 뿐이며, 미래에셋에 변경할 수 있는 전략이 있습니다. 현상품은 단지 매입·판매에 불과하다. 구매는 더 많고 판매는 더 적다 (이전에 대응하는 구매 작전이 있다면) 또는 공백이다.