R ibrokers paketi ile çalışıyorum ve bir işlem için birden fazla kapanış fiyatı belirlemeye çalışıyorum. Örneğin, AAPL'ın 100 hissesini 106 $ 'dan satın al, 50 $' dan 50 ve 107 $ 'dan 50 $' lık bir stop fiyatıyla sat.Braket Emirlerinde Birden Çok Miktar R
Birden çok kar alma emri gönderdiğimde, 50 miktarın göz ardı edilmesi gibi görünüyor, bunun yerine her biri 100 hisse için iki satış emri aldım.
Bu
Ben Sen miktar satış emirlerinin her biri için 3 siparişler için 100 yerine satın almak için 100 ve 50 olduğunu görebilirsiniztws <- twsConnect()
stock <- twsEquity("AAPL")
parentLongId <- reqIds(tws)
parentLongOrder <- twsOrder(parentLongId, action="BUY", totalQuantity = 100,
orderType = "LMT", lmtPrice = 106,
transmit=TRUE)
placeOrder(tws, stock, parentLongOrder)
childLongProfitId <- reqIds(tws)
childLongProfitOrder <- twsOrder(childLongProfitId, action="SELL", totalQuantity = 50,
orderType = "LMT", lmtPrice = 107,
transmit=TRUE, parentId = parentLongId)
placeOrder(tws, stock, childLongProfitOrder)
childLongProfitId2 <- reqIds(tws)
childLongProfitOrder2 <- twsOrder(childLongProfitId2, action="SELL", totalQuantity = 50,
orderType = "LMT", lmtPrice = 108,
transmit=TRUE, parentId = parentLongId)
placeOrder(tws, stock, childLongProfitOrder2)
childLongStopId <- reqIds(tws)
childLongStopOrder <- twsOrder(childLongStopId, action="SELL", totalQuantity = 100,
orderType = "STP", auxPrice = 105,
transmit=TRUE, parentId = parentLongId, account=accountNum)
placeOrder(tws, stock, childLongStopOrder)
twsDisconnect(tws)
Bunun nasıl düzeltilebileceğini bilen var mı?
Sağlık kontrolü olarak, parentId olmadan siparişlere girdim ve çalıştı. Bu olsa
tws <- twsConnect() #open connection, R automatically pauses until manually accepted on IB.
stock <- twsEquity("AAPL")
parentLongId <- reqIds(tws)
parentLongOrder <- twsOrder(parentLongId, action="BUY", totalQuantity = 100,
orderType = "LMT", lmtPrice = 106,
transmit=TRUE)
placeOrder(tws, stock, parentLongOrder)
childLongProfitId <- reqIds(tws)
childLongProfitOrder <- twsOrder(childLongProfitId, action="SELL", totalQuantity = 50,
orderType = "LMT", lmtPrice = 107,
transmit=TRUE)
placeOrder(tws, stock, childLongProfitOrder)
childLongProfitId2 <- reqIds(tws)
childLongProfitOrder2 <- twsOrder(childLongProfitId2, action="SELL", totalQuantity = 50,
orderType = "LMT", lmtPrice = 108,
transmit=TRUE)
placeOrder(tws, stock, childLongProfitOrder2)
childLongStopId <- reqIds(tws)
childLongStopOrder <- twsOrder(childLongStopId, action="SELL", totalQuantity = 100,
orderType = "STP", auxPrice = 105,
transmit=TRUE, parentId = parentLongId, account=accountNum)
placeOrder(tws, stock, childLongStopOrder)
twsDisconnect(tws)
Ben kar istiyorum bunun beri uygulamada çalışmak ve isabet kez başkalarını iptal emrini durmayacak: İşte bunun için kodudur.
Teşekkür ederiz.
2 braket siparişini veya 2 toplu OCA kapanış emrini öneririm. Esas olarak, miktarın yarısı için ancak farklı kar tutarları için iki parantez siparişi verin. – brian
Merhaba Brian. Siparişlerin 2 setinin oluşturulması işe yarayacak, ancak durağı da hareket ettirmek istiyorsam sorun yaratabilir. İki kere taşımam gerekecek. Emirlerin daima "ayarlanması ve unutulması" istemiyorum. – mks212
Sadece bunu gördüm. Eğer ödülü 6 saat uzatabilirsen, bunun için sana iyi bakabilirim. –