Şartname

""" Wick Reversal Strategy — core logic ===================================== Rules (as specified): - Timeframe: 15-minute candles - Entry: candle wick >= WICK_MULTIPLIER x body -> signal candle - long lower wick -> enter LONG at next candle's open - long upper wick -> enter SHORT at next candle's open - Exit: an opposite-direction wick candle forms while in a position - Stop-loss: just beyond the signal candle's extreme (high/low) - Position sizing: risk RISK_PCT of account equity per trade """ from dataclasses import dataclass from enum import Enum import pandas as pd class Signal(Enum): NONE = "none" LONG_WICK = "long_wick" # long lower wick -> bullish signal SHORT_WICK = "short_wick" # long upper wick -> bearish signal @dataclass class StrategyParams: wick_multiplier: float = 2.0 # wick must be >= this x body size risk_pct: float = 0.05 # fraction of equity risked per trade stop_buffer: float = 0.0 # extra buffer beyond wick extreme (in price units) def classify_candle(open_: float, high: float, low: float, close: float, params: StrategyParams) -> Signal: """ Classify a single candle as a wick signal or not. body = |close - open| upper_wick = high - max(open, close) lower_wick = min(open, close) - low """ body = abs(close - open_) upper_wick = high - max(open_, close) lower_wick = min(open_, close) - low # Guard against a zero/near-zero body (doji) inflating the ratio infinitely. # Use a tiny epsilon floor so a real body of 0 doesn't produce a false signal # from noise, but still allows genuine doji-with-wick setups to qualify. epsilon = 1e-9 effective_body = max(body, epsilon) is_lower_signal = lower_wick >= params.wick_multiplier * effective_body and lower_wick > 0 is_upper_signal = upper_wick >= params.wick_multiplier * effective_body and upper_wick > 0 # If both sides qualify (rare, e.g. near-zero body with wicks both sides), # take the larger wick as the dominant signal. if is_lower_signal and is_upper_signal: return Signal.LONG_WICK if lower_wick >= upper_wick else Signal.SHORT_WICK if is_lower_signal: return Signal.LONG_WICK if is_upper_signal: return Signal.SHORT_WICK return Signal.NONE def position_size(equity: float, entry_price: float, stop_price: float, params: StrategyParams) -> int: """ Shares = (equity * risk_pct) / |entry - stop| Returns whole shares (floored). Returns 0 if stop distance is invalid. """ risk_amount = equity * params.risk_pct stop_distance = abs(entry_price - stop_price) if stop_distance <= 0: return 0 shares = int(risk_amount // stop_distance) return max(shares, 0) def annotate_signals(df: pd.DataFrame, params: StrategyParams) -> pd.DataFrame: """ Adds a 'signal' column to an OHLC dataframe. Expects columns: open, high, low, close """ df = df.copy() df["signal"] = df.apply( lambda row: classify_candle(row["open"], row["high"], row["low"], row["close"], params).value, axis=1, ) return df

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(1)
Projeler
1
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Yayınlandı: 4 kod
2
Geliştirici 2
Derecelendirme
(3)
Projeler
2
0%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
0
Serbest
3
Geliştirici 3
Derecelendirme
(62)
Projeler
90
29%
Arabuluculuk
24
13% / 58%
Süresi dolmuş
7
8%
Çalışıyor
4
Geliştirici 4
Derecelendirme
(6)
Projeler
8
38%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
5
Geliştirici 5
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
6
Geliştirici 6
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
7
Geliştirici 7
Derecelendirme
(22)
Projeler
28
7%
Arabuluculuk
9
33% / 33%
Süresi dolmuş
1
4%
Çalışıyor
8
Geliştirici 8
Derecelendirme
(22)
Projeler
30
20%
Arabuluculuk
8
63% / 13%
Süresi dolmuş
9
30%
Serbest
9
Geliştirici 9
Derecelendirme
(298)
Projeler
478
40%
Arabuluculuk
105
40% / 24%
Süresi dolmuş
82
17%
Yüklendi
Yayınlandı: 2 kod
10
Geliştirici 10
Derecelendirme
(29)
Projeler
36
39%
Arabuluculuk
0
Süresi dolmuş
2
6%
Serbest
11
Geliştirici 11
Derecelendirme
(49)
Projeler
74
18%
Arabuluculuk
30
17% / 53%
Süresi dolmuş
31
42%
Serbest
12
Geliştirici 12
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
13
Geliştirici 13
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
14
Geliştirici 14
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
15
Geliştirici 15
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Yayınlandı: 2 kod
16
Geliştirici 16
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
17
Geliştirici 17
Derecelendirme
(121)
Projeler
134
66%
Arabuluculuk
36
25% / 56%
Süresi dolmuş
22
16%
Serbest
Yayınlandı: 10 kod
18
Geliştirici 18
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
19
Geliştirici 19
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
20
Geliştirici 20
Derecelendirme
Projeler
1
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Yayınlandı: 11 kod
21
Geliştirici 21
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
22
Geliştirici 22
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
23
Geliştirici 23
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
24
Geliştirici 24
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
25
Geliştirici 25
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
26
Geliştirici 26
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Yayınlandı: 2 kod
Benzer siparişler
Hello, I need an Expert Advisor for MetaTrader 5 in MQL5. 1. GENERAL: Scalping on M1, Monday to Friday, 3 symbols: XAUUSD, EURUSD, GBPUSD. Scan every tick. Fully automatic. NO MARTINGALE, NO GRID, NO HEDGING. 2. TIMEFRAME: M1 ONLY. Use PERIOD_M1 for all indicators. Magic 101010. Comment "Adaptive V11". Deviation 10. Spread filter: >30 points EURUSD/GBPUSD or >50 points XAUUSD = NO TRADE. 3. INDICATORS: EMA 20, EMA
CyberShadow AI 30 - 300 USD
I want a bot that’s trades using smc strategy having stop loss and take profit.I want it to be able to trade with small account I want a disciplined robot but a strong one to I also what it to trade using trend line and locate point of interest
I need an EA for MetaTrader 5 called AI Forex Robot V100. It must trade automatically on EURUSD and GBPUSD, M15 timeframe. Strategy: - Buy when fast EMA crosses above slow EMA and RSI is above 50 - Sell when fast EMA crosses below slow EMA and RSI is below 50 - Only 1 trade at a time - Stop Loss: 50 pips, Take Profit: 100 pips - Lot size: 0.01, with option to change in settings - Must have trailing stop and news
PROJECT: EXISTING MT5 EA MODIFICATION – XAUUSD SLIPPAGE REDUCTION 1. Project Objective I already have a fully developed MT5 Expert Advisor (.mq5 source code). I am looking for an experienced MQL5 developer who can optimize my existing EA to achieve the lowest possible execution slippage on a REAL LIVE trading account. My primary and only objective is to zero slippage. I am not looking for a new trading strategy or
Elektra Trading Robot 100 - 200 USD
Elektra Trading Robot is an automated Forex trading system designed to analyze market conditions execute trades according to predefined trading strategies. It aims to identify potential trading opportunities, manage trading positions, and apply risk management rules to help protect trading capital. The robot is designed for real-account trading and focuses on consistency, disciplined execution, and efficient trade
the final ea must faithfully implement the logic from the provided phython file run cleanly on mt5 and deliver solid backtest result.its shoild be very easy to set up use with clear input parameter proper risk management and no complicated installation steps
Forex Hunter MT5 30 - 250 USD
ثبت طلبك في مواصفات البوت الثاني كذا: الجودة والأمان أهم من السعر، وما يدخل إلا إذا الفرصة قوية، مع حماية عند الخسائر وانقطاع الاتصال وارتفاع السبريد، وتشغيل مستمر على سيرفر، مع اختبارات إلزامية قبل أي تشغيل حقيقي. بهذه الصيغة يصير يشتغل وأنت مرتاح بالِك، لكنه يوقف تلقائيًا وقت عطلة السوق أو أي خلل. بس أكون واضح معك: ما في بوت يضمن عدم الخسارة، خصوصًا بالمضاربات السريعة، هدفنا نقلل المخاطر ونمنع الخسائر غير المنضبطة
I'm looking for an experienced MQL5 developer to create a Opening Range Breakout EA. The EA should identify the high and low of a configurable trading session and open trades when price breaks out of this range. It should include configurable Stop Loss, Take Profit, fixed lot size, break-even option and trading hours. Full mq5 required
Matosfx 30 USD
Am called martin sselubiri I need a robot for trading forex and stock and I want know how this robot works and how much it costs for me to use it
AI Forex Trading Bot for MT4 and MT5 I need an advanced Forex trading robot (Expert Advisor) that works on both MetaTrader 4 and MetaTrader 5. The robot should automatically analyse the Forex market, identify BUY and SELL opportunities, and execute trades when the trading conditions are met. It should support GBPUSD, EURUSD, USDJPY and GBPJPY. The robot should use EMA, RSI, MACD, price action and trend analysis

Proje bilgisi

Bütçe
30+ USD