일목 및 신호검색 수정중

This commit is contained in:
jwlee
2024-06-02 17:21:39 +09:00
parent 1f3db07e76
commit 4db5a85e55
8 changed files with 589 additions and 133 deletions

View File

@@ -1,8 +1,6 @@
using BitgetAPI.Data;
using BitgetAPI.Data.IndicatorData;
using DevExpress.Utils.Extensions;
using Million.Data;
using Million.Manager;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -52,11 +50,18 @@ namespace BitgetAPI.IndicatorConditionSetup
선행스팬2 : (과거 k일간의 최고가 + 과거 k일간의 최저가) /2한 값을 ℓ일 후에 기입
*/
// 시간별로 정렬하기
var candleDatas_정렬 = candleDatas.OrderBy(i => i.Argument);
// 현재 종가 인덱스
var endIndex = candleDatas.Count - 1;
var endIndex = candleDatas_정렬.Count() - 1;
var 한봉전까지Index = endIndex - 1;
var candleData_전봉 = candleDatas[endIndex - 1];
// 현재 시간 캔들
var nowCandle = candleDatas[endIndex];
@@ -106,7 +111,7 @@ namespace BitgetAPI.IndicatorConditionSetup
if (datas == null) return;
// 전환선
// 전환선 : 26일 전봉
var displacement_전환선 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2;
datas = candleDatas.FindAll(i =>
@@ -115,21 +120,35 @@ namespace BitgetAPI.IndicatorConditionSetup
if (datas == null) return;
// 기준선
// 기준선 : 26일 전봉
var displacement_기준선 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2;
// 선행스팬 1
nowCandle.IchimokData.선행스팬1 =
(displacement_전환선 + displacement_기준선) / 2;
// 선행스팬 2
datas = candleDatas.FindAll(i =>
candleDatas.IndexOf(i) >= 한봉전까지Index - LaggingSpan2Period &&
candleDatas.IndexOf(i) <= 한봉전까지Index);
// 선행스팬 2
nowCandle.IchimokData.선행스팬2 = (datas.Min(i => i.Low) + datas.Min(i => i.High)) / 2;
// 일목균형표 (전봉데이터)
var 일목균형표_전봉 = candleData_전봉.IchimokData;
var 일목균형표_상한선 = Math.Max(일목균형표_전봉.선행스팬1, 일목균형표_전봉.선행스팬2);
var 일목균형표_하한선 = Math.Min(일목균형표_전봉.선행스팬1, 일목균형표_전봉.선행스팬2);
// 전봉
if (일목균형표_상한선 < candleData_전봉.Close && 일목균형표_상한선 < nowCandle.Close) nowCandle.IchimokData.IsLongUp = true;
else nowCandle.IchimokData.IsLongUp = false;
if (일목균형표_하한선 > candleData_전봉.Close && 일목균형표_하한선 > nowCandle.Close) nowCandle.IchimokData.IsShortDown = true;
else nowCandle.IchimokData.IsShortDown = false;
//if(일목균형표_상한선 > candleData_전봉.Close && )
}