Aşağıdaki örneği inceleyebilirsiniz. stratejiyi çalıştırdıktan sonra c->IQData->mmk klasöründeki adet.txt dosyasına istediğiniz decimal değeri girip deneyebilir siniz.
using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
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;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
namespace Matriks.Lean.Algotrader
{
public class mmk : MatriksAlgo
{
[SymbolParameter("GARAN")]
public string Symbol;
[Parameter(SymbolPeriod.Day)]
public SymbolPeriod SymbolPeriod;
[Parameter(1)]
public decimal OrderQuantity;
[Parameter(3)]
public int Period;
[Parameter(2)]
public decimal Percentage;
MOST most;
public override void OnInit()
{
AddSymbol(Symbol, SymbolPeriod);
WorkWithPermanentSignal(true);
SendOrderSequential(true, Side.All);
SetTimerInterval(5);
}
public override void OnTimer()
{
try
{
var gelenDeger = DosyadanOku(@"c:\IQData\mmk", "adet.txt");
if (gelenDeger.Length>0)
{
OrderQuantity = Convert.ToDecimal(gelenDeger)!=0?Convert.ToDecimal(gelenDeger):OrderQuantity;
Debug("Gelen değer: " + OrderQuantity);
}
}catch (Exception exp)
{
Debug("Hata: " + exp.ToString());
}
}
public string DosyadanOku(string dosyayolu, string dosyaAdi)
{
try
{
if (!System.IO.Directory.Exists(dosyayolu))
Directory.CreateDirectory(dosyayolu);
string _fileName = Path.Combine(dosyayolu, dosyaAdi + ".txt");
if (!File.Exists(_fileName))
File.AppendAllText(_fileName, "");
return File.ReadAllText(_fileName);
}
catch (Exception exp)
{
return "hata";
}
}
}
}