Joao Prata Silva Yglesias
Joao Prata Silva Yglesias
5 (1)
  • Information
6+ Jahre
Erfahrung
4
Produkte
2
Demoversionen
0
Jobs
2
Signale
0
Abonnenten
Trader and algorithmic developer focused on risk-managed automation for the Forex market. I build Expert Advisors that prioritize capital protection and survivability over hype — real strategies, transparent results, and live monitoring.

My flagship is SurfBot, a bidirectional mean-reversion grid with portfolio-level exposure control and an optional trend hedge. Everything I publish runs on real accounts with public signals, so you can verify performance before you buy.

I value clear documentation and responsive support. Questions are always welcome — reach out anytime.
Joao Prata Silva Yglesias Hat ein Produkt angeboten

Grid Survival Ruler beantwortet eine Frage, die darüber entscheidet, ob ein Grid Bestand hat: Wie weit kann sich der Kurs gegen Sie bewegen, bevor die letzte Ebene ausgefüllt wird, und wie oft hat sich DIESES Währungspaar tatsächlich so weit bewegt? Geben Sie Ihren Abstand (in % des Kurses) und Ihre maximale Anzahl an Ebenen ein. Der Indikator zeichnet die Leiter in das Chart ein, markiert die letzte Ebene rot (voll ausgebucht) und zeigt die gesamte ungünstige Kursbewegung in % und im Kurs sowie

Joao Prata Silva Yglesias Hat ein Produkt angeboten

„Spacing Audit“ misst den Rasterabstand, den Ihr EA TATSÄCHLICH verwendet – und zwar anhand seiner eigenen geschlossenen Trades, nicht anhand seiner Eingabewerte und auch nicht anhand der Abstände zwischen offenen Ebenen. Warum: Ich habe eine Woche lang geglaubt, mein Raster würde ATR-basierte Abstände verwenden, weil „UseATR“ auf „true“ gesetzt war. Das war jedoch nicht der Fall. Jedes Währungspaar lag auf dem Mindestabstand, 2,8- bis 5,1-mal enger als beabsichtigt, und das Orderbuch verstopfte

