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

düşeni kıran tarama sonuçlarını telegram göndermek istiyorum. kodu yazma şansınız var mı ? botum hazır. tşk
Algoritmik Trading kategorisinde (225 puan) tarafından | 768 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Explorerda çıkan sonuçları telegrama göndermek için aşağıdaki şablonu inceleyip kullanabilirsiniz.

Not: Telegramda oluşturduğunuz grubun token ve chatID'sini kod içerisinde ilgili yere yapıştırınız.

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;
using Matriks.AI;
using Matriks.AI.AiParameters;
using Matriks.AI.Data;
using Matriks.Trader.Core.TraderModels;
using System.Net;
using System.IO;
using System.Text;

namespace Matriks.Lean.Algotrader
{
	public class TelegramBot
	{
		static readonly string token = "1674939781";
		static readonly string chatId = "@123456"; // 

		public static string SendMessage(string message)
		{
			string retval = string.Empty;
			string url = $"https://api.telegram.org/bot{token}/sendMessage?chat_id={chatId}&text={message}&parseMode='html'";

			using (var webClient = new WebClient())
			{
				retval = webClient.DownloadString(url);
			}

			return retval;
		}
	}

	public class SablonTelegramExplorer : Explorer
	{
		[Parameter(3)]
			public int MavilimwFirstMovPeriod1;

		[Parameter(5)]
			public int MavilimwSecondMovPeriod1;

		MAVILIMW mavilimw;

		static StringBuilder veri = new StringBuilder();
		static object locker = new object();


		public override void OnInit()
		{
			mavilimw = MAVILIMWIndicator(Symbol, SymbolPeriod, MavilimwFirstMovPeriod1, MavilimwSecondMovPeriod1);
		}

		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{
			bool sonuc = false;

			var barData1 = GetBarData(Symbol, SymbolPeriod);
			var close = GetSelectedValueFromBarData(barData1, OHLCType.Close);

			if (CrossAbove(barData1, mavilimw, OHLCType.Close, 0))
			{
				sonuc = true;
				lock (locker)
				{
					veri.AppendLine(Symbol + "|" + "Buy" + "|" + close);
				}
			}

			return sonuc;
		}

		public override void OnExplorerFinished()
		{
			if (veri.Length>0)
			{
				TelegramBot.SendMessage(veri.ToString());
			}
		}
	}
}

 

(15,882 puan) tarafından
0 0
mrb hata alıyorum kontrol edermisiniz. yanlş yaptığm birşey olabilir mi ? hatayı ilgili soruda paylaştım
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.



8,561 soru
8,512 cevap
4,785 yorum
19,356 kullanıcı