Trading strategy

Specification

//@version=5  
strategy("Operator Psychology Trading Strategy with Heikin-Ashi (Auto Risk-Reward)", overlay=true, pyramiding=2, default_qty_type=strategy.fixed, default_qty_value=1)

// Check for the 3-minute timeframe
if (not (timeframe.isintraday and timeframe.period == "3"))
    runtime.error("This strategy can only be run on the 3-minute timeframe.")

// Parameters for ATR, Stop-Loss, Risk Percentage, and Sideways Market Threshold
atrLength = input.int(3, title="ATR Length")  // ATR length set to 3
riskMultiplier = input.float(3, title="Risk Multiplier for Stop-Loss")  // Updated Risk Multiplier to 3
capitalRiskPercent = input.float(2, title="Capital Risk Percentage per Trade", minval=0.1, maxval=100)  // Capital Risk set to 2%
sidewaysThreshold = input.float(1.6, title="Sideways ATR Threshold", minval=0.1)  // Updated Sideways ATR Threshold to 1.6

// Moving Average for Trend Detection
maLength = input.int(6, title="Moving Average Length")  // Updated Moving Average length to 6
ma = ta.sma(close, maLength)

// Heikin-Ashi Candle Calculation
haClose = (open + high + low + close) / 4
var haOpen = (open + close) / 2
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow = math.min(low, math.min(haOpen, haClose))

// Calculate ATR based on Heikin-Ashi candles
atrValue = ta.atr(atrLength)

// Define the previous and current Heikin-Ashi candle values
prevHaClose = haClose[1]
prevHaHigh = haHigh[1]
prevHaLow = haLow[1]
prevHaOpen = haOpen[1]
currHaClose = haClose
currHaHigh = haHigh
currHaLow = haLow
currHaOpen = haOpen

// Calculate buy and sell volumes using Heikin-Ashi candles
prevBuyVolume = prevHaClose > prevHaOpen ? volume : 0
currBuyVolume = currHaClose > currHaOpen ? volume : 0
prevSellVolume = prevHaClose < prevHaOpen ? volume : 0
currSellVolume = currHaClose < currHaOpen ? volume : 0

// Sideways Market Condition: Check if ATR is below threshold (low volatility)
sidewaysMarket = atrValue < sidewaysThreshold

// Define Buy Signal conditions based on operator psychology using Heikin-Ashi candles and trend confirmation
buyCondition1 = currHaClose > prevHaHigh              // Heikin-Ashi close breaks previous Heikin-Ashi high
buyCondition2 = currBuyVolume > prevBuyVolume         // Current buying volume exceeds previous
buyCondition3 = prevHaClose < currHaOpen              // Previous Heikin-Ashi candle closes lower than current open
buyCondition4 = haClose > ma                          // Close price is above moving average (trend confirmation)
buySignal = buyCondition1 and buyCondition2 and buyCondition3 and buyCondition4 and not sidewaysMarket  // Avoid sideways zones

// Define Sell Signal conditions based on operator psychology using Heikin-Ashi candles and trend confirmation
sellCondition1 = currHaClose < prevHaLow               // Heikin-Ashi close breaks previous Heikin-Ashi low
sellCondition2 = currSellVolume > prevSellVolume       // Current selling volume exceeds previous
sellCondition3 = prevHaClose > currHaOpen              // Previous Heikin-Ashi candle closes higher than current open
sellCondition4 = haClose < ma                          // Close price is below moving average (trend confirmation)
sellSignal = sellCondition1 and sellCondition2 and sellCondition3 and sellCondition4 and not sidewaysMarket  // Avoid sideways zones

// Calculate Stop-Loss and Target Levels for Long and Short Positions
longStopLoss = currHaClose - (atrValue * riskMultiplier)  // Stop-loss for long position
shortStopLoss = currHaClose + (atrValue * riskMultiplier)  // Stop-loss for short position

// **Auto Risk-Reward Ratio**: The Reward (Target) is dynamically calculated based on the risk
rewardRatio = input.float(6, title="Default Risk-Reward Ratio")  // Updated Risk-Reward Ratio to 6
longTarget = currHaClose + (currHaClose - longStopLoss) * rewardRatio  // Target for long position
shortTarget = currHaClose - (shortStopLoss - currHaClose) * rewardRatio  // Target for short position

// Calculate position size based on capital risk and set to auto trade 0.01 lot for XAUUSD
capital = strategy.equity
riskPerTrade = capitalRiskPercent / 100 * capital
longPositionSize = math.max(riskPerTrade / (currHaClose - longStopLoss), 0.01)  // Minimum 0.01 lot for long position
shortPositionSize = math.max(riskPerTrade / (shortStopLoss - currHaClose), 0.01)  // Minimum 0.01 lot for short position

// Strategy Execution: Long Trades
if (buySignal)
    strategy.entry("Long", strategy.long, qty=longPositionSize)
    strategy.exit("Take Profit", "Long", limit=longTarget, stop=longStopLoss)

// Strategy Execution: Short Trades
if (sellSignal)
    strategy.entry("Short", strategy.short, qty=shortPositionSize)
    strategy.exit("Take Profit", "Short", limit=shortTarget, stop=shortStopLoss)

