crossing vwap filtered out

This commit is contained in:
Sewmina 2025-03-19 18:45:48 +05:30
parent f6d5305876
commit 6acd3e7c9a
2 changed files with 40 additions and 38 deletions

View File

@ -2,41 +2,41 @@ using BinanceExchange.API.Enums;
public static class CoinsList{
public static Dictionary<string, List<KlineInterval>> symbols = new Dictionary<string, List<KlineInterval>> {
{ "BTCUSDT", [KlineInterval.FifteenMinutes] },
{ "ADAUSDT", [KlineInterval.FifteenMinutes] },
{ "AIXBTUSDT", [KlineInterval.FifteenMinutes] },
{ "LTCUSDT", [KlineInterval.FifteenMinutes] },
{ "XRPUSDT", [KlineInterval.FifteenMinutes] },
{ "XLMUSDT", [KlineInterval.FifteenMinutes] },
{ "SOLUSDT", [KlineInterval.FifteenMinutes] },
{ "AVAXUSDT", [KlineInterval.FifteenMinutes] },
{ "ENAUSDT", [KlineInterval.FifteenMinutes] },
{ "HIVEUSDT", [KlineInterval.FifteenMinutes] },
{ "STEEMUSDT", [KlineInterval.FifteenMinutes] },
{ "MOVEUSDT", [KlineInterval.FifteenMinutes] },
{ "DOGEUSDT", [KlineInterval.FifteenMinutes] },
{ "PEPEUSDT", [KlineInterval.FifteenMinutes] },
{ "ACTUSDT", [KlineInterval.FifteenMinutes] },
{ "STGUSDT", [KlineInterval.FifteenMinutes] },
{ "ONEUSDT", [KlineInterval.FifteenMinutes] },
{ "LINKUSDT", [KlineInterval.FifteenMinutes] },
{ "ARUSDT", [KlineInterval.FifteenMinutes] },
{ "RUNEUSDT", [KlineInterval.FifteenMinutes] },
{ "USUALUSDT", [KlineInterval.FifteenMinutes] },
{ "ZKUSDT", [KlineInterval.FifteenMinutes] },
{ "JUPUSDT", [KlineInterval.FifteenMinutes] },
{ "LUNAUSDT", [KlineInterval.FifteenMinutes] },
{ "DUSKUSDT", [KlineInterval.FifteenMinutes] },
{ "SUIUSDT", [KlineInterval.FifteenMinutes] },
{ "INJUSDT", [KlineInterval.FifteenMinutes] },
{ "FILUSDT", [KlineInterval.FifteenMinutes] },
{ "GRTUSDT", [KlineInterval.FifteenMinutes] },
{ "HBARUSDT", [KlineInterval.FifteenMinutes] },
{ "CFXUSDT", [KlineInterval.FifteenMinutes] },
{ "TLMUSDT", [KlineInterval.FifteenMinutes] },
{ "NEARUSDT", [KlineInterval.FifteenMinutes] },
{ "FORTHUSDT", [KlineInterval.FifteenMinutes] },
{ "ETHUSDT", [KlineInterval.FifteenMinutes] },
{ "PNUTUSDT", [KlineInterval.FifteenMinutes] }
{ "BTCUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ADAUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "AIXBTUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "LTCUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "XRPUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "XLMUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "SOLUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "AVAXUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ENAUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "HIVEUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "STEEMUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "MOVEUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "DOGEUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "PEPEUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ACTUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "STGUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ONEUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "LINKUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ARUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "RUNEUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "USUALUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ZKUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "JUPUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "LUNAUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "DUSKUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "SUIUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "INJUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "FILUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "GRTUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "HBARUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "CFXUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "TLMUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "NEARUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "FORTHUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "ETHUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] },
{ "PNUTUSDT", [KlineInterval.FifteenMinutes, KlineInterval.ThirtyMinutes] }
};
}

View File

@ -249,6 +249,7 @@ public static class Patterns{
bool isRed = curReport.RSI50 <= 50;
bool beenAcrossVwap = (highCount / lowCount) > 0;
bool mostlyGreen = greenCandlesAmount > length /3f;
bool isCrossingVwap = curReport.candle.High > curReport.VwapWeekly && curReport.candle.Low < curReport.VwapWeekly;
//These did not matter
bool closeToVwap = curReport.Open < hh && curReport.Open > ll;
@ -256,7 +257,7 @@ public static class Patterns{
bool crossedRecently = candlesSinceLastHigh < (length/3);
bool isLarge = curReport.candle.getCandleLength() > avgSize;
bool final = isRed && isSolid && isBelowVwap && beenAcrossVwap && mostlyGreen;
bool final = isRed && isSolid && isBelowVwap && beenAcrossVwap && mostlyGreen && !isCrossingVwap;
if(final){
// Console.WriteLine($"Vwap(S) signal on {curReport.pair}({curReport.interval}m) : {highCount} / {lowCount} = {highCount/lowCount} , {candlesSinceLastHigh} last High");
@ -314,8 +315,9 @@ public static class Patterns{
bool mostlyBelowVwap = (highCount / lowCount) < 0.3f;
bool crossedRecently = candlesSinceLastHigh < (length/3);
bool isLarge = curReport.candle.getCandleLength() > avgSize;
bool isCrossingVwap = curReport.candle.High > curReport.VwapWeekly && curReport.candle.Low < curReport.VwapWeekly;
bool final = isGreen && isSolid && isAboveVwap && beenAcrossVwap && mostylRed;
bool final = isGreen && isSolid && isAboveVwap && beenAcrossVwap && mostylRed && !isCrossingVwap;
if(final){
// Console.WriteLine($"Vwap(L) signal on {curReport.pair}({curReport.interval}m) : {highCount} / {lowCount} = {highCount/lowCount} , {candlesSinceLastHigh} last High");