diff --git a/Million/CommonProperty.cs b/Million/CommonProperty.cs
index 2a3681f..ea5c132 100644
--- a/Million/CommonProperty.cs
+++ b/Million/CommonProperty.cs
@@ -209,9 +209,10 @@ namespace Million
// 기준선 설정 (일목)
public enum Indicator_IchmokuOverLine
{
- 선행스팬1 = 1,
+ 선행스팬1 = 1,
선행스팬2 = 2,
- 선행스팬1OR2중고가= 3,
+ 선행스팬1OR2중고가 = 3,
+ 선행스팬1OR2중저가 = 4
}
// 구매/판매 조건 설정
diff --git a/Million/Data/IchimokData.cs b/Million/Data/IchimokData.cs
index afb1ec9..10ead47 100644
--- a/Million/Data/IchimokData.cs
+++ b/Million/Data/IchimokData.cs
@@ -56,5 +56,17 @@ namespace Million.Data
return value > value2 ? value : value2;
}
+
+ ///
+ /// 두 선행스팬 값중에 아래 값을 리턴함
+ ///
+ ///
+ public double GetDownOverValue()
+ {
+ if (value == 0 || value2 == 0)
+ return 0;
+
+ return value < value2 ? value : value2;
+ }
}
}
diff --git a/Million/IndicatorConditionSetup/IchimokuConditionSetup.cs b/Million/IndicatorConditionSetup/IchimokuConditionSetup.cs
index 5cbf34b..ada9a68 100644
--- a/Million/IndicatorConditionSetup/IchimokuConditionSetup.cs
+++ b/Million/IndicatorConditionSetup/IchimokuConditionSetup.cs
@@ -166,9 +166,12 @@ namespace Million.IndicatorConditionSetup
{
targetValue = ichi.GetOverValue();
}
+ else if (IndicatorIchmokuOverLine == CommonProperty.Indicator_IchmokuOverLine.선행스팬1OR2중저가)
+ {
+ targetValue = ichi.GetDownOverValue();
+ }
-
- var stValue = targetCandle.StartValue;
+ var stValue = targetCandle.StartValue;
var enValue = targetCandle.EndValue;
var tempValue = stValue;
while (tempValue <= enValue)
diff --git a/Million/Manager/CalculateManager.cs b/Million/Manager/CalculateManager.cs
index 2eeab4e..36bb30b 100644
--- a/Million/Manager/CalculateManager.cs
+++ b/Million/Manager/CalculateManager.cs
@@ -1178,6 +1178,10 @@ namespace Million.Manager
{
data = ((IchimokData)candleData.IndicatorDic[key]).GetOverValue();
}
+ else if (((IchimokuConditionSetup)setUp).IndicatorIchmokuOverLine == CommonProperty.Indicator_IchmokuOverLine.선행스팬1OR2중저가)
+ {
+ data = ((IchimokData)candleData.IndicatorDic[key]).GetDownOverValue();
+ }
}
#endregion
return data;
@@ -1208,6 +1212,10 @@ namespace Million.Manager
{
overlapData = ((IchimokData)candleData.IndicatorDic[key]).GetOverValue();
}
+ else if (((IchimokuConditionSetup)setUp).IndicatorIchmokuOverLine == CommonProperty.Indicator_IchmokuOverLine.선행스팬1OR2중저가)
+ {
+ overlapData = ((IchimokData)candleData.IndicatorDic[key]).GetDownOverValue();
+ }
}
#endregion
return overlapData;
diff --git a/Million/Manager/ResultLogicManager.cs b/Million/Manager/ResultLogicManager.cs
index 14d32ef..a878dbb 100644
--- a/Million/Manager/ResultLogicManager.cs
+++ b/Million/Manager/ResultLogicManager.cs
@@ -42,6 +42,10 @@ namespace Million.Manager
val = indiData.value;
else if (indi.IndicatorIchmokuOverLine == Indicator_IchmokuOverLine.선행스팬2)
val = indiData.value2;
+ else if (indi.IndicatorIchmokuOverLine == Indicator_IchmokuOverLine.선행스팬1OR2중고가)
+ val = indiData.GetOverValue();
+ else if (indi.IndicatorIchmokuOverLine == Indicator_IchmokuOverLine.선행스팬1OR2중저가)
+ val = indiData.GetDownOverValue();
valDic.Add(key.Key, val);
}