수정
This commit is contained in:
@@ -518,13 +518,14 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
var 전봉12 = candleData_전봉.movingAverageDataList[12].Value;
|
||||
var 전봉24 = candleData_전봉.movingAverageDataList[24].Value;
|
||||
var 전봉36 = candleData_전봉.movingAverageDataList[36].Value;
|
||||
var 전봉48 = candleData_전봉.movingAverageDataList[48].Value;
|
||||
var 전봉72 = candleData_전봉.movingAverageDataList[72].Value;
|
||||
var 전봉120 = candleData_전봉.movingAverageDataList[120].Value;
|
||||
var 전봉144 = candleData_전봉.movingAverageDataList[144].Value;
|
||||
|
||||
var 전봉20 = candleData_전봉.movingAverageDataList[20].Value;
|
||||
var 전봉40 = candleData_전봉.movingAverageDataList[40].Value;
|
||||
var 전봉80 = candleData_전봉.movingAverageDataList[80].Value;
|
||||
var 전봉120 = candleData_전봉.movingAverageDataList[120].Value;
|
||||
var 전봉80 = candleData_전봉.movingAverageDataList[80].Value;
|
||||
var 전봉160 = candleData_전봉.movingAverageDataList[160].Value;
|
||||
//var 전봉240 = candleData_전봉.movingAverageDataList[240].Value;
|
||||
//var 전봉480 = candleData_전봉.movingAverageDataList[480].Value;
|
||||
@@ -586,6 +587,18 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
var 전전봉3_30 = candleData_30_전전봉.movingAverageDataList[3].Value;
|
||||
var 전전전봉3_30 = candleData_30_전전전봉.movingAverageDataList[3].Value;
|
||||
|
||||
var oneList = new List<double>() {
|
||||
현재봉24,
|
||||
현재봉48,
|
||||
현재봉72,
|
||||
현재봉120
|
||||
};
|
||||
var beforeOneList = new List<double>() {
|
||||
전봉24,
|
||||
전봉48,
|
||||
전봉72,
|
||||
전봉120
|
||||
};
|
||||
|
||||
|
||||
var 저고점_1 = 전저고점[market + "1m"];
|
||||
@@ -599,6 +612,8 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
returnVal = Calculate전고점(market, "30m", MCandleTimeType.M30, 전봉3_30, 전전봉3_30, 전전전봉3_30, candleData_30);
|
||||
if (!returnVal) continue;
|
||||
|
||||
|
||||
|
||||
if (영호조건식_상향돌파)
|
||||
{
|
||||
var price = candleData.Close;
|
||||
@@ -620,23 +635,23 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
var buyFlag = false;
|
||||
|
||||
// 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["전고가"])
|
||||
|| (저고점_30["전전전저가"] > 저고점_30["전전저가"] && 저고점_30["전전저가"] > 저고점_30["전저가"] && 현재봉3_30 > 저고점_30["전고가"]);
|
||||
var flag_30 =
|
||||
//(저고점_30["전전전저가"] > 저고점_30["전전저가"]
|
||||
// && (저고점_30["전전저가"] < 전봉3 && 저고점_30["전전저가"] < 전전봉3 && 저고점_30["전전저가"] < 현재봉3 && 전전봉3 > 전봉3 && 전봉3 < 현재봉3)
|
||||
//&& 현재봉3_30 > 저고점_30["전고가"]) ||
|
||||
(저고점_30["전전전저가"] > 저고점_30["전전저가"] && 저고점_30["전전저가"] < 저고점_30["전저가"] && candleData_30.Close > 저고점_30["전고가"])
|
||||
|| (저고점_30["전전전고가"] > 저고점_30["전전고가"] && 저고점_30["전전고가"] > 저고점_30["전고가"] && 현재봉3_30 > 저고점_30["전고가"]);
|
||||
|
||||
var flag_5 = (저고점_5["전전전저가"] > 저고점_5["전전저가"] && 저고점_5["전전저가"] < 저고점_5["전저가"] && 현재봉3_5 > 저고점_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 > oneList.Max() && 전봉3 < beforeOneList.Max();
|
||||
|
||||
if (flag_30 && flag_5 && flag_1)
|
||||
{
|
||||
buyFlag = true;
|
||||
}
|
||||
|
||||
|
||||
if (buyFlag)
|
||||
{
|
||||
// 없으면 생성
|
||||
@@ -660,6 +675,7 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
{ "MarketName", market },
|
||||
{ "BuyDate", nowTime },
|
||||
{ "Price", price },
|
||||
{ "Flag", 저고점_30["전고가"] > 저고점_30["전전고가"]},
|
||||
{ "MCandleTimeType", (int)interval },
|
||||
{ "CandleTime", candleData.Argument },
|
||||
{ "Candle", candleData }
|
||||
@@ -706,10 +722,10 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
{
|
||||
|
||||
var buyItem = UpBuyList[market];
|
||||
|
||||
var flag = (bool)buyItem["Flag"];
|
||||
if (interval < MCandleTimeType.H1)
|
||||
{
|
||||
var buyTime = ((DateTime)buyItem["BuyDate"]).AddMinutes((int)interval);
|
||||
var buyTime = ((DateTime)buyItem["BuyDate"]).AddMinutes(30);
|
||||
if (nowTime < buyTime)
|
||||
continue;
|
||||
}
|
||||
@@ -722,9 +738,23 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
}
|
||||
|
||||
var sellFlag = false;
|
||||
if (저고점_30["전저가"] > 전봉3_30 || 저고점_30["전고가"] < 저고점_30["전전고가"])
|
||||
if (저고점_30["전저가"] > 전봉3_30)
|
||||
sellFlag = true;
|
||||
|
||||
if (flag)
|
||||
{
|
||||
if(저고점_30["전고가"] < 저고점_30["전전고가"])
|
||||
{
|
||||
sellFlag = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (저고점_30["전고가"] > 저고점_30["전전고가"])
|
||||
{
|
||||
buyItem["Flag"] = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (sellFlag)
|
||||
{
|
||||
@@ -821,16 +851,17 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
//var flag_30 = (저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] > 저고점_30["전고가"] && 현재봉3_30 < 저고점_30["전저가"])
|
||||
// || (저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] < 저고점_30["전고가"] && 현재봉3_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["전저가"])
|
||||
|| (저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] < 저고점_30["전고가"] && 현재봉3_30 < 저고점_30["전저가"]);
|
||||
var flag_30 =
|
||||
//(저고점_30["전전전고가"] < 저고점_30["전전고가"]
|
||||
//&& (저고점_30["전전고가"] > 전봉3 && 저고점_30["전전고가"] > 전전봉3 && 저고점_30["전전고가"] > 현재봉3 && 전전봉3 < 전봉3 && 전봉3 > 현재봉3)
|
||||
//&& 현재봉3_30 < 저고점_30["전저가"]) ||
|
||||
(저고점_30["전전전고가"] < 저고점_30["전전고가"] && 저고점_30["전전고가"] > 저고점_30["전고가"] && candleData_30.Close < 저고점_30["전저가"])
|
||||
|| (저고점_30["전전전저가"] < 저고점_30["전전저가"] && 저고점_30["전전저가"] < 저고점_30["전저가"] && 현재봉3_30 < 저고점_30["전저가"]);
|
||||
|
||||
var flag_5 = (저고점_5["전전전고가"] < 저고점_5["전전고가"] && 저고점_5["전전고가"] > 저고점_5["전고가"] && 현재봉3_5 < 저고점_5["전저가"])
|
||||
|| (저고점_5["전전전고가"] < 저고점_5["전전고가"] && 저고점_5["전전고가"] < 저고점_5["전고가"] && 현재봉3_5 < 저고점_5["전저가"]);
|
||||
var flag_5 = (저고점_5["전전전고가"] < 저고점_5["전전고가"] && 저고점_5["전전고가"] > 저고점_5["전고가"] && candleData_5.Close < 저고점_5["전저가"])
|
||||
|| (저고점_5["전전전저가"] < 저고점_5["전전저가"] && 저고점_5["전전저가"] < 저고점_5["전저가"] && 현재봉3_5 < 저고점_5["전저가"]);
|
||||
|
||||
var flag_1 = 현재봉3 < 현재봉24 && 현재봉3 < 현재봉48 && 현재봉3 < 현재봉72 && 현재봉3 < 현재봉120;
|
||||
var flag_1 = 현재봉3 < oneList.Min() && 전봉3 > beforeOneList.Min();
|
||||
|
||||
if (flag_30 && flag_5 && flag_1)
|
||||
{
|
||||
@@ -859,6 +890,7 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
{ "MarketName", market },
|
||||
{ "BuyDate", nowTime },
|
||||
{ "Price", price },
|
||||
{ "Flag", 저고점_30["전저가"] < 저고점_30["전전저가"]},
|
||||
{ "MCandleTimeType", (int)interval },
|
||||
{ "CandleTime", candleData.Argument },
|
||||
{ "Candle", candleData }
|
||||
@@ -905,10 +937,10 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
else
|
||||
{
|
||||
var buyItem = DownBuyList[market];
|
||||
|
||||
var flag = (bool)buyItem["Flag"];
|
||||
if (interval < MCandleTimeType.H1)
|
||||
{
|
||||
var buyTime = ((DateTime)buyItem["BuyDate"]).AddMinutes((int)interval);
|
||||
var buyTime = ((DateTime)buyItem["BuyDate"]).AddMinutes(30);
|
||||
if (nowTime < buyTime)
|
||||
continue;
|
||||
}
|
||||
@@ -921,9 +953,23 @@ namespace BitgetAPI.IndicatorConditionSetup
|
||||
}
|
||||
var sellFlag = false;
|
||||
|
||||
if (저고점_30["전고가"] < 전봉3_30 || 저고점_30["전저가"] > 저고점_30["전전저가"])
|
||||
if (저고점_30["전고가"] < 전봉3_30)
|
||||
sellFlag = true;
|
||||
|
||||
if (flag)
|
||||
{
|
||||
if (저고점_30["전저가"] > 저고점_30["전전저가"])
|
||||
{
|
||||
sellFlag = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (저고점_30["전저가"] < 저고점_30["전전저가"])
|
||||
{
|
||||
buyItem["Flag"] = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (sellFlag)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user