Merhaba, sorunuza istinaden size bir örnek paylaşıyorum.
Bu örneği önce Matriks Deneme Ortamında test ediniz.
Gerçek hesapta ufak miktarlarla test ediniz.
Doğru çalıştığına emin olmadan kullanmayınız.
Olası sorularınız için iqdestek@matriksdata.com adresine yazabilirsiniz.
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 burak : 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(3)]
public int TillsonPeriod;
[Parameter(0.7)]
public decimal TillsonA;
[Parameter(true)]
public bool yesil;
[Parameter(false)]
public bool kirmizi;
TMOV tmov;
public override void OnInit()
{
tmov = TMOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, TillsonPeriod, TillsonA);
AddSymbol(Symbol, SymbolPeriod);
AddColumns(1);
SetColumnText(0, "renk");
}
public string renk = "hg";
/// <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;
var Current = tmov.CurrentValue;
var Ref1 = Ref(tmov, -1);
var Ref2 = Ref(tmov, -2);
if (yesil == true)
{
if (Current > Ref1 && Ref1 <= Ref2)
{
renk = "yesil";
SetColumn(0, renk);
return true;
}
}
if (kirmizi == true)
{
if (Current<Ref1 && Ref1 >= Ref2)
{
renk = "kirmizi";
SetColumn(0, renk);
return true;
}
}
return false;
}
}
}