0 beğenilme 0 beğenilmeme
751 kez görüntülendi
Merhabalar,

Vadeli işlemler piyasasında alım emri (Long ve Short) emir için kullanılan komutlar nedir? Örnek olarak Endekste (F_XU030820) most stratejisine göre alım sinyali gelidiğinde  1 kontrat alım yapalım,sat sinyali geldiğinde elimideki long olan pozinyonu kapayalım. ve tekrar Short emir olarak yeni emir gönderelim. Nasıl yapabiliriz?
Algoritmik Trading kategorisinde (19 puan) tarafından | 751 kez görüntülendi

2 Cevaplar

2 beğenilme 0 beğenilmeme

        [Parameter(10)]   // longlarken 5 tane shortu kapatıp 5 tane long acacak
        public decimal BuyOrderQuantity;

        [Parameter(10)]   // shortlarken 5 tane longu kapatıp 5 tane short acacak
        public decimal SellOrderQuantity;
		

	public override void OnInit()
        {
            ....
	    SendOrderSequential(true); // al sat emirleri sırayla gönder
	    ....
           
        }

	public override void OnInitComplated()
        {
	    SendMarketOrder(Symbol, 5, OrderSide.Buy); // ilk olarak 5 tane long pozisyon açtık diyelim
        }
		
	public override void OnDataUpdate(BarDataEventArgs barData)
        {
            if (CrossAbove(mov, mov2)) // kısa periyotlu hareketli ortalama uzun periyotluyu aşağıdan yukarı kesince longla
            {
                SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
                Debug("Alış Emri Gönderildi");
            }

            if (CrossBelow(mov, mov2))
            {
                SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);
                Debug("Satış Emri Gönderildi");
            }
        }

buna benzer bir kod yazmalısınız.

(307 puan) tarafından
0 0
Merhabalar Süleyman, zaman ayırdığın için teşekkürler. "SendMarketOrder" ile short pozisyon alamıyorsun.

Sanırım ilgili komutu buldum. "SendShortSaleMarketOrder" açığa satış için kullanılacak komut bu.
0 0

Merhaba, endeks kontratı şortlayabiliyorum SendMarketOrder ile, denedim çalışıyor. ama benim stratejimde

SendOrderSequential(false); olarak setli.
0 0
SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell); 

Fonksiyonu @ilhan69 dediği gibi pozisyonunuz varsa satış, pozisyonunuz yoksa açığa satış yapar.

Açığa satış için SendShortSaleMarketOrder() fonksiyonu da kullanılabilir.

1 beğenilme 0 beğenilmeme
Merhaba. VİOP tarafı için SAT emri aynı zamanda = açığa sat emri olarak işlev gördüğü için, özel olarak bir şey yapmanız gerekmez.

Şöyle düşünün: Siz emri, her durumda SAT olarak göndereceksiniz. Pozisyonunuz var ise o kapanır. Yok ise açığa sat gerçekleşir. Ayrı ayrı satmanız da gerekmez.

Örnek olarak: Eğer manuel işlem yapıyorsanız ve 1 pozisyon alda iseniz, 2 sözleşme SAT emri gönderdiğinizde ve gerçekleştiğinde pozisyonunuz -1 olur.
(13,600 puan) tarafından
0 0
ilhan merhabalar, öncelikle ilgin için teşekkürler. Benim sorun IQ tarafında, sanırm MatriksPrime ile karıştırdın.
0 0
trader_x teşekkürler vakit ayırdığın için. Manuel değil  robot yazıyorum. Aslında yapmak istediğim şu; örneğin  İndikatör al sinyali verdiğinde 1 kontrat alıyorum sorun yok.Sat sinyali geldiğinde 1 kontrat sattığında pozisyon kapanıyor oda tmm. Ama akabinde tekrar bir pozisyonda açığa satması lazım ki shortlayım. yada Short pozisyondayım indikatör ala geçinde shortu kapatabiliyorum. ama bir adet fazladan longlaması lazım.
0 0
İlhan merhaba,

"Şöyle düşünün: Siz emri, her durumda SAT olarak göndereceksiniz. Pozisyonunuz var ise o kapanır. Yok ise açığa sat gerçekleşir. Ayrı ayrı satmanız da gerekmez.

Örnek olarak: Eğer manuel işlem yapıyorsanız ve 1 pozisyon alda iseniz, 2 sözleşme SAT emri gönderdiğinizde ve gerçekleştiğinde pozisyonunuz -1 olur."

demişsin. Burada AL & SAT emirlerinin tam olarak aynı fiyattan gönderildiği senaryoyumu konusuyoruz ?
8,636 soru
8,590 cevap
4,821 yorum
19,786 kullanıcı