iyi gunler... algoritma sihirbazında 15 dakikalıkta....
rsı(6) 'ın emasını(9) alıp rsı emasının 30 seviyesini geçince al veya most(6 0.6) al verince al,
rsı(6) 'ın emasını(9) 70 seviyesini aşağı kırınca sat veya most(6 0.6) ile sat
Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.
iyi gunler... algoritma sihirbazında 15 dakikalıkta....
rsı(6) 'ın emasını(9) alıp rsı emasının 30 seviyesini geçince al veya most(6 0.6) al verince al,
rsı(6) 'ın emasını(9) 70 seviyesini aşağı kırınca sat veya most(6 0.6) ile sat
Merhabalar,
Grafik üzerindeki gösterim doğru fakat sihirbazda indikatörleri eklerken tam tersi işlem yapmışsınız.
Önce RSI ekleyip sonrasında EMA indikatörünü RSI üzerinde sisteme tanımlatmalıydınız.
Gözünüzden kaçmış olabilir.
Dilerseniz aşağıdaki stratejiyi backtestte kullanabilirsiniz.
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("EREGL")]
public string Symbol1;
[Parameter(SymbolPeriod.Min30)]
public SymbolPeriod SymbolPeriod1;
[Parameter(9)]
public int EmaPeriod1;
[Parameter(6)]
public int RsiPeriod1;
[Parameter(6)]
public int MostPeriod1;
[Parameter(0.6)]
public decimal MostPercentage1;
[Parameter(MovMethod.E)]
public MovMethod MostMovMethod1;
[Parameter(100)]
public decimal OrderQuantity1;
[Parameter(100)]
public decimal OrderQuantity2;
EMA ema;
RSI rsi;
MOST most;
public override void OnInit()
{
rsi = RSIIndicator(Symbol1, SymbolPeriod1, OHLCType.Close, RsiPeriod1);
ema = EMAIndicator(rsi, EmaPeriod1);
most = MOSTIndicator(Symbol1, SymbolPeriod1, OHLCType.Close, MostPeriod1, MostPercentage1, MostMovMethod1);
SendOrderSequential(true, Side.All);
WorkWithPermanentSignal(true);
}
public override void OnInitCompleted()
{
}
public override void OnTimer()
{
}
public override void OnNewsReceived(int newsId, List<string> relatedSymbols)
{
}
public override void OnDataUpdate(BarDataEventArgs barData)
{
if (CrossAbove(ema, 30m, 0) || CrossAbove(most, most, 1, 0))
{
SendMarketOrder(Symbol1, OrderQuantity1, OrderSide.Buy, includeAfterSession:false);
}
if (CrossBelow(ema, 70m, 0) || CrossBelow(most, most, 1, 0))
{
SendMarketOrder(Symbol1, OrderQuantity2, OrderSide.Sell, includeAfterSession:false);
}
}
public override void OnOrderUpdate(IOrder order)
{
}
public override void OnStopped()
{
}
}
}
İyi çalışmalar.
Sitenin çalışması için gerekli çerezleri kullanıyoruz. Ziyaretleri anlamak için analitik çerezleri yalnızca onayınızla kullanırız. Çerez Politikası
rsı(6) nın emas(9) 30 seviyesini aşagıdan kesince
veya
most (6-0.6) exmov yukarı keserse most
sat kosulu;
rsı(6) nın eması(9) 70 seviyesini aşağı kırınca
veya
most (6-0.6) exmov aşağı keserse most