3.1장에서는 현금 거래 템플릿을 보여 주며 현금 전략을 작성하는 데 어려움을 크게 단순화한다. 그러나 미래 거래 처리는 현금과 매우 다릅니다. 따라서 현금 템플릿을 기반으로 통합된 미래 거래 기능이 공개되어 있습니다.
이 글은 전라북도 전라남도 서귀포시 서귀포시 서귀포시 서귀포시 서귀포시 서귀포시 서귀포시
현금 측면은 이전
파라미터:
이 전략의 테스트 코드는 다음과 같습니다:
function main() {
if (exchange.GetName() === 'Futures_OKCoin') {
var info = exchange.SetContractType("this_week");
Log("info 返回值:", info);
Log("当前持仓信息", exchange.GetPosition(), _C(exchange.GetTicker));
var depth = exchange.GetDepth();
var p = $.NewPositionManager();
p.OpenShort("this_week", 10, depth.Bids[0].Price - 2);
Log(exchange.GetPosition());
Sleep(500 * 1000);
depth = exchange.GetDepth();
var ret = p.Cover("this_week", depth.Bids[0].Price + 2, 5);
Log("cover ret:", ret);
//LogProfit(p.Profit());
Log(exchange.GetPosition());
Log("-----------------------------测试分割线----------------------------------------");
var depth = exchange.GetDepth();
p.OpenLong("this_week", 20, depth.Bids[0].Price + 2);
Log(exchange.GetPosition());
Sleep(500 * 1000);
depth = exchange.GetDepth();
var ret = p.Cover("this_week", depth.Bids[0].Price - 2, 10, PD_LONG);
Log("cover ret:", ret);
Log(exchange.GetPosition());
Log("-----------------------------测试分割线----------------------------------------");
var ret = p.Cover("this_week", depth.Bids[0].Price - 3, 10, PD_LONG);
Log("cover ret:", ret);
var ret = p.Cover("this_week", depth.Bids[0].Price + 3, 5, PD_SHORT);
Log("cover ret:", ret);
Log(exchange.GetPosition());
} else if (exchange.GetName() === 'Futures_BitVC') {
var info = exchange.SetContractType("week");
Log("info 返回值:", info);
Log("当前持仓信息", exchange.GetPosition(), _C(exchange.GetTicker));
var depth = exchange.GetDepth();
var p = $.NewPositionManager();
p.OpenLong("week", 500, depth.Bids[0].Price + 2);
Log(exchange.GetPosition());
Sleep(500 * 1000);
depth = exchange.GetDepth();
var ret = p.Cover("week", depth.Bids[0].Price - 2, 500);
Log("cover ret:", ret);
Log(exchange.GetPosition());
Log("-----------------------------测试分割线----------------------------------------");
var info = exchange.SetContractType("week");
Log("info 返回值:", info);
Log("当前持仓信息", exchange.GetPosition(), _C(exchange.GetTicker));
var depth = exchange.GetDepth();
p.OpenShort("week", 600, depth.Bids[0].Price - 2);
Log(exchange.GetPosition());
Sleep(500 * 1000);
depth = exchange.GetDepth();
var ret = p.Cover("week", depth.Bids[0].Price - 2, 500, PD_SHORT);
Log("cover ret:", ret);
Log(exchange.GetPosition());
Log("-----------------------------测试分割线----------------------------------------");
var ret = p.Cover("week", depth.Bids[0].Price + 3, 100, PD_SHORT);
Log("cover ret:", ret);
//p.Cover("week", depth.Asks[0].Price - 3, 300, PD_LONG);
Log(exchange.GetPosition());
} else if(exchange.GetName() === 'huobi' || exchange.GetName() === 'OKCoin'){
Log($.GetAccount());
Log($.Buy(0.5));
Log($.Sell(0.5));
exchange.Buy(1000, 3);
$.CancelPendingOrders(exchanges[0]);
Log($.Cross(30, 7));
Log($.Cross([1,2,3,2.8,3.5], [3,1.9,2,5,0.6]));
}
}
사용:
테스트 전략:
function main(){
var p = $.NewPositionManager();
var i = 0;
exchanges[0].SetContractType("this_week");
var isFirst = true;
var ret = null;
while(true){
var depth = _C(exchanges[0].GetDepth);
var positions = _C(exchanges[0].GetPosition);
var len = positions.length;
if(isFirst === true && i % 3 === 0 && len === 0){
ret = p.OpenLong("this_week", 1 + (i % 3) + (i % 2), depth.Asks[0].Price);
isFirst = false;
}else if(isFirst === false){
ret = p.OpenShort("this_week", 1 + (i % 3) + (i % 2), depth.Bids[0].Price);
isFirst = true;
}else{
for(var j = 0 ; j < len; j++){
if(positions[j].Type === PD_LONG){
ret = p.Cover("this_week", depth.Bids[0].Price - 2, positions[j].Amount, PD_LONG);
}else if(positions[j].Type === PD_SHORT){
ret = p.Cover("this_week", depth.Asks[0].Price + 2, positions[j].Amount, PD_SHORT);
}
Log("ret:", ret);
}
}
Log("ret", ret, "---------------------#FF0000");
i++;
Sleep(1000 * 60 * 15);
}
}
이 글의 저자는 이 글의 작성자입니다.
저는 나쁜 삼촌이 아닙니다.$Buy ((0.5) 를 사용하는 가격은 얼마입니까?
불법자Python 버전도 OKEX 선물을 지원합니까?
단순함ret는 무엇을 의미하는지, 영어 용어 줄임말은 무엇입니까? RECOVER T?
단순함PY 버전은 어디 있나요?
yhfggPython에 익숙한 사람, Python 버전이 있나요?
작은 꿈디지털 화폐 선물의 거래 목록은 비공식적이기 때문에 거래소의 보유 인터페이스가 종종 지연되어 반복 주문을 유발할 수 있으므로 공개를 취소했습니다.
작은 꿈/upload/asset/16c4dcc69723e302152c.png 이 위치에서
작은 꿈그 당시의 경쟁사 가격, 그리고 조금 더 낮은 가격.
작은 꿈이 문서는 아직 작성되지 않았지만, 상품 선물의 Python 템플릿이 있습니다. 제 JS는 사실 상품 선물의 구조에 따라 작성되어 있습니다. 참고하십시오.
불법자이 문서는 OKEX 선물에 대한 Python 템플릿을 참조하여 js를 사용하지 않을 것입니다.
작은 꿈파이썬의 미래 기능이 없습니다. 이식되지 않았습니다.
작은 꿈return 는 함수를 임시로 저장하는 데 사용되는 함수입니다. return 는 함수를 임시로 저장하는 데 사용됩니다.
단순함감사합니다.
작은 꿈https://www.botvs.com/strategy/21104, JS의 버전과 약간 다를 수 있습니다.
작은 꿈파이썬 버전이 있지만 사용량이 적어 사용이 좋을 때 테스트하는 것이 좋습니다.