Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. 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.

0

matriksiq kapandığında sentetik kod içerisindeki trailing stoploss işlevini kaybediyor

Soruldu
Görüntülenme
724 görüntülenme
Durum
Cevaplandı
merhaba;

herhangi bir sebeple iq kapanıp tekrar açıldığında robotları tekrar en baştan başlatmak gerekiyor.Pozisyonda olanları "çalıştırılmış stratejilerden" diğerlerini en baştan açıyorum ancak al pozisyonunda olanlarda trailing stoploss gidiyor sistem stop etmiyor ve Manuel trailing stoploss koymam gerekiyor.Bu durum çok büyük sıkıntı.Buna mutlaka bir çare gerekli.On init içine veya başka bir method içerisine) AL-Sat robotumda veya çift yönlü robotta ..(AL pozisyonundaki)Stratejiyi tekrar çalıştırdığımda pozisyonda olduğumuzda trailing stop veya diğer sentetik stopları ilk açılışta eski haliyle devreye nasıl sokarız.Çünkü bu durumda Trailing stopLoss fonksiyonu kullanılamaz. ?
Paylaş

2 Cevap

1

Merhaba,,

Stratejiler durdurulup/duraklatılıp devam ettirildiğinde sentetik emirler silinmektedir.

Şu yapılabilir devam ettirildiğimde elinizde pozisyon varsa sentetik emirleri tekrar o anki fiyata göre tanımlayabilirsiniz.

Aşağıdaki yapıyı inceleyip kendi sisteminize uyarlayabilirsiniz.

public override void OnInitComplated()
{
  var portfoy=GetPortfolio();

  if(portfoy.ContainsKey(Symbol)){
    if(portfoy[Symbol]!=0){
      TakeProfit(Symbol,SyntheticOrderPriceType.Percent,1);
      Debug("pozisyon var sentetik emir eklendi");
    }
  }
}

Not: strateji durdurulup devam ettirildiğinde Strateji durdurulmadan önceki açık pozisyonları dahil et seçeneğinin aktif etmeniz gerekir.( duraklatılıp devam ettirildiğinde varsayılan olarak bu seçenek aktif oluyor)

Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io
BağlantıBayraklaKripexMatriks Destek16.499
1

stoploss fonksiyonu IQ içerisinde sıkıntıl zaten mesela çoklu periyot kullandığınızda sapıtıyor ben bu durumun üstesinden kendi hareketli stoploss kodumu yazarak geldim. örnek olması açısından aşağıda paylaşıyorum. yeniden başladığında tekrar kaldığı yerden başlaması için syop rakamını diske yazabilir ve açılışta değeri okutabilirsiniz.

public bool ZararKes(decimal close, decimal percent)
		{
			if (close>enYuksekDeger)
			{
				enYuksekDeger = close;
			}
			var temp = enYuksekDeger * ((100 - percent) / 100);
			if (temp>close && enYuksekDeger != 0)
			{
				return true;
			}
			else
			{
				return false;
			}
		}

yüksek değer public ve namespacesin en üstü olmalı. en yüksek değer ontimer içinde devamlı güncellenmesi gerekiyor.

 

public void DegiskenleriDosyayaYaz(string folder, string file)
		{
			if (!System.IO.Directory.Exists(folder))
				Directory.CreateDirectory(folder);

			string fileName = Path.Combine(folder, file + ".txt");

			/*if (!File.Exists(fileName))
			{
				File.AppendAllText(fileName, YON);
			}*/

			//File.WriteAllText(fileName, stopDegeri.ToString());
			File.WriteAllText(fileName, "");
			File.WriteAllText(fileName, YON);
			Debug(YON + " olarak dosya yazıldı");
			//Debug(fileName + " dosyasina yazildi");**
		}

		// Veri Oku
		public void DegiskenleriDosyadanOku()
		{
			if (!System.IO.Directory.Exists(folder))
				Directory.CreateDirectory(folder);

			string fileName = Path.Combine(folder, dosyaadi + ".txt");

			if (!File.Exists(fileName))
			{
				File.AppendAllText(fileName, YON);
				Debug("dosya kontrol edildi");
			}

			// Open the file to read from.
			string readText = File.ReadAllText(fileName);
			YON = readText;
			Debug("dosya okundu " + YON);
			if (YON == "BUY")
			{
				hizliKontrol = false;
			}else
			{
				hizliKontrol = true;
			}
			//stopDegeri = Convert.ToDecimal(readText);
		}

 

BağlantıBayraklamcalisici193

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol