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

IQ için SOTT algoritması

Soruldu
Görüntülenme
878 görüntülenme
Durum
Cevaplandı
ANIL ÖZEKŞİ'ye ait OTT VE STOCHASTİC indikarlöriyle oluturulan SOTT'un prime de yer alan aşağıdaki formülünün IQ da çift yönlü ve kaldıraçlı  hâli var mıdır?

 

AL İÇİN

CROSS(STOSK(opt1,opt2,33,VAR)+1000,OTT(STOSK(opt1,opt2,33,VAR)+1000,2,opt3))

SAT İÇİN

CROSS(OTT(STOSK(opt1,opt2,33,VAR)+1000,2,opt3),STOSK(opt1,opt2,33,VAR)+1000)
Paylaş

1 Cevap

0
using System;
using System.Collections.Generic;
using System.Linq;
using Matriks;
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 SOTT_ciftyon : 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("FSISE")]
			public string Symbol;

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

		[Parameter(500)]
		public int SOTTPeriod;

		[Parameter(200)]
		public int SOTTOpt;

		[Parameter(20)]
		public int OTTPeriod;

		[Parameter(0.00d)]
		public decimal OTTOpt;

		[Parameter(MovMethod.VAR)]
		public MovMethod SottMovMethod;

		[Parameter(5000)]
		public decimal BuyOrderQuantity;

		[Parameter(5000)]
		public decimal SellOrderQuantity;

		[Parameter(5000)]
			public decimal StopLevel1;

		[Parameter(5000)]
			public decimal StopLevel2;





		SOTT sott;



		public override void OnInit()
		{
			sott = SOTTIndicator(Symbol, SymbolPeriod1, OHLCType.Close, SOTTPeriod, SOTTOpt, OTTPeriod, OTTOpt, SottMovMethod, SottMovMethod);



			AddSymbol(Symbol, SymbolPeriod1);





			// Gerekli başla - Açığa satış
			WorkWithPermanentSignal(true);
			SendOrderSequential(true, HangiIslemleBaslasin);
			// #Gerekli bitti - Açığa satış


		}


		public override void OnDataUpdate(BarDataEventArgs barData)
		{
			if (CrossAbove(sott, sott, 0, 1))
			{
				
				FX_Alis(Symbol, BuyOrderQuantity);
			

			}
			if (CrossBelow(sott, sott, 0, 1))
			{
				
				FX_Satis(Symbol, SellOrderQuantity);
				

			}

		}

		// Gerekli başla - Açığa satış
		[Parameter(true)]
		public bool AcigaSatisYapilsin;


		[Parameter(Side.All)]
		public Side HangiIslemleBaslasin;

		

		public bool FX_Alis(string sembol, decimal quantity)
		{
			bool sonuc = false;
			if (LastOrderSide.Obj != Side.Buy)
			{
				var _quantity = (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin) ? quantity:(LastOrderSideForShort.Obj == Side.All) ? quantity:quantity * 2;

				SendMarketOrder(sembol, _quantity, OrderSide.Buy);

				TakeProfit(Symbol, SyntheticOrderPriceType.PricePoint, StopLevel1, includeAfterSession:false);
				Debug("Alış emri gönderildi.[ " + _quantity + " adet ]");
				LastOrderSideForShort = LastOrderSide;
				sentetikEmirdenMI = false;
				sonuc = true;
			}
			return sonuc;
		}

		public bool FX_Satis(string sembol, decimal quantity)
		{
			bool sonuc = false;
			if (LastOrderSide.Obj != Side.Sell)
			{
				var _quantity = (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin) ? quantity:(LastOrderSideForShort.Obj == Side.All) ? quantity:quantity * 2;

				SendMarketOrder(sembol, _quantity, OrderSide.Sell);

				TakeProfit(Symbol, SyntheticOrderPriceType.PricePoint, StopLevel1, includeAfterSession:false);
				Debug("Satış emri gönderildi.[ " + _quantity + " adet ]");
				LastOrderSideForShort = LastOrderSide;
				sentetikEmirdenMI = false;
				sonuc = true;
			}
			return sonuc;
		}

		bool sentetikEmirdenMI = false;

		public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder sOrder)
		{
			if (sOrder.EnableOrderSending)
			{
				if (AcigaSatisYapilsin)
				{
					LastOrderSide.Obj = Side.All;
					sentetikEmirdenMI = true;
				}

				Debug("Sentetik emir tetiklendi");
			}
		}



	}
}

kaldıraç dan kastınızı bilemiyorum.

BağlantıBayraklasmookeus110

Yorumlar (1)

Cevabınız

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