2 вопроса для старта !

2 вопроса для старта !
Atom
4/6/2011


Добрый день.
1 - Как подписать событие ?
2 - Как выставить обработчика ?

И всё это делать под WindowsForms.

В програмировании начальный уровень мне в нём легче.



Вот что есть на данный момент

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ecng.Trading.Algo;
using Ecng.Trading.Smart;
using Ecng.Trading.BusinessEntities;
using System.Net;
using Ecng.Common;
namespace Stock_060411_podkluchenie
{
public partial class Form1 : Form
{
public SmartTrader Trader;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
IPEndPoint IP = new IPEndPoint(IPAddress.Parse("82.204.220.34"), 8090);
Trader = new SmartTrader(textBox1.Text, textBox2.Text, IP);
Trader.Connect();
}
private void TraderConnected()
{
label3.Text = "Подключили";
}
}
}

Tags:


Thanks:


<< < 3 4 5 6  >
Кирил

Avatar
Date: 4/19/2011
Reply


this.Trader.AsyncMode = true; Подскажите чет не пойму а куда его крутить
Thanks:

Mikhail Sukhov

Avatar
Date: 4/19/2011
Reply


Кирил Go to
this.Trader.AsyncMode = true; Подскажите чет не пойму а куда его крутить


Это для Квика. У Смарта всегда асинхронный режим.
Thanks:

Кирил

Avatar
Date: 4/19/2011
Reply


Фуф Спасиб .
Thanks:

Кирил

Avatar
Date: 4/19/2011
Reply


Просто надо было поменять order.Id на order.TransactionId;
И всё работает Tekuhy.Content = "Заявка зарегистрирована. " + order.TransactionId;
Thanks:

Mikhail Sukhov

Avatar
Date: 4/19/2011
Reply


Кирил Go to
Просто надо было поменять order.Id на order.TransactionId;
И всё работает Tekuhy.Content = "Заявка зарегистрирована. " + order.TransactionId;


Я вас читаю с самого начала и понять не могу - а что вы собственно сделать хотите?[smile]

Номер заявки - это Order.Id и нужно дождаться событие NewOrders. Order.TransactionId - это номер транзакции. Разница между ними большая. Вам для чего нужен вывод на экран номера заявки? Что дальше планируется с этим выводом делать?
Thanks:

Кирил

Avatar
Date: 4/19/2011
Reply


Номер нужен для дальнейшей коррекции заявки то-ли удалить то-ли модифицировать либо вообще удалить, а вывод на экран нужен всего-лишь для наглядности то-есть увидили пришла знач нормуль разрабатываем дальше. Вот собственно и всё . Вроде так ! )))
Thanks:

Кирил

Avatar
Date: 4/19/2011
Reply




private void button6_Click(object sender, RoutedEventArgs e)// кнопка покупки акции
{

var order1 = new Order
{
Portfolio = _portfolioMMVB,
Price = _lkoh.BestAsk.Price - 7,/////////////////////////////////////
Security = _lkoh,
Volume = 1,
Direction = OrderDirections.Buy,
};
Trader.RegisterOrder(order1);
Tekuhy.Content = order1.TransactionId;



}


private void button10_Click(object sender, RoutedEventArgs e)
{
Trader.CancelOrder(order1);
}
А почему не видит order1 ? Как сделать ? Чтоб удалял выставленый ордер ?
Thanks:

MyxaGT

Avatar
Date: 4/19/2011
Reply


Для интересующихся... сделал выставление и удаление заявы всё вроде работает

this.Trader.NewOrders += orders => { foreach (var order in orders) Trader.CancelOrder(order); }; // подписались на получение регистрации заявок
...
...
...
...
...
Вот собственно кнопка выставляет заяву и удаляет

private void button9_Click(object sender, RoutedEventArgs e)// кнопка продажи ФЬЮчерса
{
var order = new Order // выставляем заяву
{
Portfolio = _portfolioFORTS,
Price = CenaAskRobo + 40, ////////
Security = _Fuchlkoh,
Volume = 1,
Direction = OrderDirections.Sell,
};
Trader.RegisterOrder(order);
label22.Content = "Заявка зарегистрирована. " + order.TransactionId;
Tekuhy.Content = order;
this.GuiAsync(() =>
{
if (order.State == OrderStates.Active) // проверка состояния
{
Trader.CancelOrder(order);// удаляем заяву
}
else { label19.Content = "Нету заявы "; }

});
}
Thanks:

Кирил

Avatar
Date: 4/20/2011
Reply


Сделал кому интересно

public Order srt, newOrder;

,,,,,
,,,,,

this.Trader.NewOrders += orders => { }; // подписались на получение регистрации заявок
...
...
...
...
private void button9_Click(object sender, RoutedEventArgs e)// кнопка продажи ФЬЮчерса
{
var order = new Order
{
Portfolio = _portfolioFORTS,
Price = CenaAskRobo + 40, ////////
Security = _Fuchlkoh,
Volume = 1,
Direction = OrderDirections.Sell,
};
Trader.RegisterOrder(order);
label22.Content = "Заявка зарегистрирована. " + order.TransactionId;
Tekuhy.Content = order;
newOrder = order;
}

А теперь кнопка удаления заявки

private void button10_Click(object sender, RoutedEventArgs e)
{
label19.Content = newOrder;
// Trader.CancelOrder(newOrder);

this.GuiAsync(() =>
{
if (newOrder.State == OrderStates.Active)
{
Trader.CancelOrder(newOrder);
}
else { label19.Content = "Нету заявы "; }

});

}
Thanks:

Кирил

Avatar
Date: 4/20/2011
Reply


Подскажите пожалуста а как определить какая именно заявка исполнилась ? Допустим у меня стоит и на продажу заявка и на покупку допустим исполнилась заявка на продажу как мне определить что именно заявка на покупку исполнилась ?
// подписываемся на событие появления моих новых сделок

this.Trader.NewMyTrades += myTrades =>
{
foreach (var myTrade in myTrades)
{
var trade = myTrade.Trade;
Console.WriteLine("Сделка {0} по цене {1} по бумаге {2} по объему {3} в {4}.", trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time);
}
};
Thanks:
<< < 3 4 5 6  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy