전저가 고가 미리 계산

This commit is contained in:
kyh
2025-01-15 11:51:35 +09:00
parent bc710b10da
commit c7d6235224

View File

@@ -158,7 +158,7 @@ namespace BitgetAPI.IndicatorConditionSetup
//var sellData = FutureOrder("XRPUSDT", FutureMarginMode.isolated, 10, 0, FutureSide.SellShort, OrderType.market, 10, orderDic["orderId"]);
var firstFlag = true;
// 추후 공통화 및 소스정리 필요
while (true)
{
@@ -254,11 +254,42 @@ namespace BitgetAPI.IndicatorConditionSetup
dic.Add("switchLowVal", 0);
dic.Add("switchHighVal", 0);
전저고점.Add(market + strInterval, dic);
var candleDatas_Temp = findedMarket.candleDataList[interval];
var candleDatas_정렬_Temp = candleDatas_Temp.OrderBy(i => i.Argument).ToList();
var candleDatas_Temp_List = new List<CandleData>();
for (var i = 0; i < 199; i++)
candleDatas_Temp_List.Add(candleDatas_정렬_Temp[i]);
for (var i = 199; i < candleDatas_정렬_Temp.Count; i++)
{
var candleData_Main = candleDatas_정렬_Temp[i];
if (candleData_Main == null) continue;
candleDatas_Temp_List.Add(candleData_Main);
ichimokuConditionSetup.calIchimokuData(candleDatas_Temp_List, candleData_Main);
movingAverageConditionSetup.Cal_YHK_Downpublic(candleDatas_Temp_List, candleData_Main);
if(i > 210)
{
var 현재봉3_Temp = candleDatas_Temp_List[i].movingAverageDataList[3].Value;
var 전봉3_Temp = candleDatas_Temp_List[i-1].movingAverageDataList[3].Value;
var 전전봉3_Temp = candleDatas_Temp_List[i-2].movingAverageDataList[3].Value;
var 전전전봉3_Temp = candleDatas_Temp_List[i-3].movingAverageDataList[3].Value;
var returnVal = Calculate전고점(market, strInterval, interval, 전봉3_Temp, 전전봉3_Temp, 전전전봉3_Temp, candleDatas_Temp_List[candleDatas_Temp_List.Count - 1]);
}
}
}
if (!BuyShortStep.ContainsKey(market + strInterval)) {
BuyShortStep[market + strInterval] = false;
BuyLongStep[market + strInterval] = false;
}
#region Main 처리
// 시간별로 정렬하기 (임시 리스트)
var candleDatas = findedMarket.candleDataList[MCandleTimeType.M1];
@@ -474,9 +505,9 @@ namespace BitgetAPI.IndicatorConditionSetup
var 전전봉40 = candleData_전전봉.movingAverageDataList[40].Value;
var 전전봉120 = candleData_전전봉.movingAverageDataList[120].Value;
var 전전봉160 = candleData_전전봉.movingAverageDataList[160].Value;
var 전전봉240 = candleData_전전봉.movingAverageDataList[240].Value;
//var 전전봉240 = candleData_전전봉.movingAverageDataList[240].Value;
var 전전봉80 = candleData_전전봉.movingAverageDataList[80].Value;
var 전전봉480 = candleData_전전봉.movingAverageDataList[480].Value;
//var 전전봉480 = candleData_전전봉.movingAverageDataList[480].Value;
var 전봉3 = candleData_전봉.movingAverageDataList[3].Value;
@@ -493,8 +524,8 @@ namespace BitgetAPI.IndicatorConditionSetup
var 전봉80 = candleData_전봉.movingAverageDataList[80].Value;
var 전봉120 = candleData_전봉.movingAverageDataList[120].Value;
var 전봉160 = candleData_전봉.movingAverageDataList[160].Value;
var 전봉240 = candleData_전봉.movingAverageDataList[240].Value;
var 전봉480 = candleData_전봉.movingAverageDataList[480].Value;
//var 전봉240 = candleData_전봉.movingAverageDataList[240].Value;
//var 전봉480 = candleData_전봉.movingAverageDataList[480].Value;
var 현재봉3 = candleData.movingAverageDataList[3].Value;
var 현재봉4 = candleData.movingAverageDataList[4].Value;
@@ -508,7 +539,7 @@ namespace BitgetAPI.IndicatorConditionSetup
var 현재봉72 = candleData.movingAverageDataList[72].Value;
var 현재봉120 = candleData.movingAverageDataList[120].Value;
var 현재봉144 = candleData.movingAverageDataList[144].Value;
var 현재봉240 = candleData.movingAverageDataList[240].Value;
//var 현재봉240 = candleData.movingAverageDataList[240].Value;
var 현재봉160 = candleData.movingAverageDataList[160].Value;
var 현재봉80 = candleData.movingAverageDataList[80].Value;
@@ -562,7 +593,6 @@ namespace BitgetAPI.IndicatorConditionSetup
var returnVal = Calculate전고점(market, "1m", MCandleTimeType.M1, 전봉3, 전전봉3, 전전전봉3, candleData);
if (!returnVal) continue;
returnVal = Calculate전고점(market, "5m", MCandleTimeType.M5, 전봉3_5, 전전봉3_5, 전전전봉3_5, candleData_5);
if (!returnVal) continue;
returnVal = Calculate전고점(market, "30m", MCandleTimeType.M30, 전봉3_30, 전전봉3_30, 전전전봉3_30, candleData_30);
@@ -980,7 +1010,7 @@ namespace BitgetAPI.IndicatorConditionSetup
}
}
private bool Calculate전고점(string market, string strInterval, MCandleTimeType type, double 전봉3, double 전전봉3, double 전전전봉3, CandleData candleData)
public bool Calculate전고점(string market, string strInterval, MCandleTimeType type, double 전봉3, double 전전봉3, double 전전전봉3, CandleData candleData)
{
var 저고점 = 전저고점[market + strInterval];
@@ -1042,8 +1072,6 @@ namespace BitgetAPI.IndicatorConditionSetup
저고점["전고가"] = 전전봉3;
}
전저고점[market + strInterval] = 저고점;
if (저고점["전전전저가"] == 0 || 저고점["전전전고가"] == 0)
return false;