Ich lerne RX und versuche zu sehen, ob ich es verwenden kann, um das folgende Problem anzugehen: Ich habe einen Strom von Crypto-Münze Preise und ich versuche herauszufinden, wann Preisumkehr beginnt während einer Pumpe. Während dieser Pumpen steigt der Preis der Münze sehr schnell und wenn sie fällt, möchte ich eine Aktion durchführen (Verkaufsauftrag). Manchmal kann es jedoch ein wenig stehen bleiben und dann weiter nach oben gehen, aber meistens fällt es wirklich, wenn es anfängt zu fallen.So finden Sie eine Preisumkehrung mit RX.NET
Ich habe es geschafft, den Ticker Strom in Gang zu bringen und einige Deltas zwischen ihnen, in einer Art und Weise der Berechnung, die Sie wahrscheinlich machen erschaudern (I Scan-Methode ein wenig bin mißbrauchen):
public class Ticker
{
public decimal Ask { get; set; }
public decimal Bid { get; set; }
public decimal Delta { get; set; }
public decimal DeltaPercent { get; set; }
public DateTime Time { get; set; }
public override string ToString()
{
return $"a: {Ask} B:{Bid} D:{Delta} DP:{DeltaPercent} T:{Time}";
}
}
res.AsObservable().DistinctUntilChanged(x => x.Ask)
.Scan((state, t) =>
{
var d = t.Ask-state.Ask;
t.Delta = d;
t.DeltaPercent = t.Delta/state.Ask;
return t;
})
I Now Ich würde gerne sehen, wenn N aufeinanderfolgende Deltas weniger als X Betrag innerhalb von T Zeit waren und wenn sie etwas tun. Ich denke, ich müsste sie irgendwie gruppieren, bin aber im Moment ratlos.
Buffer hat super funktioniert! –