10.01.2022
2
6
79
100

Seçilen sembol için yükselen formasyon onaylandığında alacak ve (yarı hedef fiyatı-onaylanma fiyatı)/onaylanma fiyatı*100 oranında kar al ve zarar durdur eklenecek.


Strateji AL ile başlayıp sıralı ilerleyecektir.


* Sadece olaylar penceresine düşen formasyonlar için geçerlidir.(5DK ve 60DK için)


*** Yükselen formasyon listesinde istenmeyen formasyonların index numarasını silinebilir.


List<int> yukselenFormasyon = new List<int>()

{

2, 4, 6, 8, 9, 13, 15, 16

};


*** Bu stratejide backtest yapılamaz. Matriks Deneme Ortamında çalıştırılıp test edilebilir.



1-Head Shoulder Tops

2-Head Shoulder Bottoms

3-Triple Tops

4-Triple Bottoms

5-Double Tops

6-Double Bottoms

7-Broadening Formation Asc.

8-Broadening Formation Desc.

9-Triangles Asc.

10-Triangles Desc.

11-Triangles Sym.

12-Wedges Asc.

13-Wedges Desc.

14-Wedges Rising

15-Wedges Falling

16-Flag/Pennant Rising

17-Flag/Pennant Falling

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;

/*

Yükselen formasyon onaylandığında alacak ve (yarı hedef fiyatı-onaylanma fiyatı)/onaylanma fiyatı*100 oranında kar al ve zarar durdur eklenecek.
Strateji AL ile başlayıp sıralı ilerleyecektir.

*** Yükselen formasyon listesinde istenmeyen formasyonların index numarasını silinebilir.

	List<int> yukselenFormasyon = new List<int>()
	{
		2, 4, 6, 8, 9, 13, 15, 16
	};	

*** Bu stratejide backtest yapılamaz. Matriks Deneme Ortamında çalıştırılıp test edilebilir.
*** KaldiracOranı değişkeni sadece kripto vadeli sembolleri için geçerlidir.
*** AksamSeansiniDahilEt değişkeni sadece VİOP için geçerlidir.


1-Head Shoulder Tops	
2-Head Shoulder Bottoms	
3-Triple Tops	
4-Triple Bottoms	
5-Double Tops	
6-Double Bottoms	
7-Broadening Formation Asc.	
8-Broadening Formation Desc.	
9-Triangles Asc.	
10-Triangles Desc.	
11-Triangles Sym.	
12-Wedges Asc.	
13-Wedges Desc.	
14-Wedges Rising	
15-Wedges Falling	
16-Flag/Pennant Rising	
17-Flag/Pennant Falling

*/

namespace Matriks.Lean.Algotrader
{
	public class YukselenFormasyon : MatriksAlgo
	{
		[SymbolParameter("FGARAN")]
		public string Symbol;

		[Parameter(1)]
		public decimal BuyOrderQuantity;

		List<int> yukselenFormasyon = new List<int>()
		{
			2, 4, 6, 8, 9, 13, 15, 16
		};

		public override void OnInit()
		{
			AddSymbol(Symbol, SymbolPeriod.Min60);
			AddFormationSymbol(Symbol);

			SendOrderSequential(true, Side.Buy);

			WorkWithPermanentSignal(true);		
		}

		decimal confirmationPrice, halfPriceTarget, priceTarget, yuzde;

		public override void OnFormationReceived(AlgoFormationModel formationModel)
		{
			if (yukselenFormasyon.Contains(formationModel.FormationType) &&
				formationModel.FormationStatus.ToString() == "Confirmed" &&
				LastOrderSide.Obj != Side.Buy)
			{
				confirmationPrice = (decimal) formationModel.ConfirmationPrice;
				halfPriceTarget = (decimal) formationModel.HalfPriceTarget;
				priceTarget = (decimal) formationModel.PriceTarget;

				if (confirmationPrice != 0)
				{
					yuzde = Math.Round((halfPriceTarget - confirmationPrice) / confirmationPrice * 100, 2);
				}else
				{
					yuzde = 2;
				}

				SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
				Debug("Alış emri gönderildi.[ " + BuyOrderQuantity + " adet ]");

				Debug("StopLevel: " + yuzde);

				StopLoss(Symbol, SyntheticOrderPriceType.Percent, yuzde);
				TakeProfit(Symbol, SyntheticOrderPriceType.Percent, yuzde);

				Debug("Inform Time: " + formationModel.InformTime);
				Debug("Description: " + formationModel.Description);
				Debug("Name: " + formationModel.Name);
				Debug("Formation Status: " + formationModel.FormationStatus);

				//Onaylanmamış formasyonlarda ConfirmationDate alanında varsayılan bir tarih görebilirsiniz
				Debug("Confirmation Price: " + formationModel.ConfirmationPrice);
				Debug("Formation Type: " + formationModel.FormationType);
				Debug("Price Target: " + formationModel.PriceTarget);
				Debug("Half Price Target: " + formationModel.HalfPriceTarget);
			}
		}
	}
}

2 Yorum

merhaba sistemi kullanmaya calısıyorum ama garip bı sorun var , olaylar penceresınde 5 dakıkalık formasyon sonuclarını ne yaptımsa goremedım sadece saatlık ve gunluk olarak goruntuleyebılıyorum bu konuda yardımcı olurmusunuz, dıger konuda formasyon onay saatı ile olaylara düşme saatlerı cok farklılık gösteriyor olaylarda formasyonu gorup işleme girmeyi dusundugumuzde grafıkten formasyona baktıgımda cogu zaman yarım hedefıne gelmiş oluyorlar(saatlık) zaman kayması var oto calıstırdıgımdada coğu alımı ilk hedefin ustunde gerceklestırıyor sıstemın hatası degıl sadece olaylara gec düştügü için hata ve yanlıs işlemler olusuyor ne yapmam gerekıyor yardımcı olurmusunuz.

  • 21.04.2022 16:06
  • 0

Merhabalar, Olaylarda olan formasyonlar sadece 60Dklık ve günlüktür. Bu sebeple 5Dklık formasyonları maalesef göremezsiniz. Saat farklılıkları ile ilgili yazdığınız bilgilendirme içinse konuyu ilgili arkadaşlara aktarıp incelenmesini sağlayacağız. Bilgilerinize.

  • 14.07.2022 09:36
  • 0