71 lines
1.9 KiB
C#
71 lines
1.9 KiB
C#
namespace Bitget_Server.Api.Dtos;
|
|
|
|
/// <summary>
|
|
/// /api/diag 엔드포인트 전용 응답 모델.
|
|
/// Chart.js financial 플러그인 포맷에 맞춰 {t, o, h, l, c} 가 기본이며,
|
|
/// 인디케이터는 선택 필드로 포함된다.
|
|
/// </summary>
|
|
public record DiagSymbolsResponse(
|
|
IEnumerable<string> Symbols,
|
|
IEnumerable<string> Intervals);
|
|
|
|
public record DiagCandleDto(
|
|
long t, // epoch millis (Chart.js x-axis)
|
|
double o,
|
|
double h,
|
|
double l,
|
|
double c,
|
|
double volC,
|
|
double volUsdt,
|
|
bool wsUpdated,
|
|
bool restUpdated,
|
|
DiagIchimokuDto ichimoku,
|
|
Dictionary<int, DiagMovingAverageDto> ma,
|
|
Dictionary<int, DiagImpulseMacdDto> impulseMacd);
|
|
|
|
public record DiagIchimokuDto(
|
|
double 기준선,
|
|
double 전환선,
|
|
double 후행스팬,
|
|
double 선행스팬1,
|
|
double 선행스팬2,
|
|
double 상한선,
|
|
double 하한선,
|
|
bool IsLongUp,
|
|
bool IsLongDown,
|
|
bool IsShortUp,
|
|
bool IsShortDown);
|
|
|
|
public record DiagMovingAverageDto(
|
|
double Value,
|
|
double Average,
|
|
double BolUp,
|
|
double BolDown);
|
|
|
|
public record DiagImpulseMacdDto(double MD, double SH, double SB);
|
|
|
|
public record DiagCandleResponse(
|
|
string Symbol,
|
|
string Interval,
|
|
int Count,
|
|
IEnumerable<DiagCandleDto> Candles);
|
|
|
|
/// <summary>PriceLevelTracker 의 전고점/전저점 상태 전체 키·값.</summary>
|
|
public record DiagPriceLevelsDto(
|
|
string Symbol,
|
|
string Interval,
|
|
string Key,
|
|
IReadOnlyDictionary<string, double> Levels);
|
|
|
|
/// <summary>SignalProcessService 의 현재 신호 요약 (차트 마커용).</summary>
|
|
public record DiagSignalMarkerDto(
|
|
string direction, // "LongUp" / "ShortDown" / "LongDown" / "ShortUp"
|
|
string symbol,
|
|
string interval,
|
|
long t,
|
|
double price,
|
|
double rate,
|
|
double indicatorPrice,
|
|
double indicatorRate,
|
|
string description);
|