We have decided to give EVERYTHING for free! What are you waiting for?

LOGIN

Vamos supor que você goste de negociar ou que negocie uma vez por mês, por que não tentar automatizá-lo? Pessoas assim normalmente querem saber qual é a melhor estratégia de negociação para a pessoa ocupada.

Usando o freqtrade, você pode usar estratégias que funcionam no período diário, semanal, 3 dias e até mensal.

Você pode usar os prazos fornecidos pela central, se um prazo não estiver disponível, será necessário usar uma nova amostragem de prazos mais baixos para prazos mais longos.

A Binance fornece 1d, 3d, 1w e 1M (não deve ser confundido com 1m, o que corresponde a 1 minuto). Compartilhamos essa estratégia em nossa comunidade privada de freqtrade, inspirada no vídeo do youtube a seguir.

Resources for traders by Fallible (inglês)

Lógica da estratégia

Uma estratégia de negociação para a pessoa ocupada terá uma lógica como esta:

Comprar:

Se o preço do ativo no final do mês for superior a 200 média móvel simples, então COMPRE

Vender:

Se o preço do ativo no final do mês fechar abaixo de 200 da média móvel simples, SELL

Implementando-o com freqtrade

Vamos começar copiando o sample_strategy.py para outro arquivo. Mude os diretórios para a pasta freqtrade user_data/strategy/.

$ cp sample_strategy.py sma.py

Abra o arquivo e vamos modificá-lo

  1. Importe as bibliotecas necessárias para obter a data e colocá-la em um dataframe:
    from datetime import datetime
    from calendar import monthrange
  2. Mude o nome da classe de estratégia:
    class SampleStrategy(IStrategy) para class sma1d(IStrategy)
  3. Defina lucros irrealistas na seção ROI mínima para não interferir na estratégia:
    minimal_roi = {
    "0":100
    }
  4. Altere o stop loss para algo que nunca será acionado:stoploss = -10
  5. Mover o período para 1 dia:
    ticker_interval = '1d'
  6. Altere use_sell_signal para True:
    use_sell_signal = True
  7. Crie o indicador 200 sma usando o Talib dentro da função def populate_indicators:
    dataframe['sma200']=ta.SMA(dataframe, timeperiod=200)

Ainda faltam algumas etapas, mas precisaremos de uma função específica dentro dos def populate_indicators, essa função determinará se é o último dia do mês para verificar a condição de compra e venda

        def convert(date):
            dt=date.to_pydatetime()
            if dt.day == monthrange(dt.year, dt.month)[1]:
                dt = 1 
            else:
                dt = 0 
            return dt

        dataframe['date2']=dataframe['date'].apply(convert)

Apenas para ter certeza de que você não cometeu um erro, veja como def populate_indicators deve parecer:

def populate_indicator for 200 sma strategy

Isso nos fornecerá um quadro de dados chamado date2 que usaremos para verificar se a vela em que estamos atualmente é a última vela do mês.

Agora precisamos modificar def populate_buy_trend e def populate_sell_trend:

    def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:

        dataframe.loc[
            (
            (dataframe['close'] >= dataframe['sma200']) &
            (dataframe['date2'] == 1)
            ),
            'buy'] = 1 


        return dataframe

Agora nosso def populate_sell_trend:

    def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:

        dataframe.loc[
            (
            (dataframe['date2'] == 1) &
            (dataframe['close'] < dataframe['sma200'])
            ),
            'sell'] = 1
        print(dataframe)

Backtesting na Binance

A Binance existe desde 2017, se testarmos essa estratégia a partir de 03/11/2017, obteremos aproximadamente 53,35%, o que não é ruim. Saiba que o freqtrade não pode calcular 200 SMA se faltam 200 velas para calculá-lo, o que significa que ele teria realizado apenas 1 troca.

backtesting sma 200 1d until September 29

A negociação ainda estaria aberta e teria a seguinte aparência na visão de negociação:

É muito provável que essa estratégia venda o BTC no final de setembro de 2019, pois o preço está abaixo do 200 SMA no período diário.

Backtesting na Coinbase

Mesmo não rodando o coinbase, é possível tirar proveito do fato de que o coinbase existe desde 2015.

This image has an empty alt attribute; its file name is 2019-09-29-183817_4480x1440_scrot.png
backtesting sma 200 1d from 2015-08-22 to 2019-09-29

Os resultados teriam sido de 1482%. Em comparação com a compra e manutenção de 2015, você perderia aproximadamente ~ 1000% nos lucros.

Conclusão

Levando em consideração que isso é algo que exigiria de você quase nenhuma intervenção e que manter a estratégia BTC sofre viés de sobrevivência, consideramos essa estratégia viável a longo prazo, com um retorno médio de 370% ao ano.

O desempenho passado não é indicativo de resultados futuros.
O viés de sobrevivência é a tendência de ver o desempenho dos estoques, fundos ou criptomoedas existentes no mercado como uma amostra abrangente representativa, sem considerar aqueles que faliram.

Essa estratégia de negociação para a pessoa ocupada pode ser ajustada para várias situações e mercados.

Incentivamos o leitor a testar essa estratégia em outros ativos de criptografia, como Litecoin, Monero e Ethereum. Acreditamos que isso ajudaria muito você a dormir sã e salva enquanto mantinha criptomoedas.

Leave a Reply

Your email address will not be published. Required fields are marked *

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Youtube
Consent to display content from Youtube
Vimeo
Consent to display content from Vimeo
Google Maps
Consent to display content from Google
Spotify
Consent to display content from Spotify
Sound Cloud
Consent to display content from Sound
Cart Overview