MQL5 Refactor Job – NIKA_FTS (REV + PSAR + HA only, closed-candle, max speed)

MQL5 지표

작업 종료됨

실행 시간 17 일
고객의 피드백
good guy
피고용인의 피드백
GOOD CLIENT

명시

Summary

Refactor my current NIKA_FTS.mq5 into a minimal, fast, backtest-deterministic indicator that keeps:

  • Tilson T3 pair (fast/slow) with separate alphas → drives REV state

  • PSAR (plot + up/down cross signals)

  • Heikin-Ashi overlay (candles/bars/hollow), colored by REV state

Remove everything else (RSI, TSI, TRM, MA1/2/3, MA crosses, Curl, bar-color logic from RSI/TRM, etc.).
All logic must be closed-candle only (no live/intrabar behavior).


Scope of Work

KEEP & Implement

  1. Tilson T3 (double-alpha)

    • Inputs:

      input int aLength = 5; // fast T3 length input int Length = 8; // slow T3 length input double alphaFast = 0.70; // fast T3 alpha input double alphaSlow = 0.70; // slow T3 alpha

    • Buffers: anT3Average[] (fast), nT3Average[] (slow)

    • Plots: T3 Fast color line, T3 Slow color line, T3 Fill between them

    • Calls:

              calc_t3_series(src_arr, total, aLength, alphaFast, anT3Average);
      calc_t3_series(src_arr, total, Length , alphaSlow, nT3Average);
      
  2. REV state (Tilson-based)

    • For bar i (closed bars only):

      • uc : anT3Average[i] >= nT3Average[i] && Close[i] > nT3Average[i]

      • dc : anT3Average[i] <= nT3Average[i] && Close[i] < nT3Average[i]

      • ur : anT3Average[i] <= nT3Average[i] && Close[i] > nT3Average[i] (cross up)

      • dr : anT3Average[i] >= nT3Average[i] && Close[i] < nT3Average[i] (cross down)

    • Output buffer: Rev[] = +1 (bull: uc/ur), -1 (bear: dc/dr), 0 otherwise.

  3. PSAR

    • Inputs: start , inc_v , max_v

    • Use iSAR() handle; copy to sar[]

    • Signal buffer: SARsig[] = +1 if Close[i] >= sar[i] , else -1

    • Plot: dots/arrows (bull/bear color by state)

  4. Heikin-Ashi overlay (KEEP)

    • Inputs:

      enum CandleType {CT_Candles }; input CandleType type =

              CT_Candles 
      input bool haover = true; input bool rPrice = false; // optional real-close line

    • Buffers: hac_* and/or hab_* + color index buffer

    • Color rule: map REV → HA color

      • Rev>0 → bull; Rev<0 → bear; Rev==0 → neutral

  5. Alerts (closed-bar only)

    • Mode input:

      enum AlertMode { AM_PER_BAR=0, AM_PER_BAR_CLOSE }; input AlertMode i_alert_mode = AM_PER_BAR_CLOSE; input bool REVUP=false, REVDWN=false, SARUP=false, SARDWN=false;

    • Trigger only on last fully closed bar:

      • REVUP : Close[i-1] <= nT3[i-1] && Close[i] > nT3[i]

      • REVDWN : Close[i-1] >= nT3[i-1] && Close[i] < nT3[i]

      • SARUP : cross above PSAR

      • SARDWN : cross below PSAR

  6. 2-row table (Rev, SAR)

    • Inputs:

              input bool showTable=false;
      input int  textSize=12, textWidth=100, textHeight=25, tableYpos=10, tableXpos=10;
      
    • Rows: “Rev”, “SAR”; icons ✅ / ❌ / 🔸 .

    • Update only when a new bar closes (no per-tick redraw).

REMOVE / PRUNE

  • All RSI/TSI/TRM/MA/Curl code: enums, inputs, buffers, plots, alerts, palette colors, paint logic, table cells.

  • Any leftover live/intrabar logic (e.g., using TimeCurrent , per-tick alerts, on-the-fly objects).

  • Any plotting/objects unrelated to T3/PSAR/HA/table.


