가격으로 사니 늦어서 못삼 현재가로 사도록 수정
This commit is contained in:
@@ -414,7 +414,7 @@ namespace BitgetAPI.IndicatorConditionSetup
|
|||||||
if (LongCount < 5)
|
if (LongCount < 5)
|
||||||
{
|
{
|
||||||
double size = YHKIM_OrderAmount / price * YHKIM_Leverage;
|
double size = YHKIM_OrderAmount / price * YHKIM_Leverage;
|
||||||
var orderData = FutureOrder(market, FutureMarginMode.isolated, size, price, FutureSide.BuyLong, OrderType.limit, YHKIM_Leverage);
|
var orderData = FutureOrder(market, FutureMarginMode.isolated, size, 0, FutureSide.BuyLong, OrderType.limit, YHKIM_Leverage);
|
||||||
if (orderData != null)
|
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"]));
|
||||||
|
|||||||
@@ -27,9 +27,11 @@ namespace BitgetApi.IndicatorConditionSetup
|
|||||||
public class SMABandConditionSetup
|
public class SMABandConditionSetup
|
||||||
{
|
{
|
||||||
private readonly int rangeLookback = 12;
|
private readonly int rangeLookback = 12;
|
||||||
private readonly double rangeThresholdPercent = 0.6;
|
private readonly double rangeThresholdPercent = 0.7;
|
||||||
private bool wasBelowCloud = false;
|
/// <summary>
|
||||||
private bool allowNewShortEntry = true;
|
/// false 는 구매 전, true는 판매 후
|
||||||
|
/// </summary>
|
||||||
|
private bool firstCloudFlag = true;
|
||||||
|
|
||||||
public bool Calculate(List<CandleData> candles, SMABandType type)
|
public bool Calculate(List<CandleData> candles, SMABandType type)
|
||||||
{
|
{
|
||||||
@@ -77,16 +79,17 @@ namespace BitgetApi.IndicatorConditionSetup
|
|||||||
|
|
||||||
bool isSma4BelowCloud = sma4 < cloudBottomNow;
|
bool isSma4BelowCloud = sma4 < cloudBottomNow;
|
||||||
bool isSma4AboveCloud = sma4 > cloudTopNow;
|
bool isSma4AboveCloud = sma4 > cloudTopNow;
|
||||||
|
bool cloudFlag = false;
|
||||||
|
|
||||||
if (isSma4BelowCloud && !wasBelowCloud)
|
if (!firstCloudFlag)
|
||||||
{
|
{
|
||||||
allowNewShortEntry = true;
|
if(isSma4BelowCloud)
|
||||||
wasBelowCloud = true;
|
cloudFlag = true;
|
||||||
}
|
}
|
||||||
else if (!isSma4BelowCloud)
|
else
|
||||||
{
|
{
|
||||||
allowNewShortEntry = false;
|
if (cloudBottomNow < sma4)
|
||||||
wasBelowCloud = false;
|
firstCloudFlag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -99,7 +102,7 @@ namespace BitgetApi.IndicatorConditionSetup
|
|||||||
bool rawLongSell = (sma4 <= prevSma4 && prevSma4 <= prev2Sma4 && sma4 < sma4Middle);
|
bool rawLongSell = (sma4 <= prevSma4 && prevSma4 <= prev2Sma4 && sma4 < sma4Middle);
|
||||||
|
|
||||||
|
|
||||||
bool rawNewShort = allowNewShortEntry && isSideways && isSma4BelowCloud && (sma4 == sma4Low && prevSma4 >= prevSma4Low && prev2Sma4 >= prev2Sma4Low) && (sma4 <= prevSma4 && prevSma4 <= prev2Sma4 && prev2Sma4 <= prev3Sma4);
|
bool rawNewShort = cloudFlag && isSideways && isSma4BelowCloud && (sma4 == sma4Low && prevSma4 >= prevSma4Low && prev2Sma4 >= prev2Sma4Low) && (sma4 <= prevSma4 && prevSma4 <= prev2Sma4 && prev2Sma4 <= prev3Sma4);
|
||||||
|
|
||||||
bool rawShortSell = (sma4 >= prevSma4 && prevSma4 >= prev2Sma4 && sma4 > sma4Middle);
|
bool rawShortSell = (sma4 >= prevSma4 && prevSma4 >= prev2Sma4 && sma4 > sma4Middle);
|
||||||
|
|
||||||
@@ -115,6 +118,8 @@ namespace BitgetApi.IndicatorConditionSetup
|
|||||||
|
|
||||||
else if (type == SMABandType.LongSell)
|
else if (type == SMABandType.LongSell)
|
||||||
{
|
{
|
||||||
|
if (rawLongSell)
|
||||||
|
firstCloudFlag = true;
|
||||||
return rawLongSell;
|
return rawLongSell;
|
||||||
}
|
}
|
||||||
else if (type == SMABandType.ShortSell)
|
else if (type == SMABandType.ShortSell)
|
||||||
|
|||||||
Reference in New Issue
Block a user