// Plot shapes for buy and sell signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.blue, style=shape.labelup, text="LONG")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")

// Alert conditions for buy and sell signals
alertcondition(buySignal, title="Buy Alert", message="Buy Signal Triggered!")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal Triggered!")

// Plot the Heikin-Ashi Close price for reference
plot(haClose, color=color.gray, linewidth=1, title="Heikin-Ashi Close")

// Plot moving average for trend reference
plot(ma, color=color.orange, linewidth=1, title="Moving Average (Trend Filter)")


Files:

Responded

1
Developer 1
Rating
(132)
Projects
178
39%
Arbitration
4
25% / 50%
Overdue
14
8%
Free
2
Developer 2
Rating
(16)
Projects
35
23%
Arbitration
4
0% / 50%
Overdue
2
6%
Working
3
Developer 3
Rating
(5)
Projects
5
0%
Arbitration
5
0% / 40%
Overdue
0
Free
4
Developer 4
Rating
(558)
Projects
645
33%
Arbitration
41
41% / 46%
Overdue
11
2%
Busy
5
Developer 5
Rating
(31)
Projects
44
61%
Arbitration
0
Overdue
0
Free
6
Developer 6
Rating
(77)
Projects
243
74%
Arbitration
7
100% / 0%
Overdue
1
0%
Free
Published: 1 article
7
Developer 7
Rating
(28)
Projects
39
23%
Arbitration
15
0% / 87%
Overdue
4
10%
Working
8
Developer 8
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
9
Developer 9
Rating
(57)
Projects
89
43%
Arbitration
4
0% / 100%
Overdue
3
3%
Working
10
Developer 10
Rating
(849)
Projects
1453
72%
Arbitration
123
28% / 47%
Overdue
355
24%
Working
Published: 3 articles
11
Developer 11
Rating
(69)
Projects
146
34%
Arbitration
13
8% / 62%
Overdue
26
18%
Free
Published: 6 codes
Similar orders
Variable Value EA Comments Magic Number 123 Trade Parameters **************************** Trade Open Type Buy/Sell Number of Positions 1 Position Lot size (in pips) .01 Position TP (in pips) 500 Position SL (in pips) 1000 Position BE (in pips) 400 Equity Management **************************** Close positions on opposite signals True/False Close positions on opposite Breakout candle True/False Stop after X
I already have a fully developed MT5 Expert Advisor with all required prop firm features, including: Risk management Daily loss & max drawdown limits Spread & slippage filters News filter Trade management system The EA structure is complete. 👉 What I need is a professional developer to replace ONLY the entry logic with a high-quality, rule-based trading strategy. 🚨 STRICT REQUIREMENT (READ CAREFULLY): I am NOT
Trade summary Plugin 200 - 500 USD
We are looking for a Plugin/ Dashboard for our Meta 5 which will act as a Risk Management/ information tool. the system will require to give real time summary of trades and P/L for certain groups
Hi, I am looking for an Quant/MQL5 developer to build a pure mathematical, Delta-Neutral Statistical Arbitrage (spot vs future ) Expert Advisor. ​ No retail indicator logic (No RSI, MACD, etc.). This is a high-speed, spread-based execution model trading the pricing inefficiency between two correlated assets (e.g., Gold Spot XAUUSD vs Gold Futures). ​ Core Requirements at a Glance: ​Real-time Spread & Z-Score
I need a professional MetaTrader 5 Expert Advisor based on a pullback trading strategy. Indicators: - Moving Averages: 5, 8, 13, 144 (custom, smooth like TradingView) - RSI (14) - ADX (14) with DI+ and DI- - OsMA (8, 21, 5) Strategy: Trend: - Use MA 144 to define the main trend Entry: - Trade only in trend direction - Wait for price to touch MA 8 - Confirm with: - RSI (above 50 for buy / below 50 for sell) - ADX >
Looking for a Proven Non-Repainting Gold Indicator (XAUUSD) – High Accuracy & Ready-Made Solutions Only 📌 Project Description: I am looking for a high-quality, non-repainting indicator specifically for XAUUSD (Gold) that is already developed and tested. ⚠️ Important: I am NOT looking for a new indicator to be built from scratch. I want an existing, proven system that you have already created and are confident in. 🎯
We have developed highly efficient bot which has made over 1600% in last 3 months. Yes Its true and live verified Fxbook results are available. Price is little bit high but totally worth the system and we have few copies soon we will stop its sale . ; Everyone who is interested in bot or interestes to resell it and wants comission both are welcome. . Its name is Celestial Strike fxbook.. You will find out . . In
The Advisor should stop trading if the spread exceeds a selected value. Source code is unavailable. Decompilation may be necessary or any other suggested working solution may be acceptable. Testing should be thorough with proven demonstrable results
I want a forex robot to do my trading because i am a new born trader. A ai trading robot is the best and i am look for one please
I am looking for developer who can create custom price alert indicator for MT5. The function of alerts in MT5 is fine but it does not allow setting custom sounds for specific charts with ease. For example, one can attach custom sound to new price alert, but if you use a lot of alerts daily (which i do) and want to have each ticker/pair to have its own sound alerts it gets too time consuming. I am looking for

Project information

Budget
100 - 200 USD
Deadline
from 1 to 100 day(s)