profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/RaymondTerry/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

HVFrancis/WritingImplements 0

A simple Java project to model things to write with.

RaymondTerry/BestProfitByPercent 0

Takes API data from CoinMarketCap and computes the percentage of profit left until the predetermined target of an asset.

RaymondTerry/deep-daze 0

Simple command line tool for text to image generation using OpenAI's CLIP and Siren (Implicit neural representation network)

RaymondTerry/SignalBot 0

A bot that uses TradingView's unofficial API wrapper to check for TA targets using the integrated indicator data primarily on crypto.

RaymondTerry/WritingImplements 0

A simple Java project to model things to write with.

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 0444f951e8dff3091a8a3229eda247d6aff9dd8e

- Added more conventional main function call

view details

push time in 4 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 96668dd1c552d2dd1a4ccd946a9a4a94fb5a9f63

- Added more filters to the buy/sell signal fn's This more clearly defines at which point the signals should be triggering which helps further filter out the ranging market noise.

view details

push time in 4 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 659628c8bdd0e39f2cdc8d032ead99dd85005c6f

- Grammar

view details

push time in 15 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 99755f166696eaf3efccaf31e77734ea0f26277d

Update README.md - clarifications

view details

push time in 19 days

MemberEvent

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 690df54925705e24270ea9566e9cb7e137abf6e3

Added windows install instruction Added windows install example

view details

push time in 19 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 8ab61e2c66b135e38b052fb7e858126dee8edb29

- Removed requests from list of external imports requests is already built into python 3.9.X

view details

push time in 19 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 4a6f074b4104d2a8b5d7013cbf51b163a5c7c012

Added 45 minute cooldown to each SMS function - This is help reduce the spam that can be ensued when price action or TA values stay in an assets actuation range for extended periods of time.

view details

push time in 20 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 59829fd09d91af9fdaa6eb3b64b9183df50b34f6

Add files via upload - Brings cooldowns primarily for the SMS function calls so that it spams even less now once price action or TA values are in an actuation range for extended periods of time.

view details

push time in 20 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 46af8cca73f1bc08f2b881defa9c16ad53c72194

Updated sell/buy actuation ranges - This should serve to better filter false signals The actuation ranges chosen for each asset uniquely is based on each of their MACD indicator values. The additions try to decrease false sell signals that are close to the zero line that can happen in a ranging market and also add a buy signal for crosses that are near and above the zero line that could also be decent entry points. The filtering values were determined by historical trends of each of the assets MACD chart making sure to not accidentally filter out the large sell signals. The goal is to filter as much of the ranging market noise as possible. These values can still very likely be optimized more.

view details

push time in 21 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 005d4117a2313c69ad489acac0779c7b287d96f6

Add files via upload

view details

push time in 25 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha db1480e6d4d734061882c00f0182081c6c7a7de3

Delete SignalBot/images directory Wrong directory

view details

push time in 25 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha c71c14a2230a302f0c52889ec0058744e31ccf60

- Added SignalBot - Added full project

view details

push time in 25 days

push eventRaymondTerry/SignalBot

RaymondTerry

commit sha 7d359af2855ee58ccd71898c22d08233405a15c2

Create README.md

view details

push time in 25 days

create barnchRaymondTerry/SignalBot

branch : main

created branch time in 25 days

created repositoryRaymondTerry/SignalBot

A bot that uses TradingView's unofficial API wrapper to check for TA targets using the integrated indicator data primarily on crypto.

created time in 25 days

issue commentbrian-the-dev/python-tradingview-ta

Can we fetch the current price of the given symbol?

@avatar-lavventura I did look into that, sms just seemed more convenient and more easily configurable for average users. Best of all sms is optional, so I can still add something like that to make a centralized channel that gets signal alerts for more than generally one person at a time. I think I'll actually integrate that. If you want I could even integrate it with yours seeing as I am less familiar with custom discord bots.

avatar-lavventura

comment created time in 25 days

issue commentbrian-the-dev/python-tradingview-ta

Can we fetch the current price of the given symbol?