Closed-Candle-Only Rules (hard requirement)

  • In OnCalculate , set:

    const int last_closed = rates_total - 2; int start = (prev_calculated>0 ? prev_calculated-1 : warmup); for(int i=start; i<=last_closed; ++i) { ... } // NEVER use rates_total-1 in logic

  • Use data from arrays time[]/open[]/high[]/low[]/close[] only.

  • No SymbolInfoDouble(BID/ASK) or TimeCurrent() in logic/alerts.

  • Alerts and table update only when time[last_closed] changes (track static datetime last_bar_time ).


Performance & Code Quality (hard requirement)

  • Max speed / zero “dirty” code:

    • Single pass loop, no nested loops per bar.

    • Respect prev_calculated . Start at max(prev_calculated-1, warmup) .

    • Pre-allocate & reuse buffers; ArraySetAsSeries(..., true) once.

    • No dynamic ObjectCreate/Delete inside the bar loop. Table draw only once per closed bar; otherwise disabled.

    • Move branches out of hot loops; precompute booleans reused multiple times.

    • Keep #property indicator_plots and indicator_buffers to exact counts used.

    • Avoid repeated switch / Math* in hot path when possible; cache inputs.

    • Use built-in iSAR handle; a single CopyBuffer per call; fill EMPTY_VALUE for overflow.

    • No sleeps, prints, file I/O, or terminal calls in calc loop.

  • Backtest determinism:

    • No tick-dependent state. Results must be identical in visual/non-visual and multi-core tester.

    • No dependence on chart scaling/zoom or user objects.

  • Deinit hygiene: ObjectsDeleteByPrefix(0,"NIKA-") ; do not nuke user objects.


Final Inputs (only)

// T3
input int    aLength   = 5;
input int    Length    = 8;
input double alphaFast = 0.70;
input double alphaSlow = 0.70;

// PSAR
input double start = 0.043;
input double inc_v = 0.043;
input double max_v = 0.34;

// Visuals
enum CandleType { CT_Hollow=0, CT_Bars, CT_Candles };
input CandleType type = CT_Hollow;
input bool t3vis   = true;
input bool psarvis = true;
input bool haover  = true;
input bool rPrice  = false;

// Alerts (closed-bar only)
enum AlertMode { AM_PER_BAR=0, AM_PER_BAR_CLOSE };
input AlertMode i_alert_mode = AM_PER_BAR_CLOSE;
input bool REVUP=false, REVDWN=false, SARUP=false, SARDWN=false;

// Optional table
input bool showTable=false;
input int  textSize=12, textWidth=100, textHeight=25, tableYpos=10, tableXpos=10;

Required Buffers/Plots

  • Calc: anT3Average[] , nT3Average[] , sar[] , src_arr[] , HA arrays ( hac_* / hab_* )

  • Signals: Rev[] , SARsig[]

  • Plots:

    • Color-line T3 Fast , color-line T3 Slow , T3 Fill (2 buffers)

    • PSAR dots

    • HA candles/bars/hollow (color index)

    • Real Close line (optional)

  • Palette: only colors used by T3/PSAR/HA.


Acceptance Tests

  1. Compilation: MT5 current build, 0 errors / 0 warnings.

  2. Search-clean: No occurrences of RSI , TSI , TRM , MA1 , MA2 , MA3 , HCROSS , Curl .

  3. Closed-bar only: Changing tester from “Every tick” → “1 minute OHLC” yields identical buffers.

  4. Performance: On M1 with 50k bars, first load < 50ms and incremental updates scale O(1) per bar (no visible lag).

  5. Alerts: Fire once per qualifying closed bar (when AM_PER_BAR_CLOSE ), never on forming bar.

  6. HA coloring: Follows Rev state correctly; table (if enabled) shows only “Rev”, “SAR”.

  7. Determinism: Visual vs non-visual backtests produce the same Rev[]/SARsig[]/sar[]/T3 values.


Deliverables

  1. Refactored NIKA_FTS.mq5 .

  2. Short changelog of removed modules + final public API (inputs/plots/buffers).

  3. QA note with 3 screenshots:

    • Bull REV + SARUP

    • Bear REV + SARDWN

    • Neutral REV



  • Export a consolidated Signal[] buffer: +1 bull / 0 neutral / −1 bear (mirrors Rev ).

  • Inputs for line widths and PSAR dot size.


    input int    WarmupBars   = 500;     // bars to prefill T3 before signaling
    input int    MaxHistory   = 10000;  // cap processing for speed; 0 = unlimited
    input bool   UseSeries    = true;    // ArraySetAsSeries on calc buffers




