0

ティーチャートの週末の問題に関するいくつかの記事を読みましたが、提案はばかげた手順です:

  1. TChart1.Series(0).XValues.DateTime = False
  2. 連続する数値を Xvalue として使用する
  3. X ラベルを datetime に置き換えます。

問題は、日付、時間、分に従ってリアルタイムのローソク足を描画し、TChart1.Series(0).XValues.DateTime = True を維持する必要があることです。

ローソク足が継続的に表示されるように、ヌルの週末を取り除く方法はありますか (週末だけでなく、5:15 から 6:00 までの時間も削除する必要があります)。常に日時スタイル)?

ありがとう。

(ところで、私は Teechart2011 Eval & VB6 を使用しています)

4

2 に答える 2

0

here からコードを抜粋して、ここでうまくいくと思われる簡単な例を作成しました。以下で見つけてください:

Private Sub Form_Load() 
  Dim month, day, year, hour, minute, second, nums As Integer
  Dim tmpDate As Date
  month = 6
  day = 7
  year = 2012
  hour = 6
  minute = 15
  second = 0
  nums = 10

  TChart1.Aspect.View3D = False
  TChart1.AddSeries scCandle
  TChart1.Axis.Bottom.Labels.Angle = 90

  For i = 1 To nums
    tmpDate = (DateValue(day & "," & month & "," & year) + TimeValue(hour & ":" & minute & ":" & second))
    If Not IsWeekend(tmpDate) Then
      With TChart1.Series(0)
        .asCandle.AddCandle .Count, 5, 15, 0, 10, tmpDate, clTeeColor
      End With
    End If
    day = day + 1
  Next i
End Sub

Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function
于 2012-10-08T10:28:13.290 に答える
0

TeeChart は、関連付けられた軸の X 値と Y 値に従って各ポイントを描画します。軸の分割ツールを使用して、軸に不連続な効果を得ることができますが、水平軸にポイントを連続して描画する最も簡単な方法は、連続した X 値を持つことです。TChart1.Series(i).asCandle.AddCandle XVal, OpenVal, HighVal, LowVal, CloseVal, Label, clTeeColorしたがって、次の関数を使用することをお勧めします。

  • XVal: TChart1.Series(i).Count、システムから取得した日付の代わりに
  • ラベル: システムから取得され、文字列に変換された日付

それでも DateTime XValues が必要だと思うために問題が解決しない場合は、その理由を説明してください。

于 2012-10-03T12:07:04.433 に答える