@avatar-lavventura Thank you for that resource. Currently I am working on a personal project that solely relies on preconfigured data sources(i.e not API's which require individual keys) and tradingview_ta seems to be a great one. I will start uploading it when there is enough features. It essentially is a passive signal bot that checks for indicator value conditions to be met and sends sms alerts when the predetermined conditions are met. The only configuration it requires is a phone number and gmail account.

avatar-lavventura

comment created time in 25 days

issue commentbrian-the-dev/python-tradingview-ta

Can we fetch the current price of the given symbol?

@oskvr37

@RaymondTerry Thank you for your detalied answer. 27 second interval is reasonable on my end. On the example why did you keep the interval as 1 day (interval=Interval.INTERVAL_1_DAY), can we keep it as 1 minute, or 15 minute?

Could you also provide an example for: => How to fetch close price of Silver/USD? Its link is (https://www.tradingview.com/chart/bHXZrXAy/?symbol=TVC%3ASILVER). I believe its symbol is SILVER.

I was able to get Silver's price from yahoo finance, but I am not sure how othen does Yahoo updates prices.

import yfinance as yf

def get_silver() -> float:
    """Return silver price."""
    msft = yf.Ticker("SI=F")
    info = msft.info
    silver_oz_price = info["regularMarketPrice"]

To be more detailed I found when calling a function outside of a file that uses at least the daily time frame or the minute time frame that they get updated on average every 27 seconds. I have not tested any of the other time frames. This may be because regardless of what timeframe it is set to the "close" might be considered whatever the current price is at the time the function is called, which makes it so that each time the function is called it is updated just as frequent as any time frame. That is only my theory so far. What makes this very odd is that when consecutively calling the function in the same file on the daily time frame it sometimes does not get updated as frequently. Something else I noticed is that it will get updated if you manually call the function, but in a loop it will eventually.

Here is an example to try: tradingview_test.py

from tradingview_ta import *
import time

def buy_or_sell():

    handler = TA_Handler(
        symbol="BTCUSD",
        screener="crypto",
        exchange="COINBASE",
        interval=Interval.INTERVAL_1_DAY
    )

    analysis = handler.get_analysis()

    price = analysis.indicators['close']

    
    print(price)
    print(btc_price())



def btc_price():
    

    btc_price = TA_Handler(
        symbol="BTCUSD",
        screener="crypto",
        exchange="COINBASE",
        interval=Interval.INTERVAL_1_MINUTE
    )


    analysis = btc_price.get_analysis()

    price = analysis.indicators['close']

    return price

if you run buy_or_sell() in a loop with a 27 second pause you should see the daily one stay the same longer than the minute.

interval_should_update_here.py

import tradingview_test
import time

def tvt():
    tradingview_test.buy_or_sell()





starttime = time.time()

while(True):
    tvt()
    time.sleep(27.0 - ((time.time() - starttime) % 27.0))

If you run this one which calls the function outside of the originating file they will both update just as frequently however. It is hard to explain this behavior, I don't even understand it and it could be coincidence for all I know.

As far as getting the price of silver and gold you will be looking at something like this:

Gold symbol: GC1!

  • Same exchange
def silver_price():

    handler = TA_Handler(
        symbol="SI1!",
        screener="america",
        exchange="COMEX",
        interval=Interval.INTERVAL_1_MINUTE
    )

    analysis = handler.get_analysis()

    price = analysis.indicators['close']

    print(price)

Unfortunately the futures is all they have available to scrape so far it seems. I also am looking for a way to get the total altcoin market cap for crypto and the total crypto market cap but it doesn't seem this project can scrape the indexes. The bitcoin dominance would also be useful as well.

avatar-lavventura

comment created time in 25 days

issue commentbrian-the-dev/python-tradingview-ta

Can we fetch the current price of the given symbol?

After intensive experimenting I found that on average the price is updated about every 27 seconds which isn't terrible to be free and not have to be configured with an external API. This could pair well with the math.isclose() function. This means you can get frequent enough price data updates and a custom actuation tolerance. This could prove useful for something like custom indicator checking, or making checks on the built-in indicators with this project.

Here is an example of what I am talking about:

`def buy_or_sell_btc():

handler = TA_Handler(
    symbol=BTC,
    screener="crypto",
    exchange="COINBASE",
    interval=Interval.INTERVAL_1_DAY
)

analysis = handler.get_analysis()

blue_line = analysis.indicators["MACD.macd"] #BLUE LINE
orange_line = analysis.indicators["MACD.signal"] #ORANGE LINE
rsi = analysis.indicators["RSI"]
ema_200 = analysis.indicators["EMA200"]
ema_20 = analysis.indicators["EMA20"]
ema_50 = analysis.indicators["EMA50"]
price = analysis.indicators['close']

if blue_line <= 0 and orange_line <= 0 and math.isclose(blue_line, orange_line, abs_tol = 8.00) == True and price < ema_200 and rsi < 50:
    print("GOOD TIME TO DCA BTC")
else: pass

if blue_line <= 0 and orange_line <= 0 and math.isclose(blue_line, orange_line, abs_tol = 8.00) == True and price > ema_200:
    print("GOOD TIME TO ENTER TRADE")
else: pass

if blue_line > 0 and orange_line > 0 and math.isclose(blue_line, orange_line, abs_tol = 9.00) == True and price > ema_200:
    print("GOOD TIME TO TAKE PROFIT BTC")
else: pass

if math.isclose(ema_20, ema_50, abs_tol = 50.00) == True:
    print("GOLDEN CROSS OR BEARISH CROSS FOR BTC")
else: pass`
avatar-lavventura

comment created time in a month

issue commentbrian-the-dev/python-tradingview-ta

Open and Close

I currently am working on a personal project with this project being a central point and also would find it convenient to get the daily percentage change and found this to be a way of achieving it. To be put shortly, you just do it manually. Here is what I am working with.

` def percent_change_24h():

handler = TA_Handler(
    symbol=BTC,
    screener="crypto",
    exchange="COINBASE",
    interval=Interval.INTERVAL_1_DAY
)

analysis = handler.get_analysis()

price = analysis.indicators['open']

daily_change = ((price - btc_price()) / btc_price()) * 100

print(price)
print(btc_price())
print(daily_change)

#Example usage if daily_change <= -20.0000: print("Decent Dip to DCA")

def btc_price():

btc_price = TA_Handler(
    symbol=BTC,
    screener="crypto",
    exchange="COINBASE",
    interval=Interval.INTERVAL_1_MINUTE
)


analysis = btc_price.get_analysis()

price = analysis.indicators['close']

return price

`

amirshahmiri

comment created time in a month

push eventRaymondTerry/BestProfitByPercent

RaymondTerry

commit sha 2855c369c8b89a4fa80a4d54957f601991ccc158

Add files via upload -Added source files to repository

view details

push time in a month

push eventRaymondTerry/BestProfitByPercent

RaymondTerry

commit sha 76ec63caafa5222765e4522e2937ea2d3b908c80

Update README.md - Added Description

view details

push time in a month

create barnchRaymondTerry/BestProfitByPercent

branch : main

created branch time in a month

created repositoryRaymondTerry/BestProfitByPercent

Takes API data from CoinMarketCap and computes the percentage of profit left until the predetermined target of an asset.

created time in a month