Pruebas de retroalimentación y pruebas en disco físico
Vea la documentación de la API
Buy(Price, Amount) 下买单, Price为买单价格,Amount为数量, 返回一个订单ID
可以跟多余的参数做为附加消息显示到日志, 如exchange.Buy(1000,0.1, "OK", 123)
支持现货(火币/BitVC/OKCoin/OKCoin国际/OKCoin期货/BTCChina/BitYes)市价单, 市价单价格指定为-1
exchange.Buy(1000), 指买市价1000元的币, BTCChina例外exchange.Buy(0.3)指市价买0.3个币
Aquí está el código fuente de la prueba:
function main() {
var ticker = null; // 用于获取ticker 行情。
Log("initAccount:", exchange.GetAccount()); // 获取初始账户信息。
Log("ticker:", ticker = exchange.GetTicker()); // 获取并打印行情
Log("3000元 预计买到 Amount:", 3000 / ticker.Last); // 计算下 Amount 传入 3000 预计按照当前的行情可以买入的数量。
exchange.Buy(-1, 3000); // 使用市价单, 在参数 Price 传入 -1 , 第二个参数 Amount 回测系统中为 法币。
Log("nowAccount:", exchange.GetAccount()); // 显示当前账户信息,用于对比 实际买入的数量。
}
Este es el resultado:
Nota: El parámetro Amount transmitido en la detección es el franco.
Se puede ver que el inventor cuantifica que el disco simulado no es compatible con la lista de precios. Cambia un disco físico para probar.
function main() {
var ticker = null;
Log("OKCoin 允许的BTC最小交易量:", 0.01); // 显示一下 OKCoin 允许的最小交易量
// GetMinStock 函数已经废除, 需要使用一个 变量代替 最小交易币数(或者设置成 界面参数)
Log("initAccount:", exchange.GetAccount());
Log("ticker:", ticker = exchange.GetTicker());
exchange.Buy(-1, 200);
Log("nowAccount:", exchange.GetAccount());
}

En el video, se puede ver que Amount ha ingresado 200 dólares, debido a que el saldo de la cuenta no es suficiente. ¿Entonces el parámetro Amount es el número de monedas que se están negociando?
exchange.Buy(-1, 0.5); // 这句的 第二个参数 原来是200 改为 0.5

Como se puede ver, el 0.5 que entró no fue 0.5 monedas, sino 0.5 monedas (la cantidad de RMB), por lo que se mostrará el error de arriba.
Esta vez es diferente.
function main() {
var ticker = null;
Log("OKCoin 允许的BTC最小交易量:", 0.01);
// GetMinStock 函数已经废除, 需要使用一个 变量代替 最小交易币数(或者设置成 界面参数)
Log("initAccount:", exchange.GetAccount());
Log("ticker:", ticker = exchange.GetTicker());
exchange.Sell(-1, 0.5); // 注意这里 传入Amount 的值 0.5
Log("nowAccount:", exchange.GetAccount());
}
Resultados del backtesting:
Se puede ver que el parámetro de la cantidad introducido cuando se usa la lista de precios de venta es la cantidad de BTC que se quiere negociar, no la cantidad en monedas, y es diferente a la llamada Buy.
Esta vez en vivo me metí a hacer una pequeña prueba de dinero.
function main() {
var ticker = null;
Log("OKCoin 允许的BTC最小交易量:", 0.01);
Log("initAccount:", exchange.GetAccount());
// GetMinStock 函数已经废除, 需要使用一个 变量代替 最小交易币数(或者设置成 界面参数)
Log("ticker:", ticker = exchange.GetTicker());
exchange.Sell(-1, 0.011); // 我实盘 冲进去了一点钱, 看看效果。
Sleep(5000);
Log("nowAccount:", exchange.GetAccount());
}
Resultados de la operación:
Como se puede ver, el segundo parámetro de Sell, Amount, es el número de monedas a negociar.