1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

python error problem

Discussion in 'Programming' started by fisher garry, Jul 30, 2020.

  1. #1
    def initialize(state):

    state.counter = 0




    @schedule(interval="1h",symbol="BTCUSDT")







    if state.counter<4:

    state.counter += 1

    Else:

    state.counter = 0



    if counter == 4: (every four hours)





    macd = data.macd(12,26,9)

    signalLine = macd[‘macd_signal’]




    - Check if bot has position



    has_position = has_open_position(data.symbol, truncated=True)










    import numpy as np











    def initialize(state):



    state.counter = 0





    @schedule(interval="1h", symbol="BTCTUSD")



    def handler(state, data):





    angle = 0





    macd_ind = data.macd(12,26,9)





    if macd_ind is None:



    return





    signal = macd_ind['macd_signal']






    has_position = has_open_position(data.symbol, truncated=True)



    balance_base = float(query_balance_free(data.base))



    balance_quoted = float(query_balance_free(data.quoted))



    buy_amount = balance_quoted * 0.80 / data.close_last








    plot("signal",signal[-1],"BTCTUSD")





    if state.counter < 4:



    state.counter += 1



    else:



    state.counter = 0





    if state.counter == 4:






    lastsignals = signal[-4:]





    # calculating the slope of last 4 candles



    slope = (lastsignals[-1] - lastsignals[0]) / 3



    angle = np.rad2deg(np.arctan(slope))





    print("slope: ",slope)



    print("angle: ",angle)



    plot("angle of signal",angle,"BTCTUSD")





    if angle > 30 and balance_base<buy_amount:



    print("-------")



    print("Checking for buying possibility of {}".format(data.symbol))



    print("buy amount:",buy_amount)



    print("buy price:", data.close_last)





    create_order(symbol=data.symbol,amount = buy_amount)





    elif angle < -30 and has_position:



    print("-------")



    print("Checking for selling possibility of {}".format(data.symbol))



    print("sell amount:",balance_base)



    print("sell price:",data.close_last)



    close_position(data.symbol)




    When I run this script in the python program I get this error message:



    > Engine error:File "bot.py", line 20.

    > Engine error:if state.counter<4:.

    > Engine error:^.

    > Engine error: SyntaxError: invalid syntax.

    >File "bot.py", line 20

    if state.counter<4:

    ^

    SyntaxError: invalid syntax



    This is a picture of the error:

    [​IMG]
     
    fisher garry, Jul 30, 2020 IP
  2. brandon_wallace

    brandon_wallace Peon

    Messages:
    23
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    3
    #2
    The code should look like this:

    
    number = 0
    
    def initialize(state):
        '''Initialize state'''
        if state < 4:
            state += 1
        else:
            state = 0
    
    initialize(number)
    
    Code (markup):
     
    brandon_wallace, Nov 15, 2020 IP