Joao Prata Silva Yglesias
Hat den Code Contract Sizer: ladder, floor and a breaker that survives a deposit veröffentlicht
Drei Schutzmechanismen zur Positionsgrößenbestimmung, die unterschiedlich funktionieren; ihre Verwechslung ist der Grund, warum so viele Konten leergeräumt werden: - Ladder: ein Kontrakt pro X des Guthabens, wird immer als Obergrenze (CAP) angewendet, auch bei manueller Lot-Größenbestimmung; - Floor: Unterhalb des Mindestkapitals wird nicht gehandelt; eine neue Einzahlung ist erforderlich; - Breaker: Stoppt bei X % unterhalb des Höchststands, unabhängig von der Kontogröße, und wird nicht automatisch zurückgesetzt. Was diese Bibliothek löst und fast keine andere: Eine Einzahlung ist kein Gewinn, und eine Auszahlung ist kein Verlust. Der Breaker misst den Rückgang im Verhältnis zum Höchststand des Kontostands. Ohne entsprechende Maßnahmen hebt eine Einzahlung, die WÄHREND eines Drawdowns getätigt wird, sowohl den Kontostand als auch den Höchststand an, und der Schutz erkennt den Rückgang genau dann nicht mehr, wenn er helfen würde. Hier verschieben Ein- und Auszahlungen den Höchststand um denselben Betrag. Der Höchststand wird in einer Datei gespeichert: Ein Breaker, der den Höchststand beim Neustart des Terminals vergisst, ist kein Breaker. Die Demo simuliert eine Einzahlung am Tiefpunkt eines Drawdowns. Führen Sie sie mit aktivierter und deaktivierter Einzahlung aus und vergleichen Sie die Spalte „Rückgang“.
Joao Prata Silva Yglesias
Hat den Code Safe Logger: why your log lines vanish while FileOpen keeps returning success veröffentlicht
Four EAs writing to the same file, all with FILE_SHARE_READ|FILE_SHARE_WRITE, FileSeek(SEEK_END), FileWrite, FileClose. Looks correct. Every FileOpen returns success. No error in the log. And the lines vanish. Reason: FILE_SHARE_WRITE lets all four open at the same time. All four call FileSeek(SEEK_END) and get THE SAME offset, because none has written yet. All four write at the same position. Whoever closes last wins. Three lines vanish silently. In my case: 12 events expected, 8 in the file. The fix is to open EXCLUSIVELY (no FILE_SHARE_WRITE) and retry while another EA holds the file. And to shout in the log when the retries run out: a log that fails silently is worse than no log at all, because you trust it. The demo script reproduces both modes. To see the loss, drag it onto four charts at the same time with safe mode off and count the lines in the CSV. On a single chart the defect does not show up - which is why it passes in testing and breaks in production.
80
Joao Prata Silva Yglesias
Hat den Code Clock Diagnostic: TimeCurrent() freezes and steps backwards veröffentlicht
TimeCurrent() is not a clock. It is the stamp of the LAST TICK. Two consequences break robots in production: 1. It freezes. With no tick it does not move: illiquid instrument, end of session, unstable connection - and any rule based on it stops with it. 2. It steps backwards: on a symbol switch, a reconnection or a tick from another instrument, the value can go back. The case that cost me a whole protection: I compared the date of a daily decision with TimeCurrent() to reject an expired one. The server clock stepped back to the previous day, the comparison matched, and four EAs accepted YESTERDAY's decision as valid. The gate that should have failed closed failed open - without a single error in the log. Rule: TimeLocal() for timestamps, dates, day changes, expiry - all that must always move forward; TimeCurrent() for session hours and market data. The script measures the divergence in your environment and reports both symptoms live. Run it with the market closed.
103
Joao Prata Silva Yglesias
Hat den Code Trade Excursion Report: MFE and MAE of every closed trade, to CSV veröffentlicht
Exportiert pro geschlossenem Trade eine CSV-Zeile mit den Zahlen, die in einem Kontoauszug nicht enthalten sind: den höchsten nicht realisierten Gewinn, den der Trade erzielte (MFE), den höchsten nicht realisierten Verlust, den er überstanden hat (MAE), wie viel vom MFE tatsächlich erzielt wurde, über wie viele Kerzen sich der Trade erstreckte und wie lange er gehalten wurde. Es handelt sich um dieselben Kennzahlen wie beim „Trade Excursion“-Indikator, die jedoch in eine Datei geschrieben statt in ein Diagramm eingezeichnet werden, da die Fragen, die sich in Bezug auf diese Daten stellen, nicht anhand eines Diagramms beantwortet werden können: Hängt die Erfassungsquote von der Einstiegszeit ab? Sind die Trades, die ich vorzeitig schließe, diejenigen, die ich am längsten halte? Erreichen Verlusttrades an Montagen einen anderen MAE-Wert als an Freitagen? Sobald die CSV-Datei vorliegt, sind diese Informationen nur eine Pivot-Tabelle entfernt. Die Ausgabe erfolgt semikolonsepariert mit einer Kopfzeile im Format MQL5\Files; sie lässt sich in jeder Tabellenkalkulation öffnen. Messbeschränkung: Die Ausschläge werden anhand der Höchst- und Tiefststände der Kerzen im gewählten Zeitrahmen ermittelt; der Verlauf innerhalb einer Kerze ist unbekannt. Die Spalte „Kerzen“ gibt die Auflösung jedes einzelnen Handels an, und in der Zusammenfassung werden Ein-Kerzen-Handel separat gezählt, anstatt sie zu mitteln.
Joao Prata Silva Yglesias
Hat den Code Trade Excursion: how much of each winner you actually kept (MFE/MAE from your own history) veröffentlicht
Your statement tells you what you KEPT. It does not tell you what you HAD. This indicator reads your own closed trades from the account history and draws, for each one, the full range it travelled: the best unrealised profit it ever showed (MFE) and the worst unrealised loss it survived (MAE). The gap between what a trade showed and what it paid is where two common problems hide, and neither is visible in a balance curve: winners closing far below their best point (the exit leaves money behind), and losers whose worst excursion barely passed the stop (the stop sits inside the noise). The number to look at is the CAPTURE RATIO: of the profit a winner showed at its best, how much did you take home? 90% says the exits are well placed; 30% says the market kept offering and the exit kept refusing. Limit, stated up front: excursions come from the bars each trade spanned, on the chart timeframe; the path inside a bar is unknown. Predicts nothing; measures trades that already happened.
134
Joao Prata Silva Yglesias
Hat den Code Decision Watchdog: refuse yesterday's decision, fail closed, log once veröffentlicht
A daily process writes "today's decision" (which strategy runs, or FLAT) to a file the EAs read at the open. One day the writer did not run. The EAs read yesterday's file, compared its date with TimeCurrent() - the server clock, which had stepped back to the previous day overnight - saw a match, and traded all morning on a 24-hour-old decision. No error anywhere. Two rules, both in this class: 1) staleness is judged against TimeLocal(), which always moves forward; TimeCurrent() is the last tick's stamp - it freezes without ticks and can step back on reconnect. 2) When in doubt the answer is FLAT: missing file, bad date, wrong day, empty line - every failure path returns "do nothing", and each is logged ONCE per state change, not on every tick and not never. File format: line 1 = ISO date, line 2 = decision string. The demo writes a fresh, a stale, a malformed, an empty and a missing file, and shows that only the first is allowed to trade.
86
Joao Prata Silva Yglesias
Hat den Code Exposure Cap: one position limit per symbol across all your EAs veröffentlicht
Four EAs on the same symbol, each one honest on its own: each checks "do I have a position?" with its own magic number, sees none, and enters. On a demo account this reached 22 contracts on a symbol meant to carry 1, and a watchdog had to close 16 positions in one morning. The cap belongs at the door, not after the fact. ExposureCap::Allowed(symbol, lots, cap) sums the volume of every open position on the symbol - all magic numbers, manual trades included - and refuses the order BEFORE it is sent when it would breach the cap. One log line with the three numbers (held, requested, cap) says why. Deliberately simple: gross exposure, no netting of longs against shorts, no per-EA quota. It is a check, not a lock: two EAs deciding on the same tick can both pass; in practice EAs on different charts decide on different ticks. The demo script prints held / cap / room for the current symbol and shows the refusal line. Nothing is traded.
84
Joao Prata Silva Yglesias
Hat den Code Server Time Offset: the three clocks in MQL5 and how timestamps shift on export veröffentlicht
A datetime in MQL5 is seconds since 1970 - but server time (TimeCurrent, bar times, deal times) is the broker's wall clock stored AS IF it were UTC. Export it to CSV, read it in Python or a spreadsheet with a "seconds since 1970 UTC" parser, and every timestamp shifts by the server's UTC offset. On a UTC-3 broker that is three hours: the daily bar dated 00:00 reads as 21:00 of the previous day, and "yesterday's session" silently becomes "today's, half formed". That happened to a morning report of mine before this script existed. The script prints TimeTradeServer, TimeCurrent, TimeGMT and TimeLocal, the three offsets between them, the tick lag, and this chart's last bar time in server time and in real UTC - then states the rule: export server timestamps as wall-clock text, or export the epoch together with the offset, and never let the consumer apply its own timezone.
100
Joao Prata Silva Yglesias
Hat den Code Elder Force Index (faithful to the book definition) veröffentlicht
Índice de Força, conforme definido por Alexander Elder: Volume x (Fechamento de hoje - Fechamento de ontem), e a série resultante é então suavizada. Dois comprimentos, 2 e 13, ambos de seus livros.
25
Joao Prata Silva Yglesias Hat ein MetaTrader 5 Signal veröffentlicht
SurfBot v2 Grid FXGlobe
Preis: 30 USD, Wachstum: 9.35%
SurfBot 2.06 — one-direction Forex grid with hard capital caps, running on a real FXGlobe account. This is the live record of the exact engine sold on the MQL5 Market as SurfBot (product 179990, magic number 880001): https://www.mql5.com/en/market/product/179990 WHAT IT DOES: one grid per pair, on ONE side only (long or short), chosen by the better swap. Each layer has its own take-profit one spacing away. There is NO stop-loss per trade, by design. WHAT KEEPS IT ALIVE: max 12 layers per pair
Joao Prata Silva Yglesias Hat ein Produkt angeboten
Bewertungen: 1
FREE

