Coder Social home page Coder Social logo

MOST indicator about technical HOT 10 CLOSED

freqtrade avatar freqtrade commented on May 4, 2024
MOST indicator

from technical.

Comments (10)

tarantula3535 avatar tarantula3535 commented on May 4, 2024 2

i find a bug in this code and recalculate. now same result at the tradingview... and add MAtype

def MOST2(dataframe,  percent=2, length=8, MAtype=1):
    import talib.abstract as ta
    df = dataframe.copy()
    mostvalue = 'MOST_' + str(length) + '_' + str(percent)
    mavalue = 'MA_' + str(length) + '_' + str(percent)
    trend = 'Trend_' + str(length) + '_' + str(percent)
    # Compute basic upper and lower bands
    if MAtype==1:
        df[mavalue]=ta.EMA(df , timeperiod = length)
    elif MAtype==2:
        df[mavalue]=ta.DEMA(df , timeperiod = length)
    elif MAtype==3:
        df[mavalue]=ta.T3(df , timeperiod = length)
    df['basic_ub'] = df[mavalue] * (1+percent/100)
    df['basic_lb'] = df[mavalue] * (1-percent/100)
    # Compute final upper and lower bands
    df['final_ub'] = 0.00
    df['final_lb'] = 0.00
    for i in range(length, len(df)):
        df['final_ub'].iat[i] = df['basic_ub'].iat[i] if df['basic_ub'].iat[i] < df['final_ub'].iat[i - 1] or df[mavalue].iat[i - 1] > df['final_ub'].iat[i - 1] else df['final_ub'].iat[i - 1]
        df['final_lb'].iat[i] = df['basic_lb'].iat[i] if df['basic_lb'].iat[i] > df['final_lb'].iat[i - 1] or df[mavalue].iat[i - 1] < df['final_lb'].iat[i - 1] else df['final_lb'].iat[i - 1]
    # Set the MOST value
    df[mostvalue] = 0.00
    for i in range(length, len(df)):
        df[mostvalue].iat[i] = df['final_ub'].iat[i] if df[mostvalue].iat[i - 1] == df['final_ub'].iat[i - 1] and df[mavalue].iat[i] <= df['final_ub'].iat[i] else \
                        df['final_lb'].iat[i] if df[mostvalue].iat[i - 1] == df['final_ub'].iat[i - 1] and df[mavalue].iat[i] >  df['final_ub'].iat[i] else \
                        df['final_lb'].iat[i] if df[mostvalue].iat[i - 1] == df['final_lb'].iat[i - 1] and df[mavalue].iat[i] >= df['final_lb'].iat[i] else \
                        df['final_ub'].iat[i] if df[mostvalue].iat[i - 1] == df['final_lb'].iat[i - 1] and df[mavalue].iat[i] <  df['final_lb'].iat[i] else 0.00
    # Mark the trend direction up/down
    df[trend] = np.where((df[mostvalue] > 0.00), np.where((df[mavalue] < df[mostvalue]), 'down',  'up'), np.NaN)
    # Remove basic and final bands from the columns
    df.drop(['basic_ub', 'basic_lb', 'final_ub', 'final_lb'], inplace=True, axis=1)
    df.fillna(0, inplace=True)
    return df

from technical.

xmatthias avatar xmatthias commented on May 4, 2024 1

The whole technical library is intended to be used with freqtrade - or with a dataframe formatted as such.
which means, the following keys are requried:
["date", "open", "high", "low", "close"].

Not all indicators will use all columns - but to be on the safe side, best have all of them available.

from technical.

hroff-1902 avatar hroff-1902 commented on May 4, 2024

is it explained anywhere else, beside that page at tradingview?

from technical.

tarantula3535 avatar tarantula3535 commented on May 4, 2024

yes..
http://teknikanalizsanati.com/pagesorgulama.aspx?bolum=MOST&sayfano=3&kategoriSira=84

from technical.

hroff-1902 avatar hroff-1902 commented on May 4, 2024

The text there is placed there as a picture, untranslatable with an online translator, to get the description in English...

The code in tradingview is closed non-public, are you sure you do not violate copyright of the author of it rewriting it in python?

from technical.

tarantula3535 avatar tarantula3535 commented on May 4, 2024

yes i write publisher Anil Özekşi on twitter.. only with the condition that we publish the indicator name is "MOST"

from technical.

hroff-1902 avatar hroff-1902 commented on May 4, 2024
  • the permission to use should be public
  • the problem with this indicator is that the description is in Turkish language, is not described anywhere else, and is posted as a picture, so I cannot even use an online translator to translate and understand the idea/verify the implementation.

For the sake of analogy, in Wikipedia terms, I would say it falls into the "original research" (https://en.wikipedia.org/wiki/Wikipedia:No_original_research) category -- an indicator which is only described in one (or a few) article by its creator and not used anywhere else...

from technical.

equinox794 avatar equinox794 commented on May 4, 2024

Traceback (most recent call last):
line xx, in MOST2
df = dataframe.copy()
AttributeError: 'float' object has no attribute 'copy'

from technical.

xmatthias avatar xmatthias commented on May 4, 2024

well you're not calling the indicator correctly.
it should be MOST2(dataframe, <parameters>) - and it seems like you're missing the dataframe parameter.

from technical.

equinox794 avatar equinox794 commented on May 4, 2024

thanks for answer


klines = client.get_klines(symbol=symbol, interval=Client.KLINE_INTERVAL_5MINUTE)
klines = df(klines)
test = MOST2(klines,  percent=2, length=8, MAtype=1)
print(test)

Traceback (most recent call last):
File "most2.py", line 64, in
test = MOST2(klines, percent=2, length=8, MAtype=1)
File "d:\p\most2.py", line 35, in MOST2
df[mavalue]=ta.EMA(df , timeperiod = length)
File "_abstract.pxi", line 398, in talib._ta_lib.Function.call
File "_abstract.pxi", line 270, in talib._ta_lib.Function.set_function_args
File "_abstract.pxi", line 221, in talib._ta_lib.Function.set_input_arrays
Exception: input_arrays parameter missing required data key: close

from technical.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.