0 beğenilme 0 beğenilmeme
214 kez görüntülendi
Matrix IQ Algo da yeni strateji oluştur bölümünde formulle bunu nasıl yapabiliriz.
Algoritmik Trading kategorisinde (24 puan) tarafından
tarafından yeniden kategorilendirildi | 214 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba, explorer sihirbazından sizler için bir örnek hazırladım.

Lütfen bu örneği test ediniz.

Aşağıda ki eğitim videolarını da mutlaka inceleyiniz.

EXPLORER SİHİRBAZI İLK ÖRNEK

 

Algoritma sihirbazı:

 

https://destek.matriksdata.com/?qa=4438/iq-algoritma-sihirbaz%C4%B1n%C4%B1-nas%C4%B1l-kullan%C4%B1r%C4%B1z

 

https://destek.matriksdata.com/?qa=4448/algoritma-sihirbaz%C4%B1-kullan%C4%B1m%C4%B1-%C3%B6rnekler-%C3%A7oklu-ko%C5%9Ful-olu%C5%9Fturma

 



 

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

namespace Matriks.Lean.Algotrader
{
	public class saddd : Explorer
	{
		// 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.



		[Parameter(50)]
			public int MovPeriod1;

		[Parameter(MovMethod.S)]
			public MovMethod MovMovMethod1;

		[Parameter(200)]
			public int MovPeriod2;

		[Parameter(MovMethod.S)]
			public MovMethod MovMovMethod2;

		VOLUME volume;
		MOV mov;
		MOV mov2;



		public override void OnInit()
		{
			volume = VolumeIndicator(Symbol, SymbolPeriod);
			mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod1, MovMovMethod1);
			mov2 = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod2, MovMovMethod2);


			AddColumns(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 bool OnExplorer(List<BarDataEventArgs> bardatas)
		{

			var bardata = bardatas.FirstOrDefault() ? .BarData;

			if (volume.Value[0][volume.CurrentIndex - 2] > volume.Value[0][volume.CurrentIndex - 3] && volume.Value[0][volume.CurrentIndex - 1] > volume.Value[0][volume.CurrentIndex - 2] && volume.Value[0][volume.CurrentIndex] > volume.Value[0][volume.CurrentIndex - 1] && CrossAbove(mov, mov2, 0, 0))
			{
				return true;
			}
			return false;


		}
	}
}

 

(490 puan) tarafından
7,645 soru
7,642 cevap
4,448 yorum
11,036 kullanıcı