0 beğenilme 0 beğenilmeme
547 kez görüntülendi
Merhaba son barda %0.5 yükselmiş bir taramayı nasıl yazabilirim?
Algoritmik Trading kategorisinde (430 puan) tarafından | 547 kez görüntülendi

1 cevap

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

Merhabalar,

Aşağıdaki gibi bir yapı kullanıp, aşağıdaki gibi bir koşul oluşturabilirsiniz.

		decimal Diff;
		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{

			var barData1 = GetBarData(Symbol, SymbolPeriod);
			var bardata = bardatas.FirstOrDefault();

			Diff = barData1.DiffPercent[bardata.BarDataIndex];

			if (0.5m==Diff )
			{
               	return true;
			}

İyi çalışmalar.

(11,059 puan) tarafından
tarafından seçilmiş
0 0
sizlerin paylaşaımına göre tarama yapmakistiyorum ama hiç bir sonuç vermiyor acaba hatalımı yazdım formülü

 

 

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 yeni : 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.

 

public override void OnInit()

{

AddColumns(2);

 

SetColumnText(0, "bardata");

SetColumnText(1, "barData1");

}

 

 

/// <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>

decimal Diff;

public override bool OnExplorer(List<BarDataEventArgs> bardatas)

{

 

var barData1 = GetBarData(Symbol, SymbolPeriod);

var bardata = bardatas.FirstOrDefault();

 

Diff = barData1.DiffPercent[bardata.BarDataIndex];

 

if (0.2m == Diff)

{

return true;

}

return false;

 

 

}

}

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