SurfBot Radar ist ein kostenloser Breakout- und Trendindikator für MetaTrader 5. Er zeichnet einen Donchian-Kanal (das höchste Hoch und das tiefste Tief der letzten N Kerzen) auf, markiert die erste Kerze, die den Kanal durchbricht, und bestätigt jeden Ausbruch anhand des Flows – dem Saldo des richtungsgebundenen Volumens über einen aktuellen Zeitraum. Ein Ausbruch + passender Flow zeigt ein klares KAUF- oder VERKAUF-Signal an; ein Ausbruch ohne Flow wird als „keine Bestätigung“ gekennzeichnet

Joao Prata Silva Yglesias Hat ein Produkt angeboten

SurfBot – Einweg-Forex-Grid mit festen Kapitalobergrenzen. Konzeptionell kein Stop-Loss pro Trade. 🔴 Live-Performance (verifiziert, Echtgeldkonto, genau diese Engine): https://www.mql5.com/en/signals/2383326 FUNKTIONSWEISE Führt ein Grid pro Währungspaar aus, und zwar ausschließlich in EINE Richtung (Long oder Short). Die Richtung wird anhand des besseren Swaps ausgewählt (GridSide=AUTO) oder von Ihnen vorgegeben. Jede Ebene verfügt über einen eigenen Take-Profit, der einen Abstand entfernt

Joao Prata Silva Yglesias Hat ein MetaTrader 5 Signal veröffentlicht
"SurfBot Bidirectional Grid" nicht verfügbar
Joao Prata Silva Yglesias
Hat sich auf MQL5.community registriert