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

Stratejinin Alış Fiyatını Hatırlamasını İstiyorum.

Soruldu
Görüntülenme
984 görüntülenme
Durum
Çözüldü

Stratejimde SendOrderSequential(true) olarak kullanıyorum. Satış emir şartlarının içine alış fiyatından yüksek olması şartını koymaya çalışıyorum bir türlü beceremedim. Aşağıdaki gibi bir şeyler yapmaya çalıştım ama çalıştıramadım. Alış fiyatını sadece aldığı dk için hatırlıyor. Sonraki dakikalarda satım yapana kadar hatırlamasını ve ona göre satım işlerini yapmak istiyorum. Yardımcı olabilirseniz süper olur.

if (inrange)
			{
				if (....)
				{
					SendLimitOrder(Symbol, Alissayisi, OrderSide.Buy, close - Fiyatadimcarpimi);
					decimal Alimfiyati = close - Fiyatadimcarpimi;
					Debug(Alimfiyati);


				}
				if (..... && Alimfiyati < close + Fiyatadimcarpimi)
				{
					SendLimitOrder(Symbol, Satissayisi, OrderSide.Sell, close + Fiyatadimcarpimi);
					decimal Satimfiyati = close + Fiyatadimcarpimi;
					Debug(Satimfiyati);

				}
				else
				{
                    Debug(Alimfiyati);
                    Debug(Satimfiyati);
					}
				}
			

 

Paylaş
CevaplaBayrakladüzenlendi · newbienewbie250

2 Cevap

1

Kabul edilen cevap

Merhabalar, istediğiniz işlem için değişkeninizi global olarak tanımlamanız gerekiyor. Yani herhangi bir fonksiyondan, methoddan koşuldan bağımsız olmalıdır. Aşağıda belirttiğim yerde tanımlarsanız sorununuz çözülür.

public class strateji: MatriksAlgo
	{
		// Strateji çalıştırılırken kullanacağımız parametreler. Eğer sembolle ilgili bir parametre ise,
		// "SymbolParameter" ile, değilse "Parameter" ile tanımlama yaparız. Parantez içindeki değerler default değerleridir.

		[SymbolParameter("GARAN")]
		public string Symbol;

		[Parameter(SymbolPeriod.Min5)]
		public SymbolPeriod SymbolPeriod;

		/*
			Global değişkeni burada tanımlayın....
		*/
		decimal Alimfiyati = 0;

		/// <summary>
		/// Strateji ilk çalıştırıldığında bu fonksiyon tetiklenir. Tüm sembole kayit işlemleri,
		/// indikator ekleme, haberlere kayıt olma işlemleri burada yapılır. 
		/// </summary>
		public override void OnInit()
		{
			AddSymbol(Symbol, SymbolPeriod);

			//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir. 
			//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz. 
			SendOrderSequential(true);
		}
.
.
.
.

 

BağlantıBayrakladüzenlendi · newbieOrçunMatriks Destek4.555
2
alım fiyatı değişkenini yukarda parametreleri tanımladığımız yerde tanımlarsanız unutmaz.
örneğin Yukarda
Decimal alımFiyati =0;

dersiniz sonra fonksiyonun içerisinde istediğinize eşitlersiniz.

alimFiyati =  close - Fiyatadimcarpimi;  gibi

iyi çalışmalar.
BağlantıBayraklagimmemore390

Yorumlar (1)

  • ▲0
    Cevabınız için teşekkürler ama bu şekilde de yeni bar açılışında (eğer alım yapmazsa) Alimfiyati değişkenini hep sıfıra eşitliyor. Hatırlamıyor yani.

Cevabınız

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