Bu mantığı bilmeden scalp yapıyorsan büyük ihtimalle para kaybediyorsun.
Çoğu kişi sadece RSI ya da EMA kullanıyor.
Ama tek başına hiçbiri bir şey ifade etmez.
Asıl fark:
👉 Doğru kombinasyonu kurabilmek.
Aşağıya çok basit bir yapı bırakıyorum 👇
(ama bu sistemin sadece küçük bir parçası)
✔ EMA kesişimi
✔ RSI filtre
✔ ATR bazlı SL/TP
Bu yapı sana küçük fiyat hareketlerini yakalatır.
Ama kritik nokta şu:
❗ Tek başına yeterli değil.
Gerçek piyasada:
Fake sinyaller
Likidite tuzakları
Yanlış entry noktaları
çoğu kişinin parasını burada bitiriyor.
Ben eğitimde bunun:
→ Orderbook ile birleşimini
→ Fake sinyal filtrelemeyi
→ Net entry / exit sistemini
adım adım gösteriyorum.
Aşağıdaki kod = sadece temel mantık 👇
import ccxt, time, sqlite3, requests
import numpy as np
class ScalpingBot:
def __init__(self, api_key, secret, tg_token=None, tg_chat=None):
self.exchange = ccxt.binance({
"apiKey": api_key, "secret": secret,
"enableRateLimit": True,
"options": {"defaultType": "future"}
})
self.tg_token = tg_token
self.tg_chat = tg_chat
self.positions = {}
self.max_positions = 3
self.trade_size_usd = 100
self.db = sqlite3.connect("trades.db")
self.db.execute("CREATE TABLE IF NOT EXISTS trades (id INTEGER PRIMARY KEY, symbol TEXT, side TEXT, price REAL, qty REAL, pnl REAL, timestamp TEXT)")
def ema(self, data, period):
k = 2 / (period 1)
ema_val = data[0]
for p in data[1:]:
ema_val = p * k ema_val * (1 - k)
return ema_val
def rsi(self, closes, period=14):
deltas = [closes[i]-closes[i-1] for i in range(1,len(closes))]
gains = [d if d>0 else 0 for d in deltas]
losses = [-d if d<0 else 0 for d in deltas]
ag = sum(gains[-period:])/period
al = sum(losses[-period:])/period
return 100 - (100/(1 ag/(al 0.001)))
def analyze(self, symbol):
candles =
self.exchange.fetch_ohlcv(symbol, "5m", limit=50)
closes = [c[4] for c in candles]
highs = [c[2] for c in candles]
lows = [c[3] for c in candles]
ema9 = self.ema(closes, 9)
ema21 = self.ema(closes, 21)
r = self.rsi(closes)
price = closes[-1]
trs = [max(highs[i]-lows[i], abs(highs[i]-closes[i-1]), abs(lows[i]-closes[i-1])) for i in range(1,len(closes))]
atr = sum(trs[-14:])/14
signal = None
if ema9 > ema21 and r < 65:
signal = {"side":"BUY", "sl":price-atr*2, "tp":price atr*3}
elif ema9 < ema21 and r > 35:
signal = {"side":"SELL", "sl":price atr*2, "tp":price-atr*3}
return {"signal":signal, "price":price, "rsi":r, "ema9":ema9, "ema21":ema21, "atr":atr}
def notify(self, msg):
print(msg)
if
self.tg_token:
requests.post(f"
api.telegram.org/bot{
self.tg_token}/sendMessage",
json={"chat_id":
self.tg_chat, "text":msg})
def run(self, symbols):
self.notify("Scalping Bot baslatildi!")
while True:
for sym in symbols:
try:
result = self.analyze(sym)
if result["signal"] and len(self.positions) < self.max_positions:
s = result["signal"]
self.notify(f"{'🟢' if s['side']=='BUY' else '🔴'} {sym}\n"
f"Yon: {s['side']} | Fiyat: ${result['price']:,.2f}\n"
f"SL: ${s['sl']:,.2f} | TP: ${s['tp']:,.2f}\n"
f"RSI: {result['rsi']:.1f}")
except Exception as e:
print(f"Hata {sym}: {e}")
time.sleep(60)
bot = ScalpingBot("API_KEY", "SECRET", "TG_TOKEN", "TG_CHAT")
bot.run(["BTC/USDT", "ETH/USDT", "SOL/USDT"])
$BTC $ETH
Eğitime katılmak isteyenler:
📩 DM
#kripto #bitcoin #ethereum #scalping #trading #tradingbot #algorithmictrading #python #yazılım #fintech #crypto #altcoin #binance #trader #yatırım #pasifgelir #kriptopara #quant #algo #blockchain #defi #trade #scalp #borsa #analiz