Contact here to develop your algo trading code

rishiajmera
Hello,
I can help you develop the codes for algo trading. Please have a look at my profile and portfolio to get an idea about my capabilities and some previous work on freelancer.

https://www.freelancer.in/u/rishiajmera

You can reach me at +91-9099996590 or [email protected]

Many Thanks & Regards,
Rishi A.
  • balu
    Hi rishiajmera,

    can you please help with code for indictor ADX and stochastic momentum index ?
    the below code is throwing incorrect values, can you please help to fix the formula

    def average_directional_movement_index(df, n, n_ADX):
    i = 0
    UpI = []
    DoI = []
    while i + 1 <= df.index[-1]:
    UpMove = df.loc[i + 1, 'High'] - df.loc[i, 'High']
    DoMove = df.loc[i, 'Low'] - df.loc[i + 1, 'Low']
    if UpMove > DoMove and UpMove > 0:
    UpD = UpMove
    else:
    UpD = 0
    UpI.append(UpD)
    if DoMove > UpMove and DoMove > 0:
    DoD = DoMove
    else:
    DoD = 0
    DoI.append(DoD)
    i = i + 1
    i = 0
    TR_l = [0]
    while i < df.index[-1]:
    TR = max(df.loc[i + 1, 'High'], df.loc[i, 'Close']) - min(df.loc[i + 1, 'Low'], df.loc[i, 'Close'])
    TR_l.append(TR)
    i = i + 1
    TR_s = pd.Series(TR_l)
    ATR = pd.Series(TR_s.ewm(span=n, min_periods=n).mean())
    UpI = pd.Series(UpI)
    DoI = pd.Series(DoI)
    PosDI = pd.Series(UpI.ewm(span=n, min_periods=n).mean() / ATR)
    NegDI = pd.Series(DoI.ewm(span=n, min_periods=n).mean() / ATR)
    ADX = pd.Series((abs(PosDI - NegDI) / (PosDI + NegDI)).ewm(span=n_ADX, min_periods=n_ADX).mean(),
    name='ADX_' + str(n) + '_' + str(n_ADX))
    df = df.join(ADX)
    return df
Sign In or Register to comment.