Montag, 9. Februar 2015

Chart Börsencharts mit Visual Basic programmieren


Chart Börsencharts mit Visual Basic programmieren

Author D.Selzer-McKenzie

Video: http://youtu.be/k97yNlpF3IY

Ich zeige Ihnen hier, wie Sie Börsencharts programmieren, sow eie sie in den Börsensoftwares enthalten sind.

Im Video sehen Sie, wie immer ein neuer Chart-Typ angezeigt wird. Natürlich können Sie den Börsenchart auch nur über einen Charttyp (Candlesticks oder Balken usw) programmieren.

Der SourceCode ist ebenfalls abgefilmt und Sie müssten das Video jeweils anhalten, um ihn abzuschreiben oder aus:

Den Code finden Sie im



 

Hier der Code

Imports System.IO                                       'für Datenbankanwendungen

Imports System.Net                                      'Für Webseiten einlesen

Imports System.Text                                     'Für Webseiten einlesen

Imports System.Text.RegularExpressions                  'Für Webseiten einlesen

Imports System.Configuration                            'Für eMail-Account

Imports System.Windows.Forms.DataVisualization.Charting 'Chart-Modul

Imports System.Drawing.Imaging

Imports System.Drawing.Drawing2D

Imports System.Drawing.Drawing2D.HatchBrush

Imports System.Math

Imports System.Runtime.InteropServices

 

Public Class frmSelWaveSoftware

    Inherits System.Windows.Forms.Form

    Private Sub SelWaveSoftware_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        SEL = "SelWave®" & Space$(3) & "Trading-Software®" & Space$(3) & "WaveTrader®" & Space$(3) & "Selzer-McKenzie®" & Space$(3) & "SelMcKenzie®"

        Me.Text = SEL

 

    End Sub

 

    Private Sub Uhr1_Tick(sender As Object, e As EventArgs) Handles Uhr1.Tick

        Me.Refresh()

        Zeichnen = Me.CreateGraphics

 

        Static DauerndAlleChartsDurchlaufen As Integer

        For a = 0 To 34

            DauerndAlleChartsDurchlaufen = DauerndAlleChartsDurchlaufen + 1

            If DauerndAlleChartsDurchlaufen > 34 Then _

               DauerndAlleChartsDurchlaufen = DauerndAlleChartsDurchlaufen - 34

        Next a

 

        Diagramm.Visible = False

        Diagramm.Visible = True 'sichtbar machen

        Diagramm.Size = New Size(700, 240) 'Grösse des Charts

        Diagramm.Location = New Point(150, 50) 'an diese Position in Form setzen

 

        Diagramm.Series.Clear() 'alle Datenreihen erst löschen

        Diagramm.Series.Add(New Series("Selzer-McKenzie®  SelMcKenzie® "))

        Diagramm.Series(0).Points.AddXY(1998, 6.75)

        Diagramm.Series(0).Points.AddXY(1999, 4.28)

        Diagramm.Series(0).Points.AddXY(2000, 9.12)

        Diagramm.Series(0).Points.AddXY(2001, 6.15)

        Diagramm.Series(0).Points.AddXY(2002, 5.25)

        Diagramm.Series(0).Points.AddXY(2003, 8.15)

        Diagramm.Series(0).Points.AddXY(2004, 5.39)

        Diagramm.Series(0).Points.AddXY(2005, 7.78)

        Diagramm.Series(0).Points.AddXY(2006, 8.14)

        Diagramm.Series(0).Points.AddXY(2007, 6.32)

        Diagramm.Series(0).Points.AddXY(2008, 5.14)

        Diagramm.Series(0).Points.AddXY(2009, 3.25)

        Diagramm.Series(0).Points.AddXY(2010, 7.78)

        Diagramm.Series(0).Points.AddXY(2011, 5.73)

        Diagramm.Series(0).Points.AddXY(2012, 7.02)

        Diagramm.Series(0).Points.AddXY(2013, 4.73)

        Diagramm.Series(0).Points.AddXY(2014, 6.02)

        Diagramm.Series(0).Points.AddXY(2015, 2.73)

 

        Diagramm.Series(0).Color = Color.Red

        Diagramm.Series(0).BorderWidth = 5  'Linienstärke

        Select Case DauerndAlleChartsDurchlaufen

            Case 0 : Diagramm.Series(0).ChartType = SeriesChartType.Point

            Case 1 : Diagramm.Series(0).ChartType = SeriesChartType.FastPoint

            Case 2 : Diagramm.Series(0).ChartType = SeriesChartType.Bubble

            Case 3 : Diagramm.Series(0).ChartType = SeriesChartType.Line

            Case 4 : Diagramm.Series(0).ChartType = SeriesChartType.Spline

            Case 5 : Diagramm.Series(0).ChartType = SeriesChartType.StepLine

            Case 6 : Diagramm.Series(0).ChartType = SeriesChartType.FastLine

            Case 7 : Diagramm.Series(0).ChartType = SeriesChartType.Bar

            Case 8 : Diagramm.Series(0).ChartType = SeriesChartType.StackedBar

            Case 9 : Diagramm.Series(0).ChartType = SeriesChartType.StackedBar100

            Case 10 : Diagramm.Series(0).ChartType = SeriesChartType.Column

            Case 11 : Diagramm.Series(0).ChartType = SeriesChartType.StackedColumn

            Case 12 : Diagramm.Series(0).ChartType = SeriesChartType.StackedColumn100

            Case 13 : Diagramm.Series(0).ChartType = SeriesChartType.Area

            Case 14 : Diagramm.Series(0).ChartType = SeriesChartType.SplineArea

            Case 15 : Diagramm.Series(0).ChartType = SeriesChartType.StackedArea

            Case 16 : Diagramm.Series(0).ChartType = SeriesChartType.StackedArea100

            Case 17 : Diagramm.Series(0).ChartType = SeriesChartType.Pie

            Case 18 : Diagramm.Series(0).ChartType = SeriesChartType.Doughnut

            Case 19 : Diagramm.Series(0).ChartType = SeriesChartType.Stock

            Case 20 : Diagramm.Series(0).ChartType = SeriesChartType.Candlestick

            Case 21 : Diagramm.Series(0).ChartType = SeriesChartType.Range

            Case 22 : Diagramm.Series(0).ChartType = SeriesChartType.SplineRange

            Case 23 : Diagramm.Series(0).ChartType = SeriesChartType.RangeBar

            Case 24 : Diagramm.Series(0).ChartType = SeriesChartType.RangeColumn

            Case 25 : Diagramm.Series(0).ChartType = SeriesChartType.Radar

            Case 26 : Diagramm.Series(0).ChartType = SeriesChartType.Polar

            Case 27 : Diagramm.Series(0).ChartType = SeriesChartType.ErrorBar

            Case 28 : Diagramm.Series(0).ChartType = SeriesChartType.BoxPlot

            Case 29 : Diagramm.Series(0).ChartType = SeriesChartType.Radar

            Case 30 : Diagramm.Series(0).ChartType = SeriesChartType.Polar

            Case 31 : Diagramm.Series(0).ChartType = SeriesChartType.Radar

            Case 32 : Diagramm.Series(0).ChartType = SeriesChartType.Radar

            Case 33 : Diagramm.Series(0).ChartType = SeriesChartType.Funnel

            Case 34 : Diagramm.Series(0).ChartType = SeriesChartType.Pyramid

        End Select

        'Legende innert Chart,Position und Grösse

        Diagramm.Legends(0).Position = New ElementPosition(2, 90, 95, 15)

        Diagramm.Legends(0).BackColor = Color.Yellow

        Diagramm.Legends(0).BorderWidth = 1

        Diagramm.Legends(0).BorderColor = Color.Red

        Diagramm.Legends(0).Font = New Font("Arial", 8)

 

        Diagramm.ChartAreas(0).AxisX.Minimum = 1998

        Diagramm.ChartAreas(0).AxisX.Maximum = 2015

        Diagramm.ChartAreas(0).AxisX.Title = "Jahr"

        Diagramm.ChartAreas(0).AxisX.TitleAlignment = StringAlignment.Near

        Diagramm.ChartAreas(0).AxisX.LabelStyle.Font = New Font("Arial", 8)

 

        Diagramm.ChartAreas(0).AxisY.Maximum = 11

        Diagramm.ChartAreas(0).AxisY.Title = "Selzer-McKenzie®  SelMcKenzie® Melbourne,Australia"

        Diagramm.ChartAreas(0).AxisY.TitleAlignment = StringAlignment.Far

        Diagramm.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8)

 

        Diagramm.BackColor = Color.DarkSeaGreen

        Diagramm.ChartAreas(0).BackColor = Color.Khaki

    End Sub

 

    Private Sub ToolStripDateiSpeichern_Click(sender As Object, e As EventArgs) Handles ToolStripDateiSpeichern.Click

 

        With SaveFileDialog

            .DefaultExt = "txt"

            .FileName = "Meine_Datei.txt" 'Name, unter dem abgespeichert wird

            .AddExtension = True          ' Warnung, wenn bereits eine gleichnamige Datei vorhanden ist:

            .OverwritePrompt = True       'prüft, ob Dateiname erlaubte Zeichen enthält

            .ValidateNames = True

            .Filter = "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"

            .InitialDirectory = Application.ExecutablePath

            .Title = "Als Text-Datei speichern!"

        End With

 

    End Sub

 

    Private Sub ToolStripDateiÖffnen_Click(sender As Object, e As EventArgs) Handles ToolStripDateiÖffnen.Click

        With OpenFileDialog

            .DefaultExt = "txt"

            ' Die(Filterzeichenfolge)

            .Filter = "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"

            ' Warnung, wenn der Namen einer nicht vorhandenen Datei eingegeben wird:

            .CheckFileExists = True

            'Das(Anfangsverzeichnis)

            .InitialDirectory = Application.ExecutablePath

            ' Beschriftung der Titelleiste des Dialogs:

            .Title = "Bitte öffnen Sie eine Textdatei!"

        End With

 

 

    End Sub

    Private Const SRCCOPY As Integer = 13369376 'gehört zu Chart lonley und Bildschirmfoto save

    _

    Private Shared Function BitBlt(hDestDC As IntPtr, x As Integer, y As Integer, nWidth As Integer, nHeight As Integer, hSrcDC As IntPtr, _

     xSrc As Integer, ySrc As Integer, dwRop As Integer) As Integer

    End Function

    Private Sub ToolStripGraphicSpeichern_Click(sender As Object, e As EventArgs) Handles ToolStripGraphicSpeichern.Click

        Dim Zeichnen As Graphics, FotoBildschirm As Graphics

        Dim ChartZeichnen As IntPtr, ChartInBildschirmfotoBringen As IntPtr

        Dim Bildschirmfoto As Image

        Zeichnen = Me.CreateGraphics()

        Bildschirmfoto = New Bitmap(Me.ClientRectangle.Width, Me.ClientRectangle.Height, Zeichnen)

        FotoBildschirm = Graphics.FromImage(Bildschirmfoto)

        ChartZeichnen = Zeichnen.GetHdc()

        ChartInBildschirmfotoBringen = FotoBildschirm.GetHdc()

        BitBlt(ChartInBildschirmfotoBringen, 0, 0, Me.ClientRectangle.Width, Me.ClientRectangle.Height, ChartZeichnen, 0, 0, 13369376)

        Zeichnen.ReleaseHdc(ChartZeichnen)

        FotoBildschirm.ReleaseHdc(ChartInBildschirmfotoBringen)

 
 
 
 
 
 
 
 


        Directory.CreateDirectory("c:\1")

        Diagramm.SaveImage("c:\1\Chart.bmp", ChartImageFormat.Bmp) 'speichert nur den Chart

        Bildschirmfoto.Save("c:\1\Bildschirmfoto.png", System.Drawing.Imaging.ImageFormat.Png) 'speichert alles incl.Diagramm

        MessageBox.Show("Bild gespeichert im Verzeichnisc:\1\ (Chart.bmp und Bildschirmfoto.png)")

 

    End Sub

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.