Jump to content
Husker

RSI für Bitcoins auf Kraken Berechnen?

Empfohlene Beiträge

Hallo zusammen,

seit fast einer Woche versuche ich nun den RSI Indikator für Bitcoins auf Kraken zu berechnen und bekomme es einfach nicht hin.
Da ich hier leider keine Bilder einfügen kann, wird die Erklärung etwas schwer, aber ich hoffe ich bekomme es hin ..

Also die Ausgangssituation ist:

RSI(14) bei einer Auflösung von 1 min.

# id, time_stamp, date_time, close, close_balance, gain, loss, AG, AL, RS, RSI
'150189', '1563962160', '2019-07-24 11:56:00', '8775.60', '5.7000', '5.7000', '0.0000', '1.457142857', '0.178571428', '8.160', '89.083'
'150187', '1563962100', '2019-07-24 11:55:00', '8769.90', '8.5000', '8.5000', '0.0000', '1.050000000', '0.192857142', '5.444', '84.482'
'150185', '1563962040', '2019-07-24 11:54:00', '8761.40', '0.1000', '0.1000', '0.0000', '0.442857142', '0.221428571', '2.000', '66.667'
'150183', '1563961980', '2019-07-24 11:53:00', '8761.30', '0.1000', '0.1000', '0.0000', '0.450000000', '0.221428571', '2.032', '67.018'
'150181', '1563961920', '2019-07-24 11:52:00', '8761.20', '-0.5000', '0.0000', '0.5000', '0.492857142', '0.221428571', '2.226', '69.002'
'150179', '1563961860', '2019-07-24 11:51:00', '8761.70', '1.2000', '1.2000', '0.0000', '0.492857142', '0.242857142', '2.029', '66.986'
'150177', '1563961800', '2019-07-24 11:50:00', '8760.50', '0.1000', '0.1000', '0.0000', '0.407142857', '0.721428571', '0.564', '36.061'
'150175', '1563961740', '2019-07-24 11:49:00', '8760.40', '4.5000', '4.5000', '0.0000', '0.400000000', '1.078571428', '0.371', '27.061'
'150173', '1563961680', '2019-07-24 11:48:00', '8755.90', '0.0000', '0.0000', '0.0000', '0.078571428', '1.092857142', '0.072', '6.716'
'150171', '1563961620', '2019-07-24 11:47:00', '8755.90', '-0.1000', '0.0000', '0.1000', '0.078571428', '1.092857142', '0.072', '6.716'
'150169', '1563961560', '2019-07-24 11:46:00', '8756.00', '0.2000', '0.2000', '0.0000', '0.392857142', '1.085714285', '0.362', '26.579'
'150167', '1563961500', '2019-07-24 11:45:00', '8755.80', '-0.1000', '0.0000', '0.1000', '0.378571428', '1.100000000', '0.344', '25.595'
'150165', '1563961440', '2019-07-24 11:44:00', '8755.90', '-0.1000', '0.0000', '0.1000', '0.378571428', '1.100000000', '0.344', '25.595'
'150163', '1563961380', '2019-07-24 11:43:00', '8756.00', '-1.7000', '0.0000', '1.7000', '0.671428571', '1.092857142', '0.614', '38.042'
'150161', '1563961320', '2019-07-24 11:42:00', '8757.70', '-0.2000', '0.0000', '0.2000', '1.442857142', '0.971428571', '1.485', '59.759'
'150159', '1563961260', '2019-07-24 11:41:00', '8757.90', '-0.4000', '0.0000', '0.4000', '1.485714285', '0.957142857', '1.552', '60.815'
'150157', '1563961200', '2019-07-24 11:40:00', '8758.30', '0.2000', '0.2000', '0.0000', '1.621428571', '0.928571428', '1.746', '63.583'
'150155', '1563961140', '2019-07-24 11:39:00', '8758.10', '0.7000', '0.7000', '0.0000', '1.607142857', '1.414285714', '1.136', '53.184'
'150154', '1563961080', '2019-07-24 11:38:00', '8757.40', '-0.8000', '0.0000', '0.8000', '1.557142857', '1.492857142', '1.043', '51.052'

