Programación, C#, C Sharp, Visual Basic, .net, Análisis y diseño de sistemas.

Cierra esta ventana si quieres conectarte como invitado. Registrarte sí quieres opinar y ver todos los enlaces al curso..
Programación, C#, C Sharp, Visual Basic, .net, Análisis y diseño de sistemas.

Foro de intercambiar de ideas con interesados en el tema.

Últimos temas

» Ayuda con este programa
4/7/2013, 12:32 am por hcovenas

» Pasar datos de dos arraylist a otro arraylist
10/7/2012, 8:35 pm por hcovenas

» Aprende todo sobre C++
24/4/2012, 9:28 pm por hcovenas

» Instalación de Linux en Windows VM
20/4/2012, 7:46 pm por hcovenas

» 5) Transacciones
15/4/2012, 8:21 pm por hcovenas

» 4) Primer examen de Unidad
9/4/2012, 3:04 pm por hcovenas

» 3) DataReader
2/4/2012, 2:38 pm por hcovenas

» Oledbcommand
26/3/2012, 12:28 pm por hcovenas

» 2) El Objeto Comando
22/3/2012, 3:23 pm por hcovenas

Conectarse

Recuperar mi contraseña

¿Quién está en línea?

En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno


[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 11 el 6/6/2014, 12:16 am.


    C# traiding

    Comparte
    avatar
    hcovenas
    Admin

    Mensajes : 227
    Fecha de inscripción : 29/10/2010
    Edad : 28
    Localización : Chimbote

    C# traiding

    Mensaje por hcovenas el 19/1/2012, 1:24 pm

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Trading.Indicators
    {
    // an OHLC traded price bar with some additional metrics
    public class TimeBar
    {
    private int pIndex = 0;
    public double Open = 0;
    public double High = 0;
    public double Low = 0;
    public double Close = 0;
    public double VWAP = 0;
    public int Volume = 0;
    public int Trades = 0;
    public DateTime Timestamp = new DateTime();

    // IsValid property
    public bool IsValid
    {
    get
    {
    return pIndex > 0;
    }
    }

    public int Index
    {
    get
    {
    return pIndex;
    }
    }
    }

    // A factory which generates time bars
    public class TimeBarFactory
    {
    private TimeBar pLastBar;
    private TimeBar WorkingBar;
    private TimeSpan BarDuration;
    private int DailyBarCount;

    public TimeBar LastBar
    {
    get
    {
    return pLastBar;
    }
    }

    public TimeBarFactory( TimeSpan inputBarDuration )
    {
    BarDuration = inputBarDuration;

    // A *trading* day has 24 hours (no clock changes...)
    DailyBarCount = (int) Math.Ceiling( 24 * 60 * 60 * 1000 / BarDuration.TotalMilliseconds );
    }

    // Create time bars
    public void CreateBars( double tradePrice, int tradeQuantity, DateTime tradeTimeStamp )
    {
    // Calculate the bar index for the current print ( index starts from 1 )
    int barIndex = (int) Math.Floor( tradeTimeStamp.TimeOfDay.TotalMilliseconds / BarDuration.TotalMilliseconds ) 1;

    // If there is any data appearing exactly at the start of the bar which would follow the last bar of the day
    // then add it to the last daily bar.
    if ( barIndex > DailyBarCount )
    barIndex = DailyBarCount;

    if ( barIndex > WorkingBar.Index )
    {
    // Need to copy WorkingBar into LastBar and start working on a new WorkingBar
    m_cLastBar = m_cWorkingBar;
    m_cWorkingBar.m_dOpen = m_cWorkingBar.m_dHigh = m_cWorkingBar.m_dLow = m_cWorkingBar.m_dClose = m_cWorkingBar.m_dVWAP = dTradePrice;
    m_cWorkingBar.m_iVolume = iTradeQuantity;
    m_cWorkingBar.m_iTrades ;
    m_cWorkingBar.m_iIndex = iBarIndex;
    m_cWorkingBar.m_iTimestampSeconds = iBarIndex * m_iBarDurationSeconds;
    }
    else
    {
    m_cWorkingBar.m_dHigh = max( m_cWorkingBar.m_dHigh, dTradePrice );
    m_cWorkingBar.m_dLow = min( m_cWorkingBar.m_dLow, dTradePrice );
    m_cWorkingBar.m_dClose = dTradePrice;
    m_cWorkingBar.m_dVWAP = ( m_cWorkingBar.m_dVWAP * m_cWorkingBar.m_iVolume dTradePrice * iTradeQuantity ) / ( m_cWorkingBar.m_iVolume iTradeQuantity );
    m_cWorkingBar.m_iVolume = iTradeQuantity;
    m_cWorkingBar.m_iTrades ;
    }
    }
    }
    }

      Fecha y hora actual: 16/7/2018, 11:44 pm