2.3 Продажи по рыночным ценам

Автор:Маленькие мечты, Создано: 2016-11-08 11:05:52, Обновлено: 2019-08-01 09:26:02

Список цен на рынке


Однократное тестирование и тестовые настройки ОККоин

  • Buy (()) Достаточное количество перепроверки

    Смотрите документацию 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个币

Ссылка на исходный код теста:

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()); // 显示当前账户信息,用于对比 实际买入的数量。
}

Посмотрите результаты:imgПримечание: параметры Amount, введенные при повторной проверке, являются фанами.

  • Buy (()) Ниже рыночная цена Список реальных дисков

    imgВы можете увидеть, что изобретатель количественно определил, что аналоговая диска не поддерживает рыночные цены.
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());
}

img

Посмотрите, что Amount переходит в 200, потому что на счету недостаточно денег. Итак, параметр Amount - это количество транзакций?

exchange.Buy(-1, 0.5); // 这句的 第二个参数 原来是200 改为 0.5 img

Как вы можете видеть, входящая в него сумма 0.5 не 0.5 монета, а 0.5 фана (в сумме RMB), поэтому вы видите ошибку, указанную выше.

  • Sell (()) Проверка перепродажи

    В этом случае продать и купить немного отличается.
  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());
}

Результаты анализа:imgВы можете видеть, что параметры передачи Amount, когда используется Sell, указывают на количество, которое нужно обменять (количество BTC), а не на сумму, которую нужно купить.

  • Sell (()) Ниже рыночная цена Тест на диске

    На этот раз я бросился туда, чтобы попробовать немного денег.
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());
}

Результаты:imgКак видите, второй параметр Sell, Amount, - это количество денег, которые нужно продать.


Больше

ВПохоже, что фьючерсы не поддерживают листовку.

Марун-звездаКак получить минимальный объем сделок после отмены GetMinStock?

ЧерныйGetMinStock должен был быть отменен или лучше удалить эту функцию из примера.

ФанбэйВерсия Python https://dn-filebox.qbox.me/9c60297441da0ff8ae0d59aa204ce3ff512a2e49.png https://dn-filebox.qbox.me/def30c890172a44d526ea55c7f38e32507f000c6.png

Маленькие мечтыВ системе рецензирования, временно не поддерживается Фьючерсная рыночная цена указана, реальная диска допустима.

Маленькие мечтыЯ уже пересмотрел, спасибо за предложение ^^