0 beğenilme 0 beğenilmeme
782 kez görüntülendi
Algoritma sihirbazında binance futcure temelli super trend data bar ile aşağı kırınca-yukarı kırınca olarak 2 koşul oluşturuyorum.Her iki koşulada alış ve satışı piyasa emiri olarak kaldıraç tipi ve miktarını yazıyorum.Tam olarak short pozisyonu nasıl aç kapa yaptıracağım hangisini seçmem gerek ve hangi koşula yazmam lazım
Algoritmik Trading kategorisinde (21 puan) tarafından | 782 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

Merhaba,

Çift taraflı işlem yapmak için bazı kontrollerin eklenmesi gerekir. Aşağıdaki stratejiyi kullanabilirsiniz.

Aşağıdaki yapıyı algoritma sihirbazı ile oluşturduğunuz diğer stratejilere de ekleyebilirsiniz.

Linkteki dosyayı indirip çift tıklayarak kullanıcı stratejilerine eklenmesini sağlayabilirsiniz.

https://destek.matriksdata.com/?qa=blob&qa_blobid=7759284807832732816

***STRATEJİLERİ TEST/DENEME ORTAMINDA SINAMADAN VE SİZİN İSTEDİĞİNİZ ŞEKİLDE ÇALIŞTIĞINA EMİN OLMADAN GERÇEK ORTAMDA HİÇBİR ZAMAN ÇALIŞTIRMAYINIZ ***

using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using System.Windows.Media;
using Matriks.Engines;
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 SuperTrendFuture : 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(5)]
		public decimal BuyOrderQuantity;

		[Parameter(5)]
		public decimal SellOrderQuantity;

		[Parameter(10)]
		public int SuperPeriod;

		[Parameter(3)]
		public int Coeff;

		// indikator tanımları.
		SuperTrend superTrend;
		
		
		[Parameter(3)]
		public int KaldiracOrani;

		[Parameter(true)]
		public bool AcigaSatisYapilsin;

		/// <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);
			superTrend = SuperTrendIndicator(Symbol, SymbolPeriod, SuperPeriod, Coeff);

			WorkWithPermanentSignal(true);

			if (AcigaSatisYapilsin)
			{
				SendOrderSequential(true, Side.All);
				SendOrderSequentialForShort(true, Side.All);
			}else
			{
				SendOrderSequential(true, Side.Buy);
			}

			// kaldıraç oranı
			SetLeverage(Symbol, KaldiracOrani);
			// kaldıraç tipi - true isolated, false cross
			SetLeverageType(Symbol, true);
		}

		public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var barDataModel = GetBarData();

			if (CrossAbove(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Buy)
			{
				if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
				{
					SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
				}else
				{
					SendMarketOrder(Symbol, BuyOrderQuantity * 2, OrderSide.Buy);
				}
				Debug("Alış Emri Gönderildi");
			}

			if (CrossBelow(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Sell)
			{
				if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
				{
					SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);
				}else
				{
					SendMarketOrder(Symbol, SellOrderQuantity * 2, OrderSide.Sell);
				}
				Debug("Satış Emri Gönderildi");
			}
		}
	}
}

 

(15,532 puan) tarafından
iz süren stop
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. 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.



7,591 soru
7,598 cevap
4,441 yorum
10,457 kullanıcı