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

Hisse Tarihi en Yüksek Değerini alma sorunu

Soruldu
Görüntülenme
574 görüntülenme
Durum
Cevaplandı

Highshigh indikatörü ile hisselerin en yüksek değerini almaya çalıştım ancak herbirinde farklı bir period yazmak zorunda kalıyorum. kiminde bardata yetersiz diyor kiminin zirveri 500 barda kimininki 400 barda vs vs yani bir standart yok.

kodları karıştıtıken aşağıdaki kodu buldum. ancak çalıştırdığımda herzaman ilk daha updatede de değer 0 geliyor akabindeki dataupdate de gerçekten tarihi yüksek değeri geliyor. ilk data update de 0 gelmesi yüzünden algoda kullanamıyorum. 

ilk data update de 0 gelmemesinin bir yolu varmı veya farklı başka bir yolla bir hissenin tarihi en yüksek değerini alabilirmiyim.

GetMarketData(Symbol, SymbolUpdateField.TarihiYuksek)

27.02.2024 13:22:00.992  :var x = GetMarketData(Symbol, SymbolUpdateField.TarihiYuksek); : 0
27.02.2024 13:22:00.993  : 
27.02.2024 13:23:05.651  :var x = GetMarketData(Symbol, SymbolUpdateField.TarihiYuksek); : 81
27.02.2024 13:23:05.652  : 

 

27.02.2024 13:24:08.903  :var x = GetMarketData(Symbol, SymbolUpdateField.TarihiYuksek); : 0
27.02.2024 13:24:08.906  : 
27.02.2024 13:25:20.036  :var x = GetMarketData(Symbol, SymbolUpdateField.TarihiYuksek); : 29.8
27.02.2024 13:25:20.036  : 

 

 

 

Paylaş
CevaplaBayrakladüzenlendi · smookeussmookeus110

1 Cevap

0

Yüzeysel veride kayıt işlemi tamamlanmadan veri çekilmek istendiğinde 0 değeri döndürebilir. yüzeysel veriye kayıt oluştururken SubscribeToSymbolUpdateField() fonksiyonunu kullanmakta sadece ilgili alana kayıt oluşturacağı için performans açısından daha uygun olacaktır. Aşağıdaki gibi değerin 0 dan farklı olma koşulunu ekleyip deneyebilirsiniz.

 

public override void OnInit()
		{
			AddSymbol(Symbol, SymbolPeriod);
			WorkWithPermanentSignal(true);
			SendOrderSequential(true);

			SubscribeToSymbolUpdateField(Symbol,SymbolUpdateField.TarihiYuksek);
			SetTimerInterval(1);
		}
		
		decimal enYuksek=0;
		
		public override void OnTimer(){
			if(enYuksek==0){
				enYuksek=GetMarketData(Symbol,SymbolUpdateField.TarihiYuksek);
			}
		}
		
		public override void OnDataUpdate(BarDataCurrentValues bd){
			enYuksek=GetMarketData(Symbol,SymbolUpdateField.TarihiYuksek);
			if(enYuksek!=0){
				// yapılacak işlemler
			}
		}

 

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

Cevabınız

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