0 beğenilme 0 beğenilmeme
478 kez görüntülendi
Merhaba, ott indikatörü fiyatı yukarı kesince al işlemi devreye girecek. Daha sonra aldıgı miktarın %25 ini %3 yükselişte satacak, diger  %25 kısmı %5 yükselişte satacak kalan %50 kısmı iz süren stop(%3) ile takip edecek. Ugraştım ama beceremedim yardımcı olur musunuz?
Algoritmik Trading kategorisinde (61 puan) tarafından | 478 kez görüntülendi
0 0
ott yukarı kesince al işlemi yaptırıyorum ama aynı koşul içerisinde %3 yukarı çıkınca otomatik kar al nasıl yaparım sadece burasını yapamıyorum yardıımcı olabilecek var mı?

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba kar al/zarar durdur fonksiyonlarini kullanabilirsiniz.

TakeProfit(Symbol, SyntheticOrderPriceType.Percent, 3); //Belirtilen sembole bagli mevcut Poz. %3 kara ulastiginda kapatilacaktir.

Kullanim ornegi icin SMA_Bitmex_TPSL hazir stratejisine bakabilirsiniz.

Algo dokumaninda bulunan aciklama:

TakeProfit( string symbol, SyntheticOrderPriceType SyntheticOrderPriceType, decimal stopLevel ): Girdiğiniz sembol için kar al emri tanımlamakta kullanılır. Sembol başına bir adet kar al emri tanımlanabilir. Önceden tanımlı bir kar al emri varsa yenisiyle değiştirilir.

Emir tanımlandığında sembolün güncel fiyatına göre short ve long pozisyon için ayrı stop fiyatları belirlenir. Sembol fiyatı değiştikçe, pozisyonunuzun yönüne göre kullanılacak stop fiyatı seçilir.

Fiyat seçilen stop değerine ulaştığında, pozisyonunuz kadar ve zıt yönde bir market emri gönderilir.

Parametreler:

SyntheticOrderPriceType: Stop noktaları için fiyat hesaplama yöntemini seçmekte kullanılır. SyntheticOrderPriceType.Percent veya  SyntheticOrderPriceType.PricePoint seçenekleri ile yöntem, yüzdesel fark veya fiyat farkı olarak seçilir.

stopLevel: Stop değerleri hesaplanırken kullanılacak değeri seçer. SyntheticOrderPriceType parametresi seçimine bağlı olarak yüzde fark veya fiyat farkı değeri olarak kullanılır.

____________________________________________________________________

Onemli nokta TP/SL fonksiyonlari pozisyonun tumu icin calismakta. Pozisyonun belli bir miktari icin islem yapmak istiyorsaniz, manuel olarak kar al emri tanimlayabilirsiniz.

Islem market emri ile gerceklestiriliyorsa anlik kapanis fiyatini kaydedip bu fiyattan %3 yukarida fiyat olusup olusmadigini onDataUpdate icerisinde kontrol edebilirsiniz.

Orn.

...
SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
LastExecPrice = Close;
if (realposition > 0 && Close >= LastExecPrice * 1.03m) 
//anlik fiyatin daha onceden islem yapildiginda kaydettigimiz fiyattan %3 daha fazla olup olmadigini kontrol eder
{
	Debug("3% kar hedefine ulasildi, pozisyonun 1/4'u kapatilacaktir");
	SendMarketOrder(Symbol, BuyOrderQuantity/4, (OrderSide.Sell));
}

 

(8,035 puan) tarafından
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



7,633 soru
7,639 cevap
4,448 yorum
10,858 kullanıcı