0 beğenilme 0 beğenilmeme
571 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 (198 puan) tarafından | 571 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,872 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,137 soru
8,107 cevap
4,601 yorum
14,986 kullanıcı