수조ㅓㅇ
This commit is contained in:
@@ -402,16 +402,29 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
var 현재봉72 = candleData.movingAverageDataList[72].Value;
|
var 현재봉72 = candleData.movingAverageDataList[72].Value;
|
||||||
|
|
||||||
|
|
||||||
var 전봉Bol4 = candleData_전봉.movingAverageDataList[4].BolangerValue;
|
var 전봉Bol4_Down = candleData_전봉.movingAverageDataList[4].BolangerValue_Down;
|
||||||
var 전봉Bol12 = candleData_전봉.movingAverageDataList[12].BolangerValue;
|
var 전봉Bol12_Down = candleData_전봉.movingAverageDataList[12].BolangerValue_Down;
|
||||||
var 전봉Bol24 = candleData_전봉.movingAverageDataList[24].BolangerValue;
|
var 전봉Bol24_Down = candleData_전봉.movingAverageDataList[24].BolangerValue_Down;
|
||||||
|
|
||||||
var 전전봉Bol4 = candleData_전전봉.movingAverageDataList[4].BolangerValue;
|
var 전전봉Bol4_Down = candleData_전전봉.movingAverageDataList[4].BolangerValue_Down;
|
||||||
var 전전봉Bol12 = candleData_전전봉.movingAverageDataList[12].BolangerValue;
|
var 전전봉Bol12_Down = candleData_전전봉.movingAverageDataList[12].BolangerValue_Down;
|
||||||
var 전전봉Bol24 = candleData_전전봉.movingAverageDataList[24].BolangerValue;
|
var 전전봉Bol24_Down = candleData_전전봉.movingAverageDataList[24].BolangerValue_Down;
|
||||||
var Bol4 = candleData.movingAverageDataList[4].BolangerValue;
|
|
||||||
var Bol12 = candleData.movingAverageDataList[12].BolangerValue;
|
var Bol4_Down = candleData.movingAverageDataList[4].BolangerValue_Down;
|
||||||
var Bol24 = candleData.movingAverageDataList[24].BolangerValue;
|
var Bol12_Down = candleData.movingAverageDataList[12].BolangerValue_Down;
|
||||||
|
var Bol24_Down = candleData.movingAverageDataList[24].BolangerValue_Down;
|
||||||
|
|
||||||
|
var 전봉Bol4_Up = candleData_전봉.movingAverageDataList[4].BolangerValue_Up;
|
||||||
|
var 전봉Bol12_Up = candleData_전봉.movingAverageDataList[12].BolangerValue_Up;
|
||||||
|
var 전봉Bol24_Up = candleData_전봉.movingAverageDataList[24].BolangerValue_Up;
|
||||||
|
|
||||||
|
var 전전봉Bol4_Up = candleData_전전봉.movingAverageDataList[4].BolangerValue_Up;
|
||||||
|
var 전전봉Bol12_Up = candleData_전전봉.movingAverageDataList[12].BolangerValue_Up;
|
||||||
|
var 전전봉Bol24_Up = candleData_전전봉.movingAverageDataList[24].BolangerValue_Up;
|
||||||
|
|
||||||
|
var Bol4_Up = candleData.movingAverageDataList[4].BolangerValue_Up;
|
||||||
|
var Bol12_Up = candleData.movingAverageDataList[12].BolangerValue_Up;
|
||||||
|
var Bol24_Up = candleData.movingAverageDataList[24].BolangerValue_Up;
|
||||||
|
|
||||||
if ((int)interval != 1)
|
if ((int)interval != 1)
|
||||||
{
|
{
|
||||||
@@ -435,33 +448,34 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
{
|
{
|
||||||
var buyFlag = false;
|
var buyFlag = false;
|
||||||
var buyType = 0;
|
var buyType = 0;
|
||||||
if(BuyLongStep.ContainsKey(market + interval) && BuyLongStep[market + interval])
|
if (BuyLongStep.ContainsKey(market + interval) && BuyLongStep[market + interval])
|
||||||
{
|
{
|
||||||
if (현재봉72 > 현재봉24 && 현재봉24 > 현재봉12 && 현재봉12 > 현재봉2)
|
if (현재봉72 < 현재봉24 && 현재봉24 < 현재봉12 && 현재봉12 < 현재봉2 && candleData.IchimokData.상한선 < 현재봉2)
|
||||||
{
|
{
|
||||||
if (Bol12 > Bol24 && 전봉Bol12 > 전봉Bol24 &&
|
if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up &&
|
||||||
전봉Bol12 > Bol12 && 전봉Bol24 > Bol24 &&
|
전봉Bol12_Up < Bol12_Up && 전봉Bol24_Up < Bol24_Up)
|
||||||
전봉Bol12 - 전봉Bol24 > Bol12 - Bol24)
|
|
||||||
{
|
{
|
||||||
buyType = 2;
|
buyType = 2;
|
||||||
buyFlag = true;
|
buyFlag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (현재봉2 < 현재봉24)
|
||||||
|
BuyLongStep[market + interval] = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
candleData.IchimokData.하한선 > 현재봉2 && candleData_전봉.IchimokData.하한선 > 전봉2 &&
|
candleData_전봉.IchimokData.하한선 > 전봉2 && candleData_전전봉.IchimokData.하한선 > 전전봉2 &&
|
||||||
현재봉72 > 현재봉2 && 전봉72 > 전봉2 && 전봉24 > 전봉2 && 현재봉24 < 현재봉2 &&
|
전봉72 > 전봉2 && 전전봉72 > 전전봉2 && 전전봉24 > 전전봉2 && 전봉24 < 전봉2 &&
|
||||||
전봉12 < 전봉2 && 현재봉12 < 현재봉24
|
전전봉12 < 전전봉2 && 전봉12 < 전봉24
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
buyFlag = true; ;
|
//buyFlag = true;
|
||||||
buyType = 1;
|
//buyType = 1;
|
||||||
}
|
}
|
||||||
else if (
|
else if (
|
||||||
candleData.IchimokData.상한선 < 현재봉2 && candleData_전봉.IchimokData.상한선 < 전봉2 &&
|
candleData_전봉.IchimokData.상한선 < 전봉2 && candleData_전전봉.IchimokData.상한선 < 전전봉2 &&
|
||||||
현재봉72 < 현재봉2 && 전봉72 < 전봉2 && 전봉12 > 전봉2 && 현재봉12 < 현재봉2
|
전봉72 < 전봉2 && 전전봉72 < 전전봉2 && 전전봉12 > 전전봉2 && 전봉12 < 전봉2
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BuyShortStep[market + interval] = true;
|
BuyShortStep[market + interval] = true;
|
||||||
@@ -595,7 +609,7 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (Bol12 > 전봉Bol12 && Bol24 > 전봉Bol24)
|
if (Bol12_Up < 전봉Bol12_Up && Bol24_Up < 전봉Bol24_Up)
|
||||||
{
|
{
|
||||||
sellFlag = true;
|
sellFlag = true;
|
||||||
}
|
}
|
||||||
@@ -697,31 +711,32 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
if (BuyShortStep.ContainsKey(market + interval) && BuyShortStep[market + interval])
|
if (BuyShortStep.ContainsKey(market + interval) && BuyShortStep[market + interval])
|
||||||
{
|
{
|
||||||
//72 > 24 > 12 > 2
|
//72 > 24 > 12 > 2
|
||||||
if (현재봉72 > 현재봉24 && 현재봉24 > 현재봉12 && 현재봉12 > 현재봉2)
|
if (현재봉72 > 현재봉24 && 현재봉24 > 현재봉12 && 현재봉12 > 현재봉2 && candleData.IchimokData.하한선 > 현재봉2)
|
||||||
{
|
{
|
||||||
if (Bol12 > Bol24 && 전봉Bol12 > 전봉Bol24 &&
|
if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down &&
|
||||||
전봉Bol12 > Bol12 && 전봉Bol24 > Bol24 &&
|
전봉Bol12_Down > Bol12_Down && 전봉Bol24_Down > Bol24_Down)
|
||||||
전봉Bol12 - 전봉Bol24 > Bol12 - Bol24)
|
|
||||||
{
|
{
|
||||||
buyType = 2;
|
buyType = 2;
|
||||||
buyFlag = true;
|
buyFlag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (현재봉2 > 현재봉24)
|
||||||
|
BuyShortStep[market + interval] = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
candleData.IchimokData.상한선 < 현재봉2 && candleData_전봉.IchimokData.상한선 < 전봉2 &&
|
candleData_전봉.IchimokData.상한선 < 전봉2 && candleData_전전봉.IchimokData.상한선 < 전전봉2 &&
|
||||||
현재봉72 < 현재봉2 && 전봉72 < 전봉2 && 전봉24 < 전봉2 && 현재봉24 > 현재봉2 &&
|
전봉72 < 전봉2 && 전전봉72 < 전전봉2 && 전전봉24 < 전전봉2 && 전봉24 > 전봉2 &&
|
||||||
전봉12 > 전봉2 && 현재봉12 > 현재봉24
|
전전봉12 > 전전봉2 && 전봉12 > 전봉24
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
buyFlag = true;
|
//buyFlag = true;
|
||||||
buyType = 1;
|
//buyType = 1;
|
||||||
}
|
}
|
||||||
else if (
|
else if (
|
||||||
candleData.IchimokData.하한선 > 현재봉2 && candleData_전봉.IchimokData.하한선 > 전봉2 &&
|
candleData_전봉.IchimokData.하한선 > 전봉2 && candleData_전전봉.IchimokData.하한선 > 전전봉2 &&
|
||||||
현재봉72 > 현재봉2 && 전봉72 > 전봉2 && 전봉12 < 전봉2 && 현재봉12 > 현재봉2
|
전봉72 > 전봉2 && 전전봉72 > 전전봉2 && 전전봉12 < 전전봉2 && 전봉12 > 전봉2
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
BuyShortStep[market + interval] = true;
|
BuyShortStep[market + interval] = true;
|
||||||
@@ -859,7 +874,7 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
sellFlag = true;
|
sellFlag = true;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if(Bol12 > 전봉Bol12 && Bol24 > 전봉Bol24)
|
if(Bol12_Down > 전봉Bol12_Down && Bol24_Down > 전봉Bol24_Down)
|
||||||
{
|
{
|
||||||
sellFlag = true;
|
sellFlag = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
candleData.movingAverageDataList[item.Key] = new MovingAverageData();
|
candleData.movingAverageDataList[item.Key] = new MovingAverageData();
|
||||||
candleData.movingAverageDataList[item.Key].Value = datas.Sum(i => i.Close) / item.Key;
|
candleData.movingAverageDataList[item.Key].Value = datas.Sum(i => i.Close) / item.Key;
|
||||||
CalBolangerValue(datas, candleData.movingAverageDataList[item.Key], datas.Count - 1, item.Key);
|
CalBolangerValue(datas, candleData.movingAverageDataList[item.Key], datas.Count - 1, item.Key);
|
||||||
|
CalBolangerValue(datas, candleData.movingAverageDataList[item.Key], datas.Count - 1, item.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,13 +105,13 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
//하향선
|
//하향선
|
||||||
if (mvData.BolangerType == 0)
|
if (mvData.BolangerType == 0)
|
||||||
{
|
{
|
||||||
mvData.BolangerValue = average - mvData.BolangerSquared * Math.Sqrt(t_Close / period);
|
mvData.BolangerValue_Down = average - mvData.BolangerSquared * Math.Sqrt(t_Close / period);
|
||||||
}
|
}
|
||||||
//상향선
|
//상향선
|
||||||
else if (mvData.BolangerType == 1)
|
else if (mvData.BolangerType == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
mvData.BolangerValue = average + mvData.BolangerSquared * Math.Sqrt(t_Close / period);
|
mvData.BolangerValue_Up = average + mvData.BolangerSquared * Math.Sqrt(t_Close / period);
|
||||||
}
|
}
|
||||||
//기준선
|
//기준선
|
||||||
else if (mvData.BolangerType == 2)
|
else if (mvData.BolangerType == 2)
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ namespace BitgetAPI.Data.IndicatorData
|
|||||||
// MV Value
|
// MV Value
|
||||||
public double Value { get; set; }
|
public double Value { get; set; }
|
||||||
// Bol Value
|
// Bol Value
|
||||||
|
public double BolangerValue_Down { get; set; }
|
||||||
public double BolangerValue { get; set; }
|
public double BolangerValue { get; set; }
|
||||||
|
public double BolangerValue_Up { get; set; }
|
||||||
// Bol Type 0 하향 1 상향 2기준
|
// Bol Type 0 하향 1 상향 2기준
|
||||||
public int BolangerType { get; set; } = 0;
|
public int BolangerType { get; set; } = 0;
|
||||||
// Bol 편차
|
// Bol 편차
|
||||||
|
|||||||
Reference in New Issue
Block a user