0 beğenilme 0 beğenilmeme
360 kez görüntülendi
Kolay gelsin. TOTT için binance future' da sadece açığa satış ve kapama kodlarını kaldıraç türü ve kaldıraç miktarı eklenmiş bir şekilde paylaşabilir misiniz? Değerli zamanınızı ayırıp yardım ettiğiniz için teşekkür ederim.
Algoritmik Trading kategorisinde (22 puan) tarafından | 360 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhabalar,

Lütfen aşağıdaki kod yapısını inceleyiniz.

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;

namespace Matriks.Lean.Algotrader
{
	public class TOTTKaldıracStrategy : 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("BTC_USDT_FBIN")]
						public string Symbol;

		[Parameter(SymbolPeriod.Min5)]
						public SymbolPeriod SymbolPeriod;

		[Parameter(5)]
						public decimal BuyOrderQuantity;

		[Parameter(5)]
						public decimal SellOrderQuantity;

		[Parameter(40)]
		public int TOTTPeriod;

		[Parameter(1)]
		public decimal TOTTOpt;

		[Parameter(0.001d)]
		public decimal TwinOttCoef;

		[Parameter(MovMethod.Variable)]
		public MovMethod TottMovMethod;


		[Parameter(3)]
						public int Kaldirac;

		// indikator tanımları.
		TOTT tott;

		public override void OnInit()
		{
			AddSymbol(Symbol, SymbolPeriod);
			tott = TOTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, TOTTPeriod, TOTTOpt, TwinOttCoef, TottMovMethod);

			SendOrderSequential(true, Side.All);
			WorkWithPermanentSignal(true);

			if (Kaldirac>30)
			{
				// kaldıraç oranı
				SetLeverage(Symbol, 3);
				// kaldıraç tipi - true isolated, false cross
				SetLeverageType(Symbol, true);
			}else
			{
				SetLeverage(Symbol, Kaldirac);
				SetLeverageType(Symbol, 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(BarDataEventArgs barData)
		{
			if (CrossAbove(tott.Mov, tott.OttUp) && LastOrderSide.Obj != Side.Buy)
			{
				if (LastOrderSide.Obj == Side.All)
				{
					SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
				}else
				{
					SendMarketOrder(Symbol, BuyOrderQuantity * 2, OrderSide.Buy);
				}
				Debug("Alış Emri Gönderildi");
			}

			if (CrossBelow(tott.Mov, tott.OttDown) && LastOrderSide.Obj != Side.Sell)
			{
				if (LastOrderSide.Obj == Side.All)
				{
					SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);
				}else
				{
					SendMarketOrder(Symbol, SellOrderQuantity * 2, OrderSide.Sell);
				}
				Debug("Satış Emri Gönderildi");
			}
		}
	}
}

İyi çalışmalar.

(11,069 puan) tarafından
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,509 soru
7,511 cevap
4,405 yorum
8,713 kullanıcı