Matriks prime da kullandığım anıl hocanın fırsatçı formülünü matriks iq da kullanıyırum. prime da ki yukarda kırmızı ile işaretli bölümü iq da o sisteme nasıl entegre edebiliriz. kullandığım formul aşagıdaki gibi.
----------------------------------------------------------------------------------------------------
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 ProAlgo_Long_FirsatciTrend : MatriksAlgo
{
//Lütfen stratejiyi önce test edin ve canlıda büyük miktarlar basmadan önce küçük miktarlarla test edin!
//Herhangi bir sorunuz olur veya sorunla karşılaşırsanız @ozkanaksular üzerinden bana ulaşabilirsiniz.
//+===================================================================================================+====================================================================================================+//
// Sembol Detayları //
//+===================================================================================================+====================================================================================================+//
[SymbolParameter("GARAN")]
public string Symbol;
[Parameter(SymbolPeriod.Min)]
public SymbolPeriod SymbolPeriod;
[Parameter(1)]
public decimal EmirAdedi;
//+===================================================================================================+====================================================================================================+//
// Stop Ayarlari //
//+===================================================================================================+====================================================================================================+//
[Parameter(false)]
public bool StopKullan; //Bu seçenek true olursa, izsüren stop emri aktif olur..
[Parameter(3.4)]
public decimal StopYuzde;
//+===================================================================================================+====================================================================================================+//
// Doğrulamalar //
//+===================================================================================================+====================================================================================================+//
public DateTime BarZamani;
[Parameter(false)]
public bool ZamanKullan; //Bu seçenek true olursa, strateji belirlenen saatler arasında çalışır.
public bool CalismaZamani; //Strateji bu değerin true-false olma durumuna göre çalışacak. ZamanKullan false olursa, otomatikman true dönecek. ZamanKullan true olursa FX_ZamanKontrol() altındaki saat aralıklarında true dönecek.
//+===================================================================================================+====================================================================================================+//
// İndikatör Değişkenleri //
//+===================================================================================================+====================================================================================================+//
//Strateji içerisinde kullanılan indikatörler.
//LB: Long Bölge'nin kısaltması. Örn; "LB1_HHV", 1. Bölge'nin Highest High'ı. "LB3_LLV", 3. Bölge'nin Lowest Low'u.
//---------------------------------------------------------------------------------------------- Trigger Long ----------------------------------------------------------------------------------------------//
//Long Trend ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Parameter(30)]
public int Long_Trend_OttPeriod;
[Parameter(7)]
public decimal Long_MajorTrend_OttOpt;
[Parameter(3.5)]
public decimal Long_MinorTrend_OttOpt;
OTT Long_MajorTrend;
OTT Long_MinorTrend;
//Kapılar ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Parameter(22)]
public int LB1_HHV_Period;
[Parameter(22)]
public int LB2_HHV_Period;
[Parameter(22)]
public int LB3_LLV_Period;
[Parameter(22)]
public int LB4_LLV_Period;
[Parameter(0.5)]
public decimal LB_HoTTLoTT_Opt; //Hoca en son HoTT-LoTT'un optimizasyon katsayısını aynı kullandığını söylediği için tek parametre olarak bıraktım.
HighestHigh LB1_HHV;
HighestHigh LB2_HHV;
LowestLow LB3_LLV;
LowestLow LB4_LLV;
OTT LB1_HoTT;
OTT LB2_HoTT;
OTT LB3_LoTT;
OTT LB4_LoTT;
//Alış ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//1. Bölge --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Parameter(30)]
public int LB1_TottPeriod;
[Parameter(0.8)]
public decimal LB1_TottOpt;
[Parameter(0.0008)]
public decimal LB1_TottTwinOttCoef;
[Parameter(300)]
public int LB1_SottPeriodK;
[Parameter(200)]
public int LB1_SottPeriodSlowK;
[Parameter(0.3)]
public decimal LB1_SottOttOpt;
TOTT LB1_ToTT;
SOTT LB1_SoTT;
//2. Bölge --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Parameter(30)]
public int LB2_TottPeriod;
[Parameter(0.8)]
public decimal LB2_TottOpt;
[Parameter(0.0008)]
public decimal LB2_TottTwinOttCoef;
[Parameter(300)]
public int LB2_SottPeriodK;
[Parameter(200)]
public int LB2_SottPeriodSlowK;
[Parameter(0.3)]
public decimal LB2_SottOttOpt;
TOTT LB2_ToTT;
SOTT LB2_SoTT;
//Satış -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//3. Bölge --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Parameter(30)]
public int LB3_TottPeriod;
[Parameter(0.8)]
public decimal LB3_TottOpt;
[Parameter(0.0008)]
public decimal LB3_TottTwinOttCoef;
[Parameter(300)]
public int LB3_SottPeriodK;
[Parameter(200)]
public int LB3_SottPeriodSlowK;
[Parameter(0.3)]
public decimal LB3_SottOttOpt;
TOTT LB3_ToTT;
SOTT LB3_SoTT;
//4. Bölge --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Parameter(30)]
public int LB4_TottPeriod;
[Parameter(0.8)]
public decimal LB4_TottOpt;
[Parameter(0.0008)]
public decimal LB4_TottTwinOttCoef;
[Parameter(300)]
public int LB4_SottPeriodK;
[Parameter(200)]
public int LB4_SottPeriodSlowK;
[Parameter(0.3)]
public decimal LB4_SottOttOpt;
TOTT LB4_ToTT;
SOTT LB4_SoTT;
//+===================================================================================================+====================================================================================================+//
// İndikatör Tanımları //
//+===================================================================================================+====================================================================================================+//
public override void OnInit()
{
AddSymbol(Symbol, SymbolPeriod);
//İndikatörleri atıyoruz.
//---------------------------------------------------------------------------------------------- Trigger Long ----------------------------------------------------------------------------------------------//
//Long Trend ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Long_MajorTrend = OTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, Long_Trend_OttPeriod, Long_MajorTrend_OttOpt, MovMethod.VAR, true);
Long_MinorTrend = OTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, Long_Trend_OttPeriod, Long_MinorTrend_OttOpt, MovMethod.VAR, true);
//Alış ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//1. Bölge --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
LB1_ToTT = TOTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, LB1_TottPeriod, LB1_TottOpt, LB1_TottTwinOttCoef, MovMethod.VAR);
LB1_SoTT = SOTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, LB1_SottPeriodK, LB1_SottPeriodSlowK, 2, LB1_SottOttOpt, MovMethod.VAR, MovMethod.VAR);
LB1_HHV = HighestHighIndicator(Symbol, SymbolPeriod, LB1_HHV_Period);
LB1_HoTT = OTTIndicator(HighestHighIndicator(Symbol, SymbolPeriod, LB1_HHV_Period / 2), 2, LB_HoTTLoTT_Opt, MovMethod.VAR, true);
//2. Bölge -------------------------------------------