응답함

1
개발자 1
등급
(25)
프로젝트
31
13%
중재
13
0% / 77%
기한 초과
9
29%
무료
2
개발자 2
등급
(2)
프로젝트
3
0%
중재
4
0% / 50%
기한 초과
0
작업중
3
개발자 3
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
4
개발자 4
등급
(169)
프로젝트
180
46%
중재
3
33% / 33%
기한 초과
1
1%
작업중
5
개발자 5
등급
(1)
프로젝트
1
0%
중재
0
기한 초과
0
무료
비슷한 주문
TumiiFX 30 - 20000 USD
1. Use two EMAs: 20 and 50. If EMA 20 is above EMA 50 → uptrend (look for buys) If EMA 20 is below EMA 50 → downtrend (look for sells) 2. Wait for a pullback into the area between the two EMAs. - For buys: price must touch or move between EMA 20 and EMA 50 during the last few candles. - For stils: same idea, but in a downtrend. 3. Entry signal: Buy: a bullish engulfing candle in an uptrend after the pullback
I am looking for an experienced MQL4 developer to build a professional High-Frequency Trading (HFT) / Low-Latency Expert Advisor for MetaTrader 4 (MT4) . The EA will be deployed on an IC Markets Live account and should be optimized for the fastest possible execution using a low-latency VPS located in LD4 or NY4 . The primary instruments will be US30 and XAUUSD (Gold) . The goal is to create an EA capable of
A robot 50+ USD
HIGH-FREQUENCY M5/M15 CONCURRENT ENTRY SNIPER import time class HighFrequencySniper: def __init__(self): self.target_profit = 25.00 # Targeted Delta Move self.max_execution_time = 3600 # 1 Hour Sandbox (Seconds) self.lot_allocation = "CALIBRATED_TO_RISK" def execute_hft_scan(self, current_price, m5_rsi, m15_order_block): print(f"[SCANNING] Current Kernel Metric: ${current_price:.2f
I need a trading bot, please i need this project urgently and when messaing me kindly send me samples of past works and dont forget i need the project to be done as soon as possible
A lightweight MT5 chart overlay displaying total floating P&L, average entry price, combined lot size, and current symbol exposure as a percentage of account balance, all updating in real time with color-coded profit/loss indicators, delivered with clean object-oriented source code and no DLL dependencies
QUIERO CONSEGUIR EL CODIGO FUENTE DE ESTE INDICADOR QUE ME GUSTA MUCHO TAMBIEN TIENE EL NOMBRE DE ET BANDS O ENTRY EXIT TIMING . no se los componentes pero estas son las imagenes. que mejor lo describen
I am looking to convert my existing TradingView Pine Script (v5) strategy into an MQL5 Expert Advisor (EA) for MetaTrader 5. Strategy Details: Asset: Gold (XAUUSD) Timeframe: 15-minute Strategy Logic: The strategy is based on a breakout concept. Anchor Candle: The base calculation starts from the Specified Candle Entry Window: The EA should only look for entries As Per Indicator Risk Management: The strategy
I want to find a Developer to perform this work and settle payments in this Application. I undertake not to communicate with Applicants anywhere else except this Application, including third-party messengers, personal correspondence or emails. I understand that violators will be banned from publishing Orders in the Freelance
Akram boushaba 30 - 500 USD
مرحبا كيف حالكم انا اكرم مهتم بالتداول احاول ان اصمم برنامج روبوت قادر على التداول من تلقاء نفسه من يمكنه ان يساعدني او يعلمني كيف استطيع فهل ذلك وسأكون ممتناً له وشكرا لكم
MetaTrader In-App Trade Alerts An existing MetaTrader terminal is already running on my side, but its account is kept hidden for privacy reasons. I need a specialist to wire up native in-app notifications so that every time a position is opened or later closed I see an immediate pop-up inside the platform—no emails or SMS, just the built-in alert window (and the usual MT push to mobile if that comes automatically

프로젝트 정보

예산
30 - 35 USD
기한
 1 일