J'ai cette boucle qui vérifie les conditions suivantes. Pour chaque itération de i
, il faut obtenir une valeur pour m1, m2, m3, m4 and m5
. Est-ce que les instructions if
doivent être vérifiées comme ceci (par "paires") ou y a-t-il une façon plus intelligente/plus rapide de le faire?Conditions IF par paire de conditions
for i in range(len(df.index)):
if df.ix[i, 'ema4'] >= df.ix[i, 'ema9']:
m1 = 1
elif df.ix[i, 'ema4'] < df.ix[i, 'ema9']:
m1 = -1
if df.ix[i, 'ema9'] >= df.ix[i, 'ema20']:
m2 = 1
elif df.ix[i, 'ema9'] < df.ix[i, 'ema20']:
m2 = -1
if df.ix[i, 'ema20'] >= df.ix[i, 'ema48']:
m3 = 1
elif df.ix[i, 'ema20'] < df.ix[i, 'ema48']:
m3 = -1
if df.ix[i, 'ema48'] >= df.ix[i, 'ema80']:
m4 = 1
elif df.ix[i, 'ema48'] < df.ix[i, 'ema80']:
m4 = -1
if df.ix[i, 'ema80'] >= df.ix[i, 'ema100']:
m5 = 1
elif df.ix[i, 'ema80'] < df.ix[i, 'ema100']:
m5 = -1
df.ix[i,'test'] = (m1 + m2 + m3 + m4 + m5)
Avez-vous vraiment pas entendu parler de 'else' ? – TigerhawkT3
Je suppose que vous pourriez remplacer tous ces 'elif ...' avec un simple 'else' – Hacketo
Ou juste' m1 = (condition) * 2-1' si vous ne voulez vraiment pas utiliser des branches pour une raison quelconque. – TigerhawkT3