0 beğenilme 0 beğenilmeme
554 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 | 554 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,069 puan) tarafından
tarafından seçilmiş
TARAMA FORMÜLÜNÜ STRATEJİYE ÇEVİRME
7,611 soru
7,614 cevap
4,444 yorum
10,740 kullanıcı