0 beğenilme 0 beğenilmeme
264 kez görüntülendi

Merhaba,

Değişken BBW nin kendi değişken ortalaması üzerinde ise işleme girmesi altında ise uyuması durumunu TOTT'a nasıl ekleyebilirim ? 

 

using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.AI;
using Matriks.Data.Symbol;
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 TOTT_Stopsuz : MatriksAlgo
	{

		[SymbolParameter("BTC_USDT_FBIN")]
		public string Symbol;

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

		[Parameter(40)]
		public int TOTTPeriod;

		[Parameter(1)]
		public decimal TOTTOpt;

		[Parameter(0.001)]
		public decimal TwinOttCoef;

		//Burdaki değer ile yüzdeli stoploss kurulur.
		//[Parameter(1)]
		//public decimal Zarar_Durdur_Yuzdesi;

		[Parameter(true)]
		public bool AcigaSatisYapilsin;

		[Parameter(100)]
		public decimal BuyOrderQuantity;

		[Parameter(100)]
		public decimal SellOrderQuantity;

		int FirstRun = 0;
		int realposition = 0;

		TOTT tott;

		public override void OnInit()
		{

			AddSymbol(Symbol, SymbolPeriod);
			tott = TOTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, TOTTPeriod, TOTTOpt, TwinOttCoef, MovMethod.Variable);

			SendOrderSequential(true);
		}

		public override void OnInitComplated()
		{
		}

		public override void OnTimer()
		{
		}

		public override void OnNewsReceived(int newsId, List<string> relatedSymbols)
		{

		}

		public override void OnDataUpdate(BarDataEventArgs barData)
		{
			if (!AcigaSatisYapilsin) FirstRun = 0;
			if (CrossAbove(tott.Mov, tott.OttUp))
			{
				if (FirstRun == 0)
				{
					SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
					//StopLoss(Symbol, SyntheticOrderPriceType.Percent, Zarar_Durdur_Yuzdesi);
					Debug("Alış emri gonderildi.");
					FirstRun = 1;
				}

				else
				{
					SendMarketOrder(Symbol, BuyOrderQuantity * 2, (OrderSide.Buy));
					//StopLoss(Symbol, SyntheticOrderPriceType.Percent, Zarar_Durdur_Yuzdesi);
					Debug("Alış emri gonderildi.");
				}
			}
			if (CrossBelow(tott.Mov, tott.OttDown))
			{
				if (FirstRun == 0)
				{
					SendMarketOrder(Symbol, SellOrderQuantity, (OrderSide.Sell));
					//StopLoss(Symbol, SyntheticOrderPriceType.Percent, Zarar_Durdur_Yuzdesi);
					Debug("Satış emri gonderildi.");
					FirstRun = 1;
				}

				else
				{
					SendMarketOrder(Symbol, SellOrderQuantity * 2, (OrderSide.Sell));
					//StopLoss(Symbol, SyntheticOrderPriceType.Percent, Zarar_Durdur_Yuzdesi);
					Debug("Satış emri gonderildi.");
				}
			}
		}

		public override void OnOrderUpdate(IOrder order)
		{
			if (order.OrdStatus.Obj == OrdStatus.Filled)
			{

			}
		}
	}
}

 

Algoritmik Trading kategorisinde (32 puan) tarafından | 264 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhabalar,

Dilerseniz aşağıdaki linki kontrol edebilirsiniz.

https://destek.matriksdata.com/?qa=9572/stokastik-variable-kendi-variable-ortalamas%C4%B1na-i%C5%9Flem-yapmak

İyi çalışmalar.

(11,059 puan) tarafından
8,636 soru
8,590 cevap
4,821 yorum
19,786 kullanıcı