재수정

This commit is contained in:
kyh
2025-01-31 14:49:45 +09:00
parent 9d31413579
commit 5dc918567b

View File

@@ -620,7 +620,7 @@ namespace BitgetAPI.IndicatorConditionSetup
var buyFlag = false;
// 30분봉
var flag_30 = (저고점_30["전전전저가"] > 저고점_30["전전저가"]
var flag_30 = (저고점_30["전전전저가"] > 저고점_30["전전저가"]
&& (저고점_30["전전저가"] < 전봉3 && 저고점_30["전전저가"] < 전전봉3 && 저고점_30["전전저가"] < 현재봉3 && 전전봉3 > 전봉3 && 전봉3 < 현재봉3)
&& 현재봉3_30 > 저고점_30["전고가"])
|| (저고점_30["전전전저가"] > 저고점_30["전전저가"] && 저고점_30["전전저가"] < 저고점_30["전저가"] && 현재봉3_30 > 저고점_30["전고가"])
@@ -722,7 +722,7 @@ namespace BitgetAPI.IndicatorConditionSetup
}
var sellFlag = false;
if (저고점_30["전저가"] > 전봉3 || 저고점_30["전고가"] < 저고점_30["전전고가"])
if (저고점_30["전저가"] > 전봉3_30 || 저고점_30["전고가"] < 저고점_30["전전고가"])
sellFlag = true;
@@ -815,13 +815,13 @@ namespace BitgetAPI.IndicatorConditionSetup
//사는 시점
if (!DownBuyList.ContainsKey(market))
{
var buyFlag = false;
var buyFlag = false;
//var flag_30 = (저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] > 저고점_30["전고가"] && 현재봉3_30 < 저고점_30["전저가"])
// || (저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] < 저고점_30["전고가"] && 현재봉3_30 < 저고점_30["전저가"]);
var flag_30 = (저고점_30["전전전고가"] < 저고점_30["전전고가"]
var flag_30 = (저고점_30["전전전고가"] < 저고점_30["전전고가"]
&& (저고점_30["전전고가"] > 전봉3 && 저고점_30["전전고가"] > 전전봉3 && 저고점_30["전전고가"] > 현재봉3 && 전전봉3 < 전봉3 && 전봉3 > 현재봉3)
&& 현재봉3_30 < 저고점_30["전저가"])
|| (저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] > 저고점_30["전고가"] && 현재봉3_30 < 저고점_30["전저가"])
@@ -830,31 +830,31 @@ namespace BitgetAPI.IndicatorConditionSetup
var flag_5 = (저고점_5["전전전고가"] < 저고점_5["전전고가"] && 저고점_5["전전고가"] > 저고점_5["전고가"] && 현재봉3_5 < 저고점_5["전저가"])
|| (저고점_5["전전전고가"] < 저고점_5["전전고가"] && 저고점_5["전전고가"] < 저고점_5["전고가"] && 현재봉3_5 < 저고점_5["전저가"]);
var flag_1 = 현재봉3 < 현재봉24 && 현재봉3 < 현재봉48 && 현재봉3 < 현재봉72 && 현재봉3 < 현재봉120;
var flag_1 = 현재봉3 < 현재봉24 && 현재봉3 < 현재봉48 && 현재봉3 < 현재봉72 && 현재봉3 < 현재봉120;
if (flag_30 && flag_5 && flag_1)
if (flag_30 && flag_5 && flag_1)
{
buyFlag = true;
}
if (buyFlag)
{
// 없으면 생성
if (signalData == null)
{
buyFlag = true;
SignalInfoData signalInfoData = new SignalInfoData();
signalInfoData.SignalStart = nowTime;
signalInfoData.MarketName = market;
signalInfoData.Description = description;
signalInfoData.Rate = rate;
signalInfoData.Price = price;
signalInfoData.IndicatorPrice = indicatorPrice;
signalInfoData.IndicatorRate = indicatorRate;
signalInfoData.MCandleTimeType = interval;
signals_SD.Add(signalInfoData);
}
if (buyFlag)
{
// 없으면 생성
if (signalData == null)
{
SignalInfoData signalInfoData = new SignalInfoData();
signalInfoData.SignalStart = nowTime;
signalInfoData.MarketName = market;
signalInfoData.Description = description;
signalInfoData.Rate = rate;
signalInfoData.Price = price;
signalInfoData.IndicatorPrice = indicatorPrice;
signalInfoData.IndicatorRate = indicatorRate;
signalInfoData.MCandleTimeType = interval;
signals_SD.Add(signalInfoData);
}
var buyDic = new Dictionary<string, object>
var buyDic = new Dictionary<string, object>
{
{ "MarketName", market },
{ "BuyDate", nowTime },
@@ -864,26 +864,26 @@ namespace BitgetAPI.IndicatorConditionSetup
{ "Candle", candleData }
};
DownBuyList.Add(market, buyDic);
var dic = new Dictionary<int, bool>
{
[1] = true,
[2] = false,
[3] = false,
[4] = false,
[5] = false
};
SellShortStep.Add(market, dic);
DownBuyList.Add(market, buyDic);
var dic = new Dictionary<int, bool>
{
[1] = true,
[2] = false,
[3] = false,
[4] = false,
[5] = false
};
SellShortStep.Add(market, dic);
if (ShortCount < 5)
if (ShortCount < 5)
{
double size = YHKIM_OrderAmount / price * YHKIM_Leverage;
var orderData = FutureOrder(market, FutureMarginMode.isolated, size, price, FutureSide.BuyShort, OrderType.limit, YHKIM_Leverage);
if (orderData != null)
{
double size = YHKIM_OrderAmount / price * YHKIM_Leverage;
var orderData = FutureOrder(market, FutureMarginMode.isolated, size, price, FutureSide.BuyShort, OrderType.limit, YHKIM_Leverage);
if (orderData != null)
{
var orderDic = JsonConvert.DeserializeObject<Dictionary<string, string>>(JsonConvert.SerializeObject(orderData["data"]));
var orderDic = JsonConvert.DeserializeObject<Dictionary<string, string>>(JsonConvert.SerializeObject(orderData["data"]));
var orderDataDic = new Dictionary<string, object>
var orderDataDic = new Dictionary<string, object>
{
{ "MarketName", market },
{ "BuyDate", nowTime },
@@ -893,19 +893,19 @@ namespace BitgetAPI.IndicatorConditionSetup
{ "Size", size },
{ "orderId", orderDic["orderId"] }
};
BuyShortList.Add(orderDataDic);
ShortCount++;
}
BuyShortList.Add(orderDataDic);
ShortCount++;
}
}
}
}
//파는 시점
else
{
{
var buyItem = DownBuyList[market];
if (interval < MCandleTimeType.H1)
{
var buyTime = ((DateTime)buyItem["BuyDate"]).AddMinutes((int)interval);
@@ -921,7 +921,7 @@ namespace BitgetAPI.IndicatorConditionSetup
}
var sellFlag = false;
if (저고점_30["전고가"] < 전봉3 || 저고점_30["전저가"] > 저고점_30["전전저가"])
if (저고점_30["전고가"] < 전봉3_30 || 저고점_30["전저가"] > 저고점_30["전전저가"])
sellFlag = true;