Matriks Destek ve Yardım Platformu

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.

0

Explorer Sihirbazında or-and birlikte kullanabilir miyim?

Soruldu
Kategori
Explorer
Görüntülenme
1.331 görüntülenme
Durum
Cevaplandı
Explorer sihirbazında 3 farklı parametre kullanıyorum. Ancak bunların ikisini OR seçeneği bir tanesini and seçeneği ile bağlamak istiyorum. Yani ikisi değişkenlik gösterebilir hangisi önce gelirse ama bir tanesi değişmeden and seçeneği ile devam etmeli. Bunu nasıl yapabilirim?
Paylaş

1 Cevap

0

Merhaba,

Kullanacağınız 3 parametre A, B ve C olsun.

Değişkenlik gösterebilecek olanlar A ve B, sabit kalmasını istediğinize ise C parametresi diyelim.

Bu gibi bir durumda C parametresini diğer iki parametre ile birlikte kullanarak,

  • C && (A||B) şeklinde koşul oluşturabilirsiniz.

Bu koşulun açıklaması C sabit kalsın, A ya da B'den hangisi önce olursa C ile birlikte gerçekleşsin demektir.

İyi çalışmalar.

BağlantıBayrakladüzenlendi · asiyangasiyangMatriks Destek11.113

Yorumlar (2)

  • ▲0
    belirtmiş olduğunuz koşulu nasıl değiştirmem gerekiyor yardımcı olabilir misniz? RSI sabit kalacak şekilde ccı ve stoch değişkken olabilir

     

    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 INVERSE : Explorer

    {

    // 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.

     

     

     

    [Parameter(9)]

    public int İftcci2kripexMovPeriod1;

     

    [Parameter(89)]

    public int İftcci2kripexCciPeriod1;

     

    [Parameter(9)]

    public int İftstochkripexMovPeriod1;

     

    [Parameter(89)]

    public int İftstochkripexStochK1;

     

    [Parameter(3)]

    public int İftstochkripexStochD1;

     

    [Parameter(9)]

    public int İftrsikripexMovPeriod1;

     

    [Parameter(89)]

    public int İftrsikripexRsiPeriod1;

     

    MatriksIndicator IFTCCI2Kripex;

    MatriksIndicator IFTSTOCHKripex;

    MatriksIndicator IFTRSIKripex;

     

     

     

    public override void OnInit()

    {

    IFTCCI2Kripex = new IFTCCI2Kripex();

     

    IFTCCI2Kripex.SetIndicatorParameters("MovPeriod", İftcci2kripexMovPeriod1);

    IFTCCI2Kripex.SetIndicatorParameters("CciPeriod", İftcci2kripexCciPeriod1); RegisterUserIndicator(IFTCCI2Kripex, Symbol, SymbolPeriod, OHLCType.Close, 5);

     

    IFTSTOCHKripex = new IFTSTOCHKripex();

     

    IFTSTOCHKripex.SetIndicatorParameters("MovPeriod", İftstochkripexMovPeriod1);

    IFTSTOCHKripex.SetIndicatorParameters("StochK", İftstochkripexStochK1);

    IFTSTOCHKripex.SetIndicatorParameters("StochD", İftstochkripexStochD1); RegisterUserIndicator(IFTSTOCHKripex, Symbol, SymbolPeriod, OHLCType.Close, 5);

     

    IFTRSIKripex = new IFTRSIKripex();

     

    IFTRSIKripex.SetIndicatorParameters("MovPeriod", İftrsikripexMovPeriod1);

    IFTRSIKripex.SetIndicatorParameters("RsiPeriod", İftrsikripexRsiPeriod1); RegisterUserIndicator(IFTRSIKripex, Symbol, SymbolPeriod, OHLCType.Close, 5);

     

     

     

    AddColumns(4);

    SetColumnText(0, "SON");

    SetColumnText(1, "CCI");

    SetColumnText(2, "STOCH");

    SetColumnText(3, "RSI");

     

     

    }

     

     

    /// <summary>

    /// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir.

    /// </summary>

    /// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>

    public override bool OnExplorer(List<BarDataEventArgs> bardatas)

    {

     

    var bardata = bardatas.FirstOrDefault() ? .BarData;

    SetColumn(0, bardata.Close);

    SetColumn(1, IFTCCI2Kripex.Value[0][IFTCCI2Kripex.CurrentIndex]);

    SetColumn(2, IFTSTOCHKripex.Value[0][IFTSTOCHKripex.CurrentIndex]);

    SetColumn(3, IFTRSIKripex.Value[0][IFTRSIKripex.CurrentIndex]);

     

    if (IFTCCI2Kripex.Value[0][IFTCCI2Kripex.CurrentIndex] > -0.5m && IFTSTOCHKripex.Value[0][IFTSTOCHKripex.CurrentIndex] > -0.5m && CrossAbove(IFTRSIKripex, 0.49m, 0))

    {

    return true;

    }

    return false;

     

     

    }

    }

    }
  • ▲0

    Aşağıdaki gibi 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 INVERSE : Explorer
    
    	{
    		// 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.
    
    		[Parameter(9)]
    		public int İftcci2kripexMovPeriod1;
    
     		[Parameter(89)]
    		public int İftcci2kripexCciPeriod1;
    
     		[Parameter(9)]
    		public int İftstochkripexMovPeriod1;
    
     		[Parameter(89)]
    		public int İftstochkripexStochK1;
    
     		[Parameter(3)]
    		public int İftstochkripexStochD1;
    
     		[Parameter(9)]
    		public int İftrsikripexMovPeriod1;
    
     		[Parameter(89)]
    		public int İftrsikripexRsiPeriod1;
     
    
    		MatriksIndicator IFTCCI2Kripex;
    
    		MatriksIndicator IFTSTOCHKripex;
    
    		MatriksIndicator IFTRSIKripex;
    
     
    		public override void OnInit()
    		{
    	
    			IFTCCI2Kripex = new IFTCCI2Kripex();
    			IFTCCI2Kripex.SetIndicatorParameters("MovPeriod", İftcci2kripexMovPeriod1);
    			IFTCCI2Kripex.SetIndicatorParameters("CciPeriod", İftcci2kripexCciPeriod1); RegisterUserIndicator(IFTCCI2Kripex, Symbol, SymbolPeriod, OHLCType.Close, 5);
    
     			IFTSTOCHKripex = new IFTSTOCHKripex();
    			IFTSTOCHKripex.SetIndicatorParameters("MovPeriod", İftstochkripexMovPeriod1);
    			IFTSTOCHKripex.SetIndicatorParameters("StochK", İftstochkripexStochK1);
    			IFTSTOCHKripex.SetIndicatorParameters("StochD", İftstochkripexStochD1); RegisterUserIndicator(IFTSTOCHKripex, Symbol, SymbolPeriod, OHLCType.Close, 5);
    
     			IFTRSIKripex = new IFTRSIKripex();
    			IFTRSIKripex.SetIndicatorParameters("MovPeriod", İftrsikripexMovPeriod1);
    			IFTRSIKripex.SetIndicatorParameters("RsiPeriod", İftrsikripexRsiPeriod1); RegisterUserIndicator(IFTRSIKripex, Symbol, SymbolPeriod, OHLCType.Close, 5);
    
     			AddColumns(4);
    			SetColumnText(0, "SON");
    			SetColumnText(1, "CCI");
    			SetColumnText(2, "STOCH");
    			SetColumnText(3, "RSI");
    
     		}
    
     
    
     
    
    		/// <summary>
    		/// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir.
    		/// </summary>
    		/// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>		
    		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
    		{
     			var bardata = bardatas.FirstOrDefault() ? .BarData;
    			SetColumn(0, bardata.Close);
    			SetColumn(1, IFTCCI2Kripex.Value[0][IFTCCI2Kripex.CurrentIndex]);
    			SetColumn(2, IFTSTOCHKripex.Value[0][IFTSTOCHKripex.CurrentIndex]);
    			SetColumn(3, IFTRSIKripex.Value[0][IFTRSIKripex.CurrentIndex]);
    
     			if ((IFTCCI2Kripex.Value[0][IFTCCI2Kripex.CurrentIndex] > -0.5m || IFTSTOCHKripex.Value[0][IFTSTOCHKripex.CurrentIndex] > -0.5m) && CrossAbove(IFTRSIKripex, 0.49m, 0))
    			{
    				return true;
    			}
    
    			return false;
    
    		}
    	}
    }

     

    KripexMatriks DestekBayrakla

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol