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