簡體   English   中英

R IBrokers algo提交twsOrder時的策略選項

[英]R IBrokers algoStrategy option when submitting twsOrder

我正在嘗試使用盈透證券的自適應算法。 似乎R的IBrokers軟件包( https://cran.r-project.org/web/packages/IBrokers/IBrokers.pdf-pg37和38)尚未完成,因為當我執行以下代碼時,我的訂單未通過。

  tws <- twsConnect()

  stockEquity <- twsEquity("AAPL")

  parentLongId <- reqIds(tws)

  parentLongOrder <- twsOrder(parentLongId, action="BUY", totalQuantity = 100, orderType = "MKT", transmit=TRUE, 
algoStrategy ="Adaptive", algoParams = "Normal")

我在GitHub( http://interactivebrokers.github.io/tws-api/ibalgos.html )上找到了適用於JAVA,Python,C#和C ++的API指南。 我想知道是否有人知道如何將代碼轉換為R。

Java的例子

  Order baseOrder = OrderSamples.LimitOrder("BUY", 1000, 1);
  AvailableAlgoParams.FillAdaptiveParams(baseOrder, "Normal");
  client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder);
public static void FillAdaptiveParams(Order baseOrder, String priority) {
    baseOrder.algoStrategy("Adaptive");
    baseOrder.algoParams(new ArrayList<>());
    baseOrder.algoParams().add(new TagValue("adaptivePriority", priority));
}

我認為R用戶訪問IBALGO的最簡單方法是安裝Reticulate軟件包,該軟件包允許您在R中使用Python。然后安裝ib_insync Python模塊。 現在,借助Reticulate,您幾乎可以使用R以幾乎所有方式來管理IB API,就好像在其本機Python中工作一樣。

只需記住,在R中使用與Python的TagValue等效的語法如下:

algoStrategy = 'Adaptive',
algoParams = list(insync$TagValue('adaptivePriority', 'Normal')))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM