Emir Sonucunu Almak
- Soruldu
- Kategori
- Algoritmik Trading
- Görüntülenme
- 533 görüntülenme
- Durum
- Cevaplandı
C# ile verdiğim emir gerçekleştiğinde yada ital edildiğinde sonucunu nasıl alabilirim?
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.
Merhabalar,
Aşağıdaki gibi bir yapı ile birlikte emirlerinizi mail olarak almanız mümkündür.
Dilerseniz inceleyiniz.
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 System.Net.Mail;
using System.Net;
using Matriks.Trader.Core.TraderModels;
namespace Matriks.Lean.Algotrader
{
public class EmailNotificationStrategy : 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("VET_USDT_BIN")]
public string Symbol1;
[Parameter(SymbolPeriod.Min15)]
public SymbolPeriod SymbolPeriod1;
[Parameter(3)]
public int MavilimwFirstMovPeriod1;
[Parameter(5)]
public int MavilimwSecondMovPeriod1;
[Parameter(500)]
public decimal OrderQuantity1;
[Parameter(5)]
public decimal StopLevel1;
MAVILIMW mavilimw;
public override void OnInit()
{
mavilimw = MAVILIMWIndicator(Symbol1, SymbolPeriod1, MavilimwFirstMovPeriod1, MavilimwSecondMovPeriod1);
SendOrderSequential(true, Side.Buy);
WorkWithPermanentSignal(false);
//Alttaki fonksiyon açıldıktan sonra parametre olarak verilen saniyede bir OnTimer fonksiyonu tetiklenir.
// SetTimerInterval(3600);
//Alttaki fonksiyon ile tanımlanan sembol ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir.
//AddNewsSymbol(Symbol);
//Alttaki fonksiyon ile tanımlanan anahtar kelime ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir.
//AddNewsKeyword("KAP");
}
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
var barData1 = GetBarData(Symbol1, SymbolPeriod1);
if (CrossBelow(mavilimw, barData1, OHLCType.Low, 0))
{
SendMarketOrder(Symbol1, OrderQuantity1, OrderSide.Buy, includeAfterSession:false);
TrailingStopLoss(Symbol1, SyntheticOrderPriceType.Percent, StopLevel1);
MailGonder("alış emri gönderildi.");
}
}
public void MailGonder(string icerik)
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
// Gönderecek mail adresi
mail.From = new MailAddress("gonderecekmailadresi@gmail.com");
// gönderilecek adres
mail.To.Add("gonderilecekmailadresi@gmail.com");
mail.Subject = "MatriksIQ ";
mail.Body += " <!DOCTYPE html> ";
mail.Body += " <html lang='tr'> ";
mail.Body += " <head> ";
mail.Body += " <title>MatriksIQ</title> ";
mail.Body += " <meta charset='utf-8'> ";
mail.Body += " <meta name='viewport' content='width=device-width, initial-scale=1'> ";
mail.Body += " </head> ";
mail.Body += " <body> ";
mail.Body += " <div style=‘width: 100%; max-width: 1140px; padding: 0 15px; margin: 0 auto;’> ";
mail.Body += " <div style=‘text-align: center;’> ";
mail.Body += " <img src=‘https://destek.matriksdata.com/assets/images/category-logo-matriks.png‘ alt=‘Matriks Data’ width=‘400’ height=‘auto’> ";
mail.Body += " </div> ";
mail.Body += " <h2 style=‘text-align: center; background-color: #539AC8; color: white; margin: 0 1px; padding: 10px 0;’>";
mail.Body += icerik;
mail.Body += " </h2> ";
mail.Body += " </div> ";
mail.Body += " </body> ";
mail.Body += " </html> ";
mail.BodyEncoding = System.Text.Encoding.GetEncoding(28599);
mail.IsBodyHtml = true;
SmtpServer.Port = 587;
// mail adresi ve şifresi
SmtpServer.Credentials = new System.Net.NetworkCredential("mailadresi@gmail.com", "mailadresisifresi");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
}
public override void OnOrderUpdate(IOrder order)
{
if (order.OrdStatus.Obj == OrdStatus.Filled && order.Side.Obj == Side.Sell)
{
MailGonder("Satış emri gerçekleşti");
}
}
}
}
İyi çalışmalar.
Sitenin çalışması için gerekli çerezleri kullanıyoruz. Ziyaretleri anlamak için analitik çerezleri yalnızca onayınızla kullanırız. Çerez Politikası