Ccxt: code pour calculer la moyenne mobile exponentielle EMA sur n'importe quel marché Poloniex

Créé le 29 nov. 2017  ·  3Commentaires  ·  Source: ccxt/ccxt

salut Igor et communauté,
ce n'est pas un problème, mais je publie ici car pas sous codage oop
voici ma petite contribution sur ccxt
pour poloniex une fonction python 3.5 qui calcule la dernière valeur de ema pour n'importe quelle paire

vous devez appeler : calculema(300,14,'BTC','AMP')
pour une période de 300 secondes et sur 14 heures de données historiques du marché AMP/BTC

import requests
import json
import time
import urllib.request
import pandas as pd
import numpy as np

def ExpMovingAverage(values, window):
    weights = np.exp(np.linspace(-1., 0., window))
    weights /= weights.sum()
    a =  np.convolve(values, weights, mode='full')[:len(values)]
    a[:window] = a[window]
    return a


def calcalema(period1,hrsnumbers,basesur,cur):
    # period1 300, 900, 1800, 7200, 14400, and 86400
    rightnow=time.time()
    url ='https://poloniex.com/public?command=returnChartData&currencyPair='+basesur+'_'+cur +'&start=' + str(int(rightnow - hrsnumbers*60*60)) + '&end=9999999999&period='+ str(period1)

    rrie = requests.get(url)
    r2rie=rrie.json()

    lescloses=list()
    for i in r2rie:
        for key,val in i.items():

            lescloses.append(i['close'])


    return  ExpMovingAverage(lescloses, period1)

Commentaire le plus utile

je pense que -1.0 dans linspace doit être 1.0 en positif pour ajouter plus de poids aux données récentes et non aux anciennes

Tous les 3 commentaires

Merci!

Je suis sûr que les codeurs Python trouveront cette contribution utile pour l'apprentissage et à des fins pratiques également !

Je ne peux pas vraiment intégrer ce code dans ccxt, car les calculs statistiques dépassent le cadre de la bibliothèque pour le moment, c'est pourquoi nous avons numpy (utilisé dans l'exemple ci-dessus) et d'autres bibliothèques autonomes sympas pour ce qui peut être combiné avec ccxt pour couvrir la plupart des besoins. Je vais laisser ce problème ouvert pendant un moment.

oui je sais ça, Igor, c'était juste pour te donner une assurance c'est si je peux
donner un coup de main ce serait avec un plaisir infini
c'était pour l'indicateur EMA, la plupart des commerçants l'utilisent

pour l'instant, j'étudie un peu l'approche POO pour augmenter mon niveau
au revoir

Le mer. 29 nov. 2017 à 19h43, Igor Kroitor [email protected]
a écrit:

Merci!

Je suis sûr que les codeurs Python trouveront cette contribution utile pour apprendre et
à des fins pratiques aussi!

Je ne peux pas vraiment intégrer ce code dans ccxt, car statistique
calculs sont au-delà de la portée de la bibliothèque pour le moment, c'est pourquoi nous
ont numpy (utilisé dans l'exemple ci-dessus) et d'autres bibliothèques autonomes sympas pour
celui qui peut être combiné avec ccxt pour couvrir la plupart des besoins. je partirai
ce problème est ouvert depuis un moment.

-
Vous recevez ceci parce que vous avez créé le fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ccxt/ccxt/issues/713#issuecomment-347956131 , ou couper le son
le fil
https://github.com/notifications/unsubscribe-auth/AeW22e2Txe13fsQHK95XSXFnPImLmgy0ks5s7aW2gaJpZM4QvbR5
.

je pense que -1.0 dans linspace doit être 1.0 en positif pour ajouter plus de poids aux données récentes et non aux anciennes

Cette page vous a été utile?
0 / 5 - 0 notes