0 beğenilme 0 beğenilmeme
800 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 (232 puan) tarafından | 800 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,892 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,636 soru
8,590 cevap
4,821 yorum
19,785 kullanıcı