Merhabalar,
RSI- son 7,14,21 mum için uyumsuzlukların explorer tarama formülleri (pozitif ve negatif)
Uyumsuzluklar için aşağıdaki adresten istediğiniz sistemleri kullanabilirsiniz.
https://destek.matriksdata.com/?qa=3435/iq-i%C3%A7in-pozitif-ve-negatif-uyumsuzluk-explorer-ve-algo&show=3435#q3435
İCHIMOKU- dönüş çizgisi temel çizgiyi keserse (yukarı ve aşağı), gecikme aralığı mumların veya bulutun üzerine çıkarsa şartlarına bağlı explorer tarama formülü,
İstediğiniz taramayı Explorer sihirbazı kullanarak yazabilirsiniz.
Lütfen aşağıdaki linki inceleyiniz.
EXPLORER SİHİRBAZI İLK ÖRNEK
VIDEO
SUPERTREND- 7 mumda al veya sat sinyali verenler son
Al verenler için,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Indicators;
namespace Matriks.Lean.Algotrader
{
public class SuperTrendBar : Explorer
{
SuperTrend superTrend;
public override void OnInit()
{
superTrend = SuperTrendIndicator(Symbol, SymbolPeriod, 10, 3);
AddColumns(3);
SetColumnText(0, "Kaç Bar Önce");
SetColumnText(1, "prev supertrend");
//SetColumnText(2, "prev Mov");
// SetColumnText(3, "Most");
SetColumnText(2, "supertrend");
}
int _kacBarOnce = 0;
bool _islem = false;
decimal _prevsupertrend = 0, _supertrend = 0;
public override bool OnExplorer(List<BarDataEventArgs> bardatas)
{
var barDataModel = GetBarData();
var index = bardatas.FirstOrDefault().BarDataIndex;
var close = barDataModel.Close[index];
var _count = barDataModel.Close.Count;
for (var i = 7; i >= 1; i--)
{
if (superTrend.Value[0][index - (i + 1)] <barDataModel.Close[index - (i + 1)] && superTrend.Value[0][index - i] >barDataModel.Close[index - i])
{
_kacBarOnce = i;
_islem = true;
_prevsupertrend = superTrend.Value[0][index - (i + 1)];
_supertrend = superTrend.Value[0][index - i];
}
if (superTrend.Value[0][index - (i + 1)] >barDataModel.Close[index - (i + 1)] && superTrend.Value[0][index - i] <barDataModel.Close[index - i])
{
_kacBarOnce = 0;
_islem = false;
_prevsupertrend = 0;
_supertrend = 0;
}
}
if (CrossAbove(barDataModel, superTrend, OHLCType.Close))
{
_islem = true;
_kacBarOnce = 0;
_supertrend = superTrend.Value[0][superTrend.CurrentIndex];
}
SetColumn(0, _kacBarOnce);
SetColumn(1, Math.Round(_prevsupertrend, 2));
SetColumn(2, Math.Round(_supertrend, 2));
if (_islem)
return true;
return false;
}
}
}
Sat verenler için,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Indicators;
namespace Matriks.Lean.Algotrader
{
public class SuperTrendSonBar : Explorer
{
SuperTrend superTrend;
public override void OnInit()
{
superTrend = SuperTrendIndicator(Symbol, SymbolPeriod, 10, 3);
AddColumns(3);
SetColumnText(0, "Kaç Bar Önce");
SetColumnText(1, "prev supertrend");
//SetColumnText(2, "prev Mov");
// SetColumnText(3, "Most");
SetColumnText(2, "supertrend");
}
int _kacBarOnce = 0;
bool _islem = false;
decimal _prevsupertrend = 0, _supertrend = 0;
public override bool OnExplorer(List<BarDataEventArgs> bardatas)
{
var barDataModel = GetBarData();
var index = bardatas.FirstOrDefault().BarDataIndex;
var close = barDataModel.Close[index];
var _count = barDataModel.Close.Count;
for (var i = 7; i >= 1; i--)
{
if (superTrend.Value[0][index - (i + 1)] >barDataModel.Close[index - (i + 1)] && superTrend.Value[0][index - i] <barDataModel.Close[index - i])
{
_kacBarOnce = i;
_islem = true;
_prevsupertrend = superTrend.Value[0][index - (i + 1)];
_supertrend = superTrend.Value[0][index - i];
}
if (superTrend.Value[0][index - (i + 1)] <barDataModel.Close[index - (i + 1)] && superTrend.Value[0][index - i] >barDataModel.Close[index - i])
{
_kacBarOnce = 0;
_islem = false;
_prevsupertrend = 0;
_supertrend = 0;
}
}
if (CrossBelow(barDataModel, superTrend, OHLCType.Close))
{
_islem = true;
_kacBarOnce = 0;
_supertrend = superTrend.Value[0][superTrend.CurrentIndex];
}
SetColumn(0, _kacBarOnce);
SetColumn(1, Math.Round(_prevsupertrend, 2));
SetColumn(2, Math.Round(_supertrend, 2));
if (_islem)
return true;
return false;
}
}
}
İyi çalışmalar.