0 beğenilme 0 beğenilmeme
1,173 kez görüntülendi
Merhabalar,

stratejiler çalıştığı anda alım yada satım yaptığında mail atmak istiyorum.

hatta benim smtp kullanıc aıd şifresini filanda berlilersem çok güzel olur.
Algoritmik Trading kategorisinde (117 puan) tarafından | 1,173 kez görüntülendi
0 0
bence de alım satım olduğunda kendimize mail göndertebilsek çok güzel olur.

1 cevap

2 beğenilme 0 beğenilmeme

Merhaba.

E posta gönderimi için örnek kod aşağıdadır.


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;
using System.Net.Mail;
using System.Net;

namespace Matriks.Lean.Algotrader
{
            public class MailGonderme : 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("GARAN")]
                        public string Symbol;

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

                        /// <summary>
                        /// Strateji ilk çalıştırıldığında bu fonksiyon tetiklenir. Tüm sembole kayit işlemleri,
                        /// indikator ekleme, haberlere kayıt olma işlemleri burada yapılır. 
                        /// </summary>
                        public override void OnInit()
                        {
                                   AddSymbol(Symbol, SymbolPeriod);

                                   //Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir. 
                                   //Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz. 
                                   SendOrderSequential(true);

                                   WorkWithPermanentSignal(true);
                        }

                        public void MailGonder()
                        {

                                   MailMessage mail = new MailMessage();
                                   SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
                                   mail.From = new MailAddress("mailadresi@gmail.com");
                                   mail.To.Add("mailadresi@gmail.com");
                                   mail.Subject = "Password Recovery ";
                                   mail.Body += " <html>";
                                   mail.Body += "<body>";
                                   mail.Body += "<table>";

                                   mail.Body += "<tr>";
                                   mail.Body += "<td>User Name : </td><td> HAi </td>";
                                   mail.Body += "</tr>";

                                   mail.Body += "<tr>";
                                   mail.Body += "<td>Password : </td><td>aaaaaaaaaa</td>";
                                   mail.Body += "</tr>";

                                   mail.Body += "</table>";
                                   mail.Body += "</body>";
                                   mail.Body += "</html>";

                                   mail.IsBodyHtml = true;
                                   SmtpServer.Port = 587;
                                   SmtpServer.Credentials = new System.Net.NetworkCredential("mailadresi@gmail.com", "sifre");
                                   SmtpServer.EnableSsl = true;

                                   SmtpServer.Send(mail);
                        }

                        /// <summary>
                        /// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir. 
                        /// </summary>
                        /// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>
                        public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
                        {
                                   MailGonder();
                        }

            }
}

 

**

Gmailden mail göndermek için mail adresinde birkaç küçük güvenlik ayarı var. 

Aşağıdaki linkten güvenirliği düşük uygulamalara izin vermeniz gerekiyormuş.

https://myaccount.google.com/lesssecureapps

 

iyi çalışmalar

 

(13,600 puan) tarafından
0 0
Cevap için çok teşekkürler. Mail kütüphanesini bu şekilde include edip yüklenebildiğini bilseydim yapardım.

.net kütüphanelerini bu şekilde include edip kullanabiliyor muyuz?

using System.Net.Mail
1 0
Merhaba, algo ve harici kütüphane lisansınız olduğu sürece istediğiniz kütüphaneyi stratejinize ekleyebilirsiniz.
0 0
Merhaba,

Mail fonksiyonunu On order update içine entegre ettiyseniz kodları paylaşırsanız sevinirim.
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,639 soru
8,593 cevap
4,826 yorum
19,858 kullanıcı