Type/to search
8
Follow
1386
Followers
2.3 Размещение рыночного ордера на торговлю
Tutorials
Created 2016-11-08 11:05:52  Updated 2019-08-01 09:26:02
 6
 6001

Снижение цены сделки


Тест на обратную связь и тест на реальном диске

  • 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

В результате, сумма поступила в 200 долларов из-за недостаточного баланса в франках.
Мы пытаемся ввести 0.5.

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

Как вы можете видеть, 0.5 не 0.5 монет, а 0.5 монет (RMB), поэтому ошибка будет показана выше.

  • Продажа (продажа) (продажа) (продажа) (продажа) (продажа)

    Продажа и покупка немного отличаются.

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, указывает на количество биткойнов, которые нужно продать, а не на сумму в франках, в отличие от вызова Buy.

  • Продажа (продажа) (продажа) (продажа)

    На этот раз я пошёл в магазин, чтобы проверить деньги.

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 - это количество монет, которые нужно обменять.

Related Recommendations
Comment
All comments (6)

    好像期货不支持下市价单

    8 years ago

    回测系统中 ,暂时不支持 期货 市价单了,实盘是可以的。

    8 years ago

    GetMinStock废弃了之后,最小交易量要怎么获取?

    8 years ago

    GetMinStock应该是已经废弃了,还是把这个function从示例中移除比较好。

    8 years ago

    已经修改了 , 感谢 提出建议 ^^

    8 years ago

    python版本

    img

    img

    9 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)