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

çalışan robotları topluca durdurup ertesi gün aynı robotları topluca nasıl çalıştırırım?

Soruldu
Görüntülenme
2.352 görüntülenme
Durum
Çözüldü
merhabalar. matriks iq da çalıştırılan robot gruplarını kayıt edip ertesi gün kolayca çalıştırma yolu var mı? varsa  yardımlarınızı beklerim. diyelimki aynı robota 15 tane işlem bağladım bunu seans sonunda durdurunca ertesi gün yeniden hepsini başlatmam gerekiyor. bir de farklı robotlarda işlem olursa yöntemi var mı? herkese hayırlı bol kazançlar dilerim.
Paylaş

Yorumlar (1)

1 Cevap

3

Kabul edilen cevap

Merhaba, eski calistirilmis stratejileri tekrar ve tek bir basamakta calistirma yontemi eklenmistir. Su anda testlerini yapiyoruz, yakinda cikacagimiz versiyonda kullabilirsiniz.

Farkli robotlar arasi iletisimden bahsediyorsaniz, IQ tarafindan saglanmis boyle bir islev yok. Fakat orn. ortak bir text dosyasina gerekli bilgiler yazdirilarak ayni text dosyasi bir kac strateji tarafindan okunabilir, bu sekilde ortak kullanim alani yaratilabilir. Ya da stratejiler tek bir strateji altinda birlestirilip calistirilabilir.
BağlantıBayrakladüzenlendi · tarkan34Matt RicksMatriks Destek8.033

Yorumlar (5)

  • ▲0
    Peki yeni güncelleme ile eski çalıştırılmış robotlar tekrar çalıştırıldığında kaldığı yerden devam edecek mi?

    Örneğin akşam üzeri stratejileri durdurdum İQ yu kapattım (yada bir şekilde kapandı) emirleri sıra ile gönderme aktif olduğundan yeniden İQ yu çalıştırdığımda ve stratejiler tekrar çalıştırdığımda robot ilk emir sat veriyor ama sat emri iletilmiyor. "al" ile başlıyor. Bu durumda dünden kalan bir hisse diğer gün satılması gerekirse satılmıyor bunu manuel takip edip satmamız gerekiyor.

    Bence robot kurulduğu anda ilk emir ne gelirse onunla başlamalıdır. İlk sat gelirse satacak hisse yoksa zaten emir, borsa tarafından "red" edilecektir.

    ??

    iyi çalışmalar.
  • ▲0

    Ilk emir ne gelirse onunla baslamasi icin SendOrderSequential'a bir opsiyon daha ekledik. SendOrderSequential(true,true); seklinde yazdiginizda emirler hala sirali gidecektir fakat ilk emrin alis olmasi sarti olmayacaktir. Bu sekilde sirali emir gonderimini acik tutarak bi stratejiyi basit bir sekilde istedigimiz emirle baslamasi yonunde de degistirebiliriz. Asagida basit bir ornek paylasiyorum.

    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 sendOrderSeq_YENI : 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("GARAN")]
    		public string Symbol;
    		[Parameter(SymbolPeriod.Min5)]
    		public SymbolPeriod SymbolPeriod;
    		[Parameter(1)]
    		public decimal OrderQuantity;
    		[Parameter(14)]
    		public int Period;
    		[Parameter(70)]
    		public int UpLevel;
    		[Parameter(30)]
    		public int DownLevel;
    		
    		[Parameter(false)]
    		public bool SatislaBasla;
    		
    		// indikator tanımları.
    		RSI rsi;
    		int firstRun = 1;
    
    		/// <summary>
    		/// Strateji ilk çalıştırıldığında bu fonksiyon tetiklenir. Tüm sembole kayit işlemleri,
    		/// indikator ekleme, haberlere kayıt olma işlemleri burada yapılır. 
    		/// </summary>
    		public override void OnInit()
    		{
    			AddSymbol(Symbol, SymbolPeriod);
    			rsi = RSIIndicator(Symbol, SymbolPeriod, OHLCType.Close, Period);
    
    			WorkWithPermanentSignal(true);
    
    			SendOrderSequential(true,true);
    		}
    
    		/// <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 void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
    		{
    			if (firstRun == 1)
    			{
    				if (CrossAbove(rsi, DownLevel) && !SatislaBasla)
    				{
    					SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Buy));
    					firstRun = 0;
    				}
    				if (CrossBelow(rsi, UpLevel) && SatislaBasla)
    				{	
    					SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Sell));
    					firstRun = 0;
    				}
    				
    			}
    			else 
    				if (CrossAbove(rsi, DownLevel))
    				SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Buy));
    				if (CrossBelow(rsi, UpLevel))
    				SendMarketOrder(Symbol, OrderQuantity, (OrderSide.Sell));
    		}
    
    		/// <summary>
    		/// Gönderilen emirlerin son durumu değiştikçe bu fonksiyon tetiklenir.
    		/// </summary>
    		/// <param name="barData">Emrin son durumu</param>
    		public override void OnOrderUpdate(IOrder order)
    		{
    			if (order.OrdStatus.Obj == OrdStatus.Filled)
    			{
    
    			}
    		}
    	}
    }

     

  • ▲1
    Bu çok faydalı oldu çok teşekkürler.
  • ▲0

    Bu olay için bir tavsiyem var.

    Kullanıcı stratejileri sekmesine, login olunan hesabı seçebileceğimiz bir açılır kutu eklenip, yanına da  seçilen stratejileri bu hesaba bağlayarak default ayarlar ile çalıştırmayı sağlayacak bir buton koyabilirseniz çok güzel olur.

    Eğer bu olayı çalıştırılmış stratejiler alanında yapıyorsanız da, strateji her durdurulduğunda çalıştırılmış stratejiler sekmesine kayıt yapılmamalı. Bu alanda her stratejiden sadece bir adet bulunmalı. Böylece fazla sayıda sistem çalıştıranlar aynı sistemleri ayıklama zahmetine girmeden "Tümünü seçerek" çalıştırabilirler.

     

  • ▲0
    --------------------------------------------------------------

Cevabınız

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