0 beğenilme 0 beğenilmeme
542 kez görüntülendi
Merhabalar;

 

Yeni kullanmaya başladığım ALGO için komut yazabilir misiniz ?

İndikatörüm kalıcı sinyal verdiğinde AL komutu geçiçi sinyal ile SAT komutu girmek istiyorum.

Teşekkürler
Algoritmik Trading kategorisinde (17 puan) tarafından | 542 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

İstediğiniz işlemi aşağıdaki kod ile yapabilirsiniz. Sadece kendi al ve sat koşullarınızı kodda belirtilen yerlere yazmanız gerekli.

İyi çalışmalar

using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
using System.Windows.Media;
using Matriks.Indicators;
using Matriks.Symbols;
using Matriks.AlgoTrader;
using Matriks.Trader.Core;
using Matriks.Trader.Core.Fields;
using Matriks.Trader.Core.TraderModels;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Lean.Algotrader.Trading;

namespace Matriks.Lean.Algotrader
{
	public class Test : 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.Day)]
		public SymbolPeriod SymbolPeriod;

		/// <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);
		}

		decimal barSayisi = 0;
		/// <summary>
		/// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir. 
		/// </summary>
		/// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>
		public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var barDataIndex = barDataCurrentValues.LastUpdate.BarDataIndex;
			if (barSayisi == 0) barSayisi = barDataIndex;
			if (barSayisi != barDataIndex && * * * Al koşulu * * * )
			{
				Debug("Alış emri verildi.")
			}
			if (* * * Sat Koşulu * * * )
			{
				Debug("Satış emri verildi." ")
			}
			barSayisi = barDataIndex;
		}
	}
}

 

(4,555 puan) tarafından
tarafından seçilmiş
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.



8,636 soru
8,590 cevap
4,821 yorum
19,786 kullanıcı