0 beğenilme 0 beğenilmeme
374 kez görüntülendi
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)

{

 var close = barDataCurrentValues.LastUpdate.Close;

var open = barDataCurrentValues.LastUpdate.Open;

var low = barDataCurrentValues.LastUpdate.Low;

var high = barDataCurrentValues.LastUpdate.High;

decimal _yuzde = (close - low) / low * 100;

 

 if(_yuzde==0.25m)

merhaba XBT_USD_BMEX  kodu bu şekilde yazıyorum fakat yapılan hesaplama %0.25 denk gelmiyor işleme girmiyor  . >= ile kullanınca  geçici sinyal ile çalıştığım için 0.25 sonrası her artışta alım yapıyor.

ondalık hane sayısının 2 hane verebilecek bir işlem şekli varmıdır yardımcı olurmusunuz.
Algoritmik Trading kategorisinde (86 puan) tarafından | 374 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

Birden fazla işleme girmesini kontrol mekanizmalarıyla engelleyebilirsiniz.

Örnek: Şart olarak >= kullanıp her bardatada bir defa işleme girmesini sağlayabilirsiniz 

Aşağıdaki kodu fikir vermesi açasından paylaşıyorum siz daha değişik size uygun bir kontrol mekanızması oluşturabilirsiniz.

***STRATEJİLERİ TEST/DENEME ORTAMINDA SINAMADAN VE SİZİN İSTEDİĞİNİZ ŞEKİLDE ÇALIŞTIĞINA EMİN OLMADAN GERÇEK ORTAMDA HİÇBİR ZAMAN ÇALIŞTIRMAYINIZ ***

if(barDataCurrentValues.LastUpdate.IsNewBar){
				_yetki=true;
			}
			
			var close = barDataCurrentValues.LastUpdate.Close;

			var open = barDataCurrentValues.LastUpdate.Open;
			
			var low = barDataCurrentValues.LastUpdate.Low;
			
			var high = barDataCurrentValues.LastUpdate.High;
			
			decimal _yuzde = (close - low) / low * 100;
			
			 
			
			 if(_yuzde>=0.25m){
				 // yapılacak işlemler
			 	_yetki=false;
			 }

 

(15,422 puan) tarafından
7,516 soru
7,519 cevap
4,405 yorum
8,752 kullanıcı