"Close" bekomme ich von der Kraken API, also behaupte ich mal die Daten Stimmen.
gain, loss, AG, AL, RS und RSI sind meine Berechnungen

Kraken hat für 11:56 einen RSI Wert von 70,82 Berechnet
in diesem beispiel nutze ich also die 14 werte id = 150189 -> 150161

Was und wie habe ich gerechnet
Die Differenz zwischen 2 Closewerten überprüfe ich auf <> 0 ist der wert Positive kommt er zu gain, andernfalls zu loss, der jeweils andere wert ist 0
jetzt summiere ich gain und loss auf, und teil es durch 14

das ergebnis kommt in AG und AL
also:
AG = SUM(gain) / 14
AL = SUM(loss) / 14

RS = AG / AL
RSI = (100 - (100 / (1+RS)))

Wie ihr sehen könnt komme ich auf 89,083 und nicht 70,82 also was zur Hölle mache ich Falsch.
Ich habe jetzt schon wirklich alles versucht, verschiedene Formeln usw. aber ich komme nicht mal annähernd auf ein richtiges Ergebnis.

Könnt ihr mir vielleicht einen Tipp geben wo mein Fehler liegt ?

Tekkies unter euch:
MySQL Code zu meinen Berechnungen:


 

SELECT id, time_stamp, date_time, close, close_balance, gain, loss, 
	@AG:=(
				SELECT IF((SUM(gain) / intervall) IS NULL, 0, (SUM(gain) / intervall)) 
                FROM ohlc_data 
                WHERE id <= oclc.id  AND TIMESTAMPDIFF(MINUTE, date_time, oclc.date_time) < intervall
                ORDER BY date_time DESC
			) as AG,
	@AL:=(
			SELECT IF((SUM(loss) / intervall) IS NULL, 0, (SUM(loss) / intervall) ) 
            FROM ohlc_data 
            WHERE id <= oclc.id  AND TIMESTAMPDIFF(MINUTE, date_time, oclc.date_time) < intervall
            ORDER BY date_time DESC
		) as AL,
        @RS:=ROUND((@AG / @AL),3) as RS,
		ROUND((100-(100 / (1 + @RS))), 3) as RSI
	FROM ohlc_data as oclc
	ORDER BY date_time DESC;

 

Über ein wenig Unterstützung würde ich mich sehr freuen

Grüße

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
On 7/24/2019 at 12:12 PM, Husker said:

RS = AG / AL
RSI = (100 - (100 / (1+RS)))

Das könntest du auf jeden Fall vereinfachen zu

RSI = 100*(AG/(AG+AL))

Löst aber leider dein Problem mit den unterschiedlichen Werten nicht.

Ich habe es jetzt mal manuell nachgerechnet, deine  89,083 für 11:56 sind richtig, insofern scheint dein SQL-Statement auch richtig zu sein.

Der Fehler muss wohl an anderer Stelle liegen. Bloss was?

Kann es sein, dass dir die Kraken-Oberfläche MESZ anzeigt, die Kraken-API dir aber die Zeiten in UTC angibt? Sprich, du berechnest den RSI von 11:56 UTC und vergleichst den mit dem Kraken-RSI von 11:56 MESZ?

Oder umgekehrt? Der Timestamp 1563962160  deiner obersten Zeile ist 9:56h UTC und somit 11:56 MESZ. Vielleicht zeigt dir die Kraken-Oberfläche UTC-Uhrzeiten an?

Sorry, hätte dir gerne besser geholfen ...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


×
×
  • Neu erstellen...

Wichtige Information

Wir speichern Cookies auf Ihrem Gerät, um diese Seite besser zu machen. Sie können Ihre Cookie-Einstellungen anpassen, ansonsten gehen wir davon aus, dass Sie damit einverstanden sind. In unseren Datenschutzerklärungen finden sie weitere Informationen.