Emir Fonksiyonları #
Strateji üzerinden Aracı Kurumların kabul ettiği hemen hemen tüm emir tipleriyle emir gönderilebilir.
Her emir tipi için farklı bir emir fonksiyonu bulunmaktadır. Aşağıdaki tablodan hangi fonksiyonun hangi emir tipinde emir gönderdiği görülebilir.
Fonksiyon | Açıklama |
---|---|
SendMarketOrder | Market(Piyasa) alım/satım emri göndermek için kullanılır |
SendLimitOrder | Limit alım/satım emri göndermek için kullanılır |
SendPLMOrder | Piyasadan Limite(PLM) alım/satım emri göndermek için kullanılır |
SendLimitOrderGoodTillDate | Tarih süre tipli Limit alım/satım emri göndermek için kullanılır |
SendShortSaleMarketOrder | Açığa Satış Piyasa emri göndermek için kullanılır |
SendMarketCloseShortOrder | Açığa Satış Kapatma Piyasa emri göndermek için kullanılır |
SendMarketShortSellOrder | Gün içerisinde kapanacak Açığa Satış Piyasa emri göndermek için kullanılır |
SendShortSaleLimitOrder | Açığa Satış Limit emri göndermek için kullanılır |
SendLimitCloseShortOrder | Açığa Satış Kapatma Limit emri göndermek için kullanılır |
SendPLMCloseShortOrder | Açığa Satış Kapatma Piyasadan Limite(PLM) emri göndermek için kullanılır |
SendShortSalePLMOrder | Açığa Satış Piyasadan Limite(PLM) emri göndermek için kullanılır |
SendViopStopLimitOrder | Viop Limit fiyatlı Şartlı Emir göndermek için kullanılır |
SendViopStopPLMOrder | Viop Piyasadan Limite(PLM) Şartlı Emir göndermek için kullanılır |
SendOrder | Stratejiden kişiselleştirilmiş emir göndermek için kullanılır. Tüm parametreleri istenilen emir tipine uygun şekilde doldurulmalıdır. |
SendBinanceOcoOrder | Binance Spot Piyasada One Cancels The Other (OCO) emri göndermek için kullanılır |
SendBinancePostOnlyOrder | Binance Piyasasında Limit Maker(Post Only) emri göndermek için kullanılır |
SendBinanceStopLimitOrder | Binance Piyasasında Stop Loss Limit emri göndermek için kullanılır |
SendBinanceStopMarketOrder | Binance Futures Piyasasında Stop Loss Market emri göndermek için kullanılır |
SendBinanceTakeProfitLimitOrder | Binance Piyasasında Take Profit Limit emri göndermek için kullanılır |
SendBinanceTakeProfitMarketOrder | Binance Futures Piyasasında Take Profit Market emri göndermek için kullanılır |
SendBinanceTpSlLimitOrder | Binance Futures Piyasasında Take Profit Limit veya Stop Loss Limit emirlerinden girilen değerlere bakarak uygun olan emri göndermek için kullanılır |
SendBinanceTpSlMarketOrder | Binance Futures Piyasasında Take Profit Market veya Stop Loss Market emirlerinden girilen değerlere bakarak uygun olan emri göndermek için kullanılır |
SendBinanceTrailingStopOrder | Binance Futures Piyasasında Trailing Stop Order(TSO) emri göndermek için kullanılır |
SendMarketOrder #
Market(Piyasa) alım/satım emri göndermek için kullanılır. Market emri kabul edilen tüm piyasalarda kullanılabilir.
Ek Notlar #
VİOP’da (Vadeli İşlem ve Opsiyon Piyasası) piyasa emri gönderilemediği için bu emir fonksiyonuyla gönderilen emirler Alış Yönlüyse Tavan Fiyattan, Satış Yönlüyse Taban Fiyattan limit emir olarak kurumlara iletilecektir.
Yazım #
public string SendMarketOrder(string Symbol, decimal quantity, OrderSide orderSide, TimeInForce timeInForce, [ChartIcon chartIcon], [bool? includeAfterSession], [bool isReduceOnly], [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
public string SendMarketOrder(string Symbol, decimal quantity, OrderSide orderSide, [ChartIcon chartIcon], [bool? includeAfterSession], [bool isReduceOnly], [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
Parametreler #
Parametre Adı | Gereklilik | Açıklama | Tip |
---|---|---|---|
Symbol | E | Emir gönderilmek istenen sembol tanımı | string |
quantity | E | Emir adedi | decimal |
orderSide | E | Emrin yönünün atandığı alan(Buy/Sell) | OrderSide |
timeInForce | E/H | Emir belirli bir geçerlilik süresiyle gönderilmek istenildiğinde doldurulması gereken parametredir. | TimeInForce |
chartIcon | H | Grafik üzerinde emrin etiketini belirleyen parametredir. | ChartIcon |
includeAfterSession | H | Viop sembolleri için akşam seansına emir gönderimini sağlayan parametre. True geçilirse akşam seansına emir gönderilebilir. | bool |
isReduceOnly | H | Binance Spot Piyasa için geçerli sadece pozisyon azaltmak istenildiğinde kullanılan parametre. True geçildiği takdirde aktif hale gelir. | bool |
sendsPushNotifications | H | Mobil IQ’ya push bildirim göndermek istenildiğinde True geçilmesi gereken parametredir. | bool |
pushNotificationGroupName | H | Bildirim grubu tanımı | string |
actionType | H | Mobil IQ’da bildirime tıklanınca alınacak aksiyonu belirleyen parametredir. | MobileNotificationActionType |
Örnek #
Hazır stratejilerde bulunan BasitRSI_SMA stratejisinden alınan kod parçası
if (rsi.CurrentValue < 10 && barData.BarData.Close > sma200.CurrentValue) { SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy); Debug("Alış Emri Gönderildi"); } if (barData.BarData.Close > sma10.CurrentValue) { SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell); Debug("Satış Emri Gönderildi"); }
SendLimitOrder #
Limit alım/satım emri göndermek için kullanılır. Limit emir kabul edilen tüm piyasalarda kullanılabilir.
Yazım #
public string SendLimitOrder(string Symbol, decimal quantity, OrderSide orderSide, decimal price, TimeInForce timeInForce, [ChartIcon chartIcon], [bool? includeAfterSession], [bool isReduceOnly], [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
public string SendLimitOrder(string Symbol, decimal quantity, OrderSide orderSide, decimal price, [ChartIcon chartIcon], [bool? includeAfterSession], [bool isReduceOnly], [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
Parametreler #
Parametre Adı | Gereklilik | Açıklama | Tip |
---|---|---|---|
Symbol | E | Emir gönderilmek istenen sembol tanımı | string |
quantity | E | Emir adedi | decimal |
orderSide | E | Emrin yönünün atandığı alan(Buy/Sell) | OrderSide |
price | E | Emir fiyatı | decimal |
timeInForce | E/H | Emir belirli bir geçerlilik süresiyle gönderilmek istenildiğinde doldurulması gereken parametredir. | TimeInForce |
chartIcon | H | Grafik üzerinde emrin etiketini belirleyen parametredir. | ChartIcon |
includeAfterSession | H | Viop sembolleri için akşam seansına emir gönderimini sağlayan parametre. True geçilirse akşam seansına emir gönderilebilir. | bool |
isReduceOnly | H | Binance Spot Piyasa için geçerli sadece pozisyon azaltmak istenildiğinde kullanılan parametre. True geçildiği takdirde aktif hale gelir. | bool |
sendsPushNotifications | H | Mobil IQ’ya push bildirim göndermek istenildiğinde True geçilmesi gereken parametredir. | bool |
pushNotificationGroupName | H | Bildirim grubu tanımı | string |
actionType | H | Mobil IQ’da bildirime tıklanınca alınacak aksiyonu belirleyen parametredir. | MobileNotificationActionType |
Örnek #
Koşullar sağlandığında 1 Adet Alış veya Satış emrini viop sembolleri için akşam seansı da dahil şekilde emir gönderen örnek:
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues) { if (CrossAbove(mov, mov2)) { SendLimitOrder(Symbol, 1, OrderSide.Buy, 55.25m, includeAfterSession : true); Debug("Alış Emri Gönderildi"); } if (CrossBelow(mov, mov2)) { SendLimitOrder(Symbol, 1, OrderSide.Sell, 55.25m, includeAfterSession : true); Debug("Satış Emri Gönderildi"); } }
SendPLMOrder #
Piyasadan Limite(PLM) alım/satım emri göndermek için kullanılır.
Yazım #
public string SendPLMOrder(string Symbol, decimal quantity, OrderSide orderSide, [ChartIcon chartIcon], [bool? includeAfterSession], [bool isReduceOnly], [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
Parametreler #
Parametre Adı | Gereklilik | Açıklama | Tip |
---|---|---|---|
Symbol | E | Emir gönderilmek istenen sembol tanımı | string |
quantity | E | Emir adedi | decimal |
orderSide | E | Emrin yönünün atandığı alan(Buy/Sell) | OrderSide |
chartIcon | H | Grafik üzerinde emrin etiketini belirleyen parametredir. | ChartIcon |
includeAfterSession | H | Viop sembolleri için akşam seansına emir gönderimini sağlayan parametre. True geçilirse akşam seansına emir gönderilebilir. | bool |
isReduceOnly | H | Binance Spot Piyasa için geçerli sadece pozisyon azaltmak istenildiğinde kullanılan parametre. True geçildiği takdirde aktif hale gelir. | bool |
sendsPushNotifications | H | Mobil IQ’ya push bildirim göndermek istenildiğinde True geçilmesi gereken parametredir. | bool |
pushNotificationGroupName | H | Bildirim grubu tanımı | string |
actionType | H | Mobil IQ’da bildirime tıklanınca alınacak aksiyonu belirleyen parametredir. | MobileNotificationActionType |
Örnek #
if (rsi.CurrentValue < 10 && barData.BarData.Close > sma200.CurrentValue) { SendPLMOrder(Symbol, BuyOrderQuantity, OrderSide.Buy); Debug("Alış Emri Gönderildi"); } if (barData.BarData.Close > sma10.CurrentValue) { SendPLMOrder(Symbol, SellOrderQuantity, OrderSide.Sell); Debug("Satış Emri Gönderildi"); }
SendLimitOrderGoodTillDate #
Tarih süre tipli Limit alım/satım emri göndermek için kullanılır
Yazım #
public string SendLimitOrderGoodTillDate(string Symbol, decimal quantity, OrderSide orderSide, decimal price, DateTime expireDate, [ChartIcon chartIcon], [bool? includeAfterSession], [bool isReduceOnly], [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
Parametreler #
Parametre Adı | Gereklilik | Açıklama | Tip |
---|---|---|---|
Symbol | E | Emir gönderilmek istenen sembol tanımı | string |
quantity | E | Emir adedi | decimal |
orderSide | E | Emrin yönünün atandığı alan(Buy/Sell) | OrderSide |
price | E | Emir fiyatı | decimal |
expireDate | E | Emrin tahtada bekleyeceği süreyi belirleyen parametredir. Belirtilen tarih içerisinde gerçekleşmeyen emirler iptal olur. | DateTime |
chartIcon | H | Grafik üzerinde emrin etiketini belirleyen parametredir. | ChartIcon |
includeAfterSession | H | Viop sembolleri için akşam seansına emir gönderimini sağlayan parametre. True geçilirse akşam seansına emir gönderilebilir. | bool |
isReduceOnly | H | Binance Spot Piyasa için geçerli sadece pozisyon azaltmak istenildiğinde kullanılan parametre. True geçildiği takdirde aktif hale gelir. | bool |
sendsPushNotifications | H | Mobil IQ’ya push bildirim göndermek istenildiğinde True geçilmesi gereken parametredir. | bool |
pushNotificationGroupName | H | Bildirim grubu tanımı | string |
actionType | H | Mobil IQ’da bildirime tıklanınca alınacak aksiyonu belirleyen parametredir. | MobileNotificationActionType |
Örnek #
DateTime türünde tarih oluşturularak Tarihli gönderilen emir:
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues) { if (CrossAbove(mov, mov2)) { SendLimitOrderGoodTillDate(Symbol, 1, OrderSide.Buy, 100, new DateTime(2024, 06, 10)); Debug("Alış Emri Gönderildi"); } if (CrossBelow(mov, mov2)) { SendLimitOrderGoodTillDate(Symbol, 1, OrderSide.Sell, 100, new DateTime(2024, 06, 10)); Debug("Satış Emri Gönderildi"); } }
SendShortSaleMarketOrder #
Borsa İstanbul Pay Piyasasında açığa satış emirleri için kullanılan emir fonksiyonudur.
Yazım #
public string SendShortSaleMarketOrder(string Symbol, decimal quantity, TimeInForce timeInForce, [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
public string SendShortSaleMarketOrder(string Symbol, decimal quantity, [bool sendsPushNotifications],[string pushNotificationGroupName, [MobileNotificationActionType actionType]);
Parametreler #
Parametre Adı | Gereklilik | Açıklama | Tip |
---|---|---|---|
Symbol | E | Emir gönderilmek istenen sembol tanımı | string |
quantity | E | Emir adedi | decimal |
timeInForce | E/H | Emir belirli bir geçerlilik süresiyle gönderilmek istenildiğinde doldurulması gereken parametredir. | TimeInForce |
sendsPushNotifications | H | Mobil IQ’ya push bildirim göndermek istenildiğinde True geçilmesi gereken parametredir. | bool |
pushNotificationGroupName | H | Bildirim grubu tanımı | string |
actionType | H | Mobil IQ’da bildirime tıklanınca alınacak aksiyonu belirleyen parametredir. | MobileNotificationActionType |
Örnek #
Hazır stratejilerde bulunan ACCBandsIndikator stratejisinden alınan kod parçası
public override void OnDataUpdate(BarDataEventArgs barData) { var barDataModel = GetBarData(); var close = barDataModel.Close[barData.BarDataIndex]; //Aciga Satis olmayan versiyon if (CrossAbove(barDataModel, accBands.Upper, OHLCType.Close)) { SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Buy)); Debug("Alış emri verildi."); } if (CrossBelow(barDataModel, accBands.Upper, OHLCType.Close)) { SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Sell)); Debug("Satış emri verildi."); } //Aciga Satis if (CrossBelow(barDataModel, accBands.Lower, OHLCType.Close) && AcigaSatis==true) { SendShortSaleMarketOrder(Symbol, OrderQuantity); Debug("Satış emri verildi."); } if (CrossAbove(barDataModel, accBands.Lower, OHLCType.Close) && AcigaSatis==true) { SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Buy)); Debug("Alış emri verildi."); } }