Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 44 additions & 3 deletions 1 tick DIgit Over 2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,48 @@
<statement name="INITIALIZATION">
<block type="variables_set" id="aH]us/uN(gd.f=-pbA3[">
<field name="VAR" id="ITiw_xSBxuYP6qNF)F|h" variabletype="">Max Loss Amount</field>
<value name="VALUE">

def calculate_rsi(data, period=14):
delta = data['Close'].diff()
gain = delta.where(delta > 0, 0)
loss = -delta.where(delta < 0, 0)

avg_gain = gain.rolling(window=period).mean()
avg_loss = loss.rolling(window=period).mean()

rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
return rsi

# --- Binary Bot Logic ---
def rsi_strategy(data):
data['RSI'] = calculate_rsi(data)
data['EMA'] = data['Close'].ewm(span=50, adjust=False).mean()

signals = []

for i in range(1, len(data)):
if data['RSI'][i] < 30 and data['Close'][i] > data['EMA'][i]:
signals.append('CALL')
elif data['RSI'][i] > 70 and data['Close'][i] < data['EMA'][i]:
signals.append('PUT')
else:
signals.append('HOLD')

data['Signal'] = signals
return data

# --- Example Data ---
# Example OHLCV DataFrame (Replace with your real-time data source)
data = pd.DataFrame({
'Close': np.random.random(100) * 100
})

# Apply Strategy
data = rsi_strategy(data)

# Print Last Signal
print(data[['Close', 'RSI', 'EMA', 'Signal']].tail())
<block type="math_number" id="e)@|uPb0;SOGU{4/{E~y">
<field name="NUM">125</field>
</block>
Expand Down Expand Up @@ -325,7 +366,7 @@
<block type="logic_compare" id="0cU|Q$=vED.eAMG?O$4x">
<field name="OP">LT</field>
<value name="A">
<block type="total_profit" id="#w%1hOnKBN5wL}u9VSEm"></block>
<block ty
</value>
<value name="B">
<block type="variables_get" id="(x#2//]1WqH[fUq_}1iT">
Expand Down Expand Up @@ -366,4 +407,4 @@
</block>
</statement>
</block>
</xml>