Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. 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.

0

strateji çalıştığı sırada mail attırılması

Soruldu
Görüntülenme
1.667 görüntülenme
Durum
Cevaplandı
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.
Paylaş

Yorumlar (1)

1 Cevap

2

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

 

BağlantıBayraklailhan69Matriks Destek14.380

Yorumlar (3)

  • ▲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
    Merhaba, algo ve harici kütüphane lisansınız olduğu sürece istediğiniz kütüphaneyi stratejinize ekleyebilirsiniz.
    OrçunMatriks DestekBayrakla
  • ▲0
    Merhaba,

    Mail fonksiyonunu On order update içine entegre ettiyseniz kodları paylaşırsanız sevinirim.

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol