Specification

""" 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

Responded

1
Developer 1
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
Published: 4 codes
2
Developer 2
Rating
(3)
Projects
2
0%
Arbitration
1
0% / 0%
Overdue
0
Free
3
Developer 3
Rating
(62)
Projects
90
29%
Arbitration
24
13% / 58%
Overdue
7
8%
Working
4
Developer 4
Rating
(6)
Projects
8
38%
Arbitration
1
0% / 100%
Overdue
0
Free
5
Developer 5
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
6
Developer 6
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
7
Developer 7
Rating
(22)
Projects
28
7%
Arbitration
9
33% / 33%
Overdue
1
4%
Working
8
Developer 8
Rating
(22)
Projects
30
20%
Arbitration
8
63% / 13%
Overdue
9
30%
Free
9
Developer 9
Rating
(298)
Projects
478
40%
Arbitration
105
40% / 24%
Overdue
82
17%
Loaded
Published: 2 codes
10
Developer 10
Rating
(29)
Projects
36
39%
Arbitration
0
Overdue
2
6%
Free
11
Developer 11
Rating
(49)
Projects
74
18%
Arbitration
30
17% / 53%
Overdue
31
42%
Free
12
Developer 12
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
13
Developer 13
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
14
Developer 14
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
15
Developer 15
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 2 codes
16
Developer 16
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
17
Developer 17
Rating
(121)
Projects
134
66%
Arbitration
36
25% / 56%
Overdue
22
16%
Free
Published: 10 codes
18
Developer 18
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
19
Developer 19
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
20
Developer 20
Rating
Projects
1
0%
Arbitration
0
Overdue
0
Free
Published: 11 codes
21
Developer 21
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
22
Developer 22
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
23
Developer 23
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
24
Developer 24
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
25
Developer 25
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
26
Developer 26
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 2 codes
Similar orders
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
ثبت طلبك في مواصفات البوت الثاني كذا: الجودة والأمان أهم من السعر، وما يدخل إلا إذا الفرصة قوية، مع حماية عند الخسائر وانقطاع الاتصال وارتفاع السبريد، وتشغيل مستمر على سيرفر، مع اختبارات إلزامية قبل أي تشغيل حقيقي. بهذه الصيغة يصير يشتغل وأنت مرتاح بالِك، لكنه يوقف تلقائيًا وقت عطلة السوق أو أي خلل. بس أكون واضح معك: ما في بوت يضمن عدم الخسارة، خصوصًا بالمضاربات السريعة، هدفنا نقلل المخاطر ونمنع الخسائر غير المنضبطة
Name: SteelEdge Platform: MetaTrader 5 (MQL5) Expert Advisor Instruments: XAUUSD, EURUSD, US30 Timeframe: H1 (inputs to change it) STRATEGY - Trend filter: buy only when price is above the 200 EMA, sell only when below - Entry: price pulls back to the 50 EMA and a bullish (buy) or bearish (sell) engulfing candle closes - Confirmation: RSI(14) above 50 for buys, below 50 for sells - Stop loss: 1.5 x ATR(14) - Take
SMC Bot Creation 350 - 550 USD
Hello, I am interested in developing a professional MT5 Expert Advisor similar in functionality and technical sophistication to your reference product, Institutional SMC Robot: https://www.mql5.com/en/market/product/187011 I want to develop my own independent EA based on advanced Smart Money Concepts (SMC), with a strong focus on institutional price action, liquidity and market structure. The key functionalities I
PROJECT: BYBIT PUMP & DUMP EARLY DETECTION ENGINE Fixed Budget: USD $1,000 – Complete Project I am looking for an experienced quantitative trading developer to design, develop, validate and deliver a professional standalone Python 3.12 module for detecting early pump and dump movements on Bybit USDT perpetual futures. IMPORTANT: This is NOT an MT4/MT5 indicator, Expert Advisor or a request to build a complete trading

Project information

Budget
30+ USD