Merhaba,
aşağıdaki kodu inceleyebilirsiniz.
using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
using System.Windows.Media;
using Matriks.Indicators;
using Matriks.Symbols;
using Matriks.AlgoTrader;
using Matriks.Trader.Core;
using Matriks.Trader.Core.Fields;
using Matriks.Trader.Core.TraderModels;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Lean.Algotrader.Trading;
namespace Matriks.Lean.Algotrader
{
public class Test : MatriksAlgo
{
// 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.
[SymbolParameter("GARAN")]
public string Symbol;
[Parameter(SymbolPeriod.Min)]
public SymbolPeriod SymbolPeriod;
[Parameter(5)]
public int Period;
MOV mov;
public override void OnInit()
{
AddSymbol(Symbol, SymbolPeriod);
mov = new MOV(Period, MovMethod.VAR);
//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir.
//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz.
SendOrderSequential(true);
WorkWithPermanentSignal(true);
}
decimal _high,_low,_close;
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
var bardata=GetBarData();
_high=barDataCurrentValues.LastUpdate.High;
_low=barDataCurrentValues.LastUpdate.Low;
_close=barDataCurrentValues.LastUpdate.Close;
var index=barDataCurrentValues.LastUpdate.BarDataIndex;
mov.Update((_high+_low+2*_close),index,barDataCurrentValues.LastUpdate.DTime);
// cross(mov(h+l+c+c,period,var),c)
if (CrossAbove(mov, bardata, OHLCType.Close))
{
Debug("Şartınız şağlandı");
}
}
}
}
Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io