0 beğenilme 0 beğenilmeme
747 kez görüntülendi
Merhabalar ben Mavilim indikatörü (FirstMovPeriod :1 - SecondMovPeriod :1 değerlerinde) Movig Average indikatörü ( period:5 değerinde) ve Awesome Oscillator indikatörü  (kısa period:1 uzun period 34 değerlerinde) ile tarama yapmak istiyorum yani mavilim yeşile dönecek hareketli ortalama mavilim çizgisini yukarı kesecek ve Awesome Oscillatör değeri 0 ve üzerine çıkacak bu üç koşulu sağlayacak tarama formülünü yazabilmeniz mümkünmüdür

Teşekkeürler
Explorer kategorisinde (21 puan) tarafından | 747 kez görüntülendi

1 cevap

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

Merhabalar,

İstediğiniz tarama aşağıda verilmiştir.

Lütfen inceleyiniz.

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 cihatdestek : 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(1)]
			public int MavilimwFirstMovPeriod1;

		[Parameter(1)]
			public int MavilimwSecondMovPeriod1;

		[Parameter(5)]
			public int MovPeriod1;

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

		[Parameter(1)]
			public int AwesomeoscillatorShortPeriod1;

		[Parameter(34)]
			public int AwesomeoscillatorLongPeriod1;

		MAVILIMW mavilimw;
		MOV mov;
		AwesomeOscillator awesomeOscillator;



		public override void OnInit()
		{
			mavilimw = MAVILIMWIndicator(Symbol, SymbolPeriod, MavilimwFirstMovPeriod1, MavilimwSecondMovPeriod1);
			mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod1, MovMovMethod1);
			awesomeOscillator = AwesomeOscillatorIndicator(Symbol, SymbolPeriod, OHLCType.Close, AwesomeoscillatorShortPeriod1, AwesomeoscillatorLongPeriod1);


			AddColumns(1);
			SetColumnText(0, "AwesomeOscillator");


		}


		/// <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;
			SetColumn(0, awesomeOscillator.Value[0][awesomeOscillator.CurrentIndex]);

			var barData = GetBarData();
			var RefTilson1 = Ref(mavilimw, -1);
			var RefTilson2 = Ref(mavilimw, -2);




			if (CrossAbove(mov, mavilimw, 0, 0)
					&& awesomeOscillator.Value[0][awesomeOscillator.CurrentIndex] > 0m
					&& mavilimw.CurrentValue>RefTilson1 && RefTilson1 <= RefTilson2)
			{
				return true;
			}
			return false;


		}
	}
}

İyi çalışmalar.

(11,059 puan) tarafından
tarafından seçilmiş
TARAMA FORMÜLÜNÜ STRATEJİYE ÇEVİRME
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,635 soru
8,589 cevap
4,821 yorum
19,782 kullanıcı