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
등급
(163)
프로젝트
172
44%
중재
3
33% / 33%
기한 초과
1
1%
작업중
5
개발자 5
등급
(1)
프로젝트
1
0%
중재
0
기한 초과
0
무료
비슷한 주문
Hello, I am looking to develop a commercial-grade Expert Advisor for MT5 specifically optimized for XAUUSD (Gold). The underlying logic should be an intelligent, trend-filtered cost-averaging grid system focused on capital preservation. The EA must include the following functional architecture: 1. Core Strategy Structure: - Must feature a multi-strategy logic entry module. I want to use a combination of 3-4 standard
Generate a signal and place 2 arrows on the chart when these conditions happen. Rules: Levels up:price is below the Kijunsen and Senku A value is less than Senku B value Kijun sen close = previous kijun sen close; Kijun sen close value is LESS than Senku B close value Senkou B close = previous senku B close. Levels down: price is above Kijunsen. Senku A value is above Senku B value
i need the EA same working on trading view chart with same specifications of enter in a trade and sl/tp open 2 trades and 1 trade set tp1 & second trade set to tp 3 but sl should move to breakeven when tp1 hit and go to tp2 sl on tp1
preciso de um programa paracido com o CAP channel com botao de refresh e opcaos de alterar o periodo. utilizava um muito bom, mas o vendedor acredito ter sido excluido da comunidade, sumiu. e o que tinha parou de funcionar
Требуется напи сать пользовательский форекс-индикатор на основе стандартного индикатора ZigZag для торговой платформы МТ5 с фильтрацией колен (граней) по их минимальной длине. Пояснение: используя стандартный индикатор ZigZag для МТ5, добавить в его настройки функцию\опцию задания минимальной длины граней зигзага (чтобы индикатор игнорировал мелкие грани, а рисовал \ отмечал только те грани, длина которых составляет
ZigZag based on oscillators is needed The idea of ​​the indicator Create a ZigZag indicator, which is constructed based on extreme values determined using oscillators. It can use any classical normalized oscillator, which has overbought and oversold zones. The algorithm should first be executed with the WPR indicator, then similarly add the possibility to draw a zigzag using the following indicators: CCI Chaikin RSI
TrendPulse EMA Wick EA 50 - 200 USD
EA specification for MT5 developer (coder‑ready spec) You can copy‑paste this directly into an MQL5 Freelance job. --- 1. General * Platform: MetaTrader 5 (MT5) * Type: Expert Advisor (EA) * Markets: Major FX pairs (configurable list via inputs) * Execution: Market orders only * Timeframes: EA must work on any timeframe, but I will mainly use it on M15–H1 --- 2. Indicators & definitions * EMA 20: Exponential Moving
looking for a highly experienced mql5 developer to build a professional trading ea based on multi timeframe top down analysis and market structure concepts the system should combine higher timeframe context with lower timeframe execution and provide both precise logic and clean visual representation on chart ⸻ core requirements • implementation of multi timeframe logic higher timeframe bias combined with lower
Hey I need help with the development of my ea. I am using a built in indicator and a custom indicator. It shouldn't take too long. I will tell you the conditions and then I just need some help with the coding but I have some experience. Thanks we can chat on whatsap or telegram
I am looking for an experienced MQL4/MQL5 developer to build a custom MT4 indicator from scratch or cracking my ex4 file that i provide to you. I already have an existing indicator (EX4) which produces highly accurate buy/sell signals. I want a similar indicator developed based on its observable behavior and signal structure. my existing indicator is pc id protected so you have to do PC ID security bypass and source

프로젝트 정보

예산
30 - 35 USD
기한
 1 일