Merhaba,
Aşağıdaki stratejiyi kullanabilirsiniz.
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 smaa : MatriksAlgo
{
[SymbolParameter("GARAN")]
public string Symbol1;
[Parameter(SymbolPeriod.Day)]
public SymbolPeriod SymbolPeriod1;
[Parameter(5)]
public int SmaPeriod1;
[Parameter(1)]
public decimal OrderQuantity1;
SMA sma;
public override void OnInit()
{
sma = SMAIndicator(Symbol1, SymbolPeriod1, OHLCType.Close, SmaPeriod1);
SendOrderSequential(true, Side.Buy);
WorkWithPermanentSignal(true);
}
bool ?AlisMI=null;
public override void OnDataUpdate(BarDataEventArgs barData)
{
var barData1 = GetBarData(Symbol1, SymbolPeriod1);
var close=barData.BarData.Close;
if (CrossBelow(barData1,sma, OHLCType.Close, 0))
{
AlisMI=true;
}
if(close*1.12m<=sma.CurrentValue && AlisMI==true){
SendMarketOrder(Symbol1, OrderQuantity1, OrderSide.Buy, includeAfterSession:false);
Debug("Alış emri gönderildi.");
AlisMI=null;
}
if (CrossAbove(barData1,sma, OHLCType.Close, 0))
{
AlisMI=false;
}
if(sma.CurrentValue*1.12m<=close && AlisMI==false){
SendMarketOrder(Symbol1, OrderQuantity1, OrderSide.Sell, includeAfterSession:false);
Debug("Satış emri gönderildi.");
AlisMI=null;
}
}
}
}
Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io