2 вопроса для старта !
Atom
06.04.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 = "Подключили";
}
}
}

Теги:


Спасибо:


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

Фотография
Дата: 19.04.2011
Ответить


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

Mikhail Sukhov

Фотография
Дата: 19.04.2011
Ответить


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


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

Кирил

Фотография
Дата: 19.04.2011
Ответить


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

Кирил

Фотография
Дата: 19.04.2011
Ответить


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

Mikhail Sukhov

Фотография
Дата: 19.04.2011
Ответить


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


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

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

Кирил

Фотография
Дата: 19.04.2011
Ответить


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

Кирил

Фотография
Дата: 19.04.2011
Ответить




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 ? Как сделать ? Чтоб удалял выставленый ордер ?
Спасибо:

MyxaGT

Фотография
Дата: 19.04.2011
Ответить


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

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 = "Нету заявы "; }

});
}
Спасибо:

Кирил

Фотография
Дата: 20.04.2011
Ответить


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

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 = "Нету заявы "; }

});

}
Спасибо:

Кирил

Фотография
Дата: 20.04.2011
Ответить


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

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);
}
};
Спасибо:
<< < 3 4 5 6  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy