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.