Copy Trading pentru NinjaTrader 8 — versiunea 1.0.0 (15 octombrie 2026)
========================================================================

Plugin NinjaTrader 8 care copiaza tranzactiile de pe un cont SURSA pe oricate conturi TINTA din
acelasi NinjaTrader (prop firms, conturi multiple), direct langa conturi: fara HTTP, fara poll.
Ordinele pleaca pe toate tintele in 20-40 ms de la click, inainte sa se umple pe sursa.
Optional: lider / client prin hub (copy.yonvaida.com) pentru PC-uri separate.

Continut
--------
  CopyTradingNT-NT8.zip   plugin-ul compilat (DLL), pentru import in NinjaTrader 8
  CITESTE-MA.txt          acest fisier

Cerinte
-------
  NinjaTrader 8.1.8 sau mai nou, cu WebView2 Runtime (Edge) instalat (il au aproape toate PC-urile Windows;
  altfel: https://developer.microsoft.com/microsoft-edge/webview2/ -> Evergreen Bootstrapper).

Instalare
---------
  1. NinjaTrader > Control Center > Tools > Import > NinjaScript Add-On... > alege CopyTradingNT-NT8.zip
  2. Reporneste NinjaTrader.
  3. Control Center > New > "Copy Trading" deschide pagina de configurare (se poate inchide; motorul ruleaza in
     continuare, si dupa repornirea NinjaTrader).

  ATENTIE: pe un PC unde exista sursele Copy*.cs in Documents\NinjaTrader 8\bin\Custom\AddOns NU importa si
  DLL-ul (clase duplicate). Sterge-le intai sau ramai pe surse.
  Dezinstalare: Control Center > Tools > Remove NinjaScript Assembly... > CopyTradingNT.
  Actualizare: Remove NinjaScript Assembly, apoi Import cu zip-ul nou, apoi repornire.

Configurare (tab-ul LOCAL)
--------------------------
  - Cont SURSA (conducator) si conturi TINTA. Pe fiecare tinta: multiplicator sau cantitate fixa, rotunjire,
    pozitie maxima, inlocuire de simbol (ex. MNQ=MES), pierdere zilnica maxima, copierea SL/TP, sens invers.
    Randurile de tinte se restrang (click pe sageata); "Adauga cont tinta" pentru altele.
  - "Copiaza la trimiterea ordinului" (implicit PORNIT): ordinele market ale sursei pleaca pe tinte in clipa in
    care sunt trimise. Daca ordinul sursei e respins, tintele revin singure.
  - "Aliniaza la pornire": copiaza si pozitiile deja deschise ale sursei. Altfel ("urmareste de acum") se
    copiaza doar ce urmeaza; pozitia veche a sursei intra in copiere cand se inchide.
  - Porneste / Opreste. Configul se salveaza la fiecare modificare.

Cum copiaza (important)
-----------------------
  - Tinta urmeaza SCHIMBARILE sursei (deltele), nu marimea ei absoluta: sursa 5 -> 4 inseamna -1 pe fiecare
    tinta; 4 -> 5 inseamna +1, inclusiv pe o tinta ajunsa la 0.
  - Un DECALAJ pe o tinta (butoanele +1/-1, o inchidere facuta manual in NinjaTrader pe tinta, SL/TP-ul propriu
    al tintei, X pe cont) se PASTREAZA pana sursa trece prin 0 (plat sau sens invers); atunci toate tintele se
    sincronizeaza din nou la marimea scalata. Decalajul supravietuieste repornirii.
  - O reducere a sursei nu trece niciodata prin 0 pe tinta (tinta la 0 ramane 0, nu ia sens invers).
  - SL/TP-ul sursei se copiaza pe tinte la acelasi pret. Cand se executa la sursa, tinta iese pe SL/TP-ul ei
    propriu (acelasi pret, fara latenta); ce ramane deschis dupa aceea se inchide la market.
  - Flatten pe sursa (Close / Flatten Everything in NinjaTrader, sau butonul FLATTEN din Trading Platform):
    tintele inchid TOT si isi anuleaza ordinele active.
  - Ordinele trimise de plugin arata in NinjaTrader ca ordinele manuale (fara nume / Close / Stop loss /
    Profit target).

Dashboard-ul (Conturi - live)
-----------------------------
  Toate conturile conectate: balanta, P&L, pozitii, rol (sursa / tinta). Pe fiecare tinta:
  - -1 / +1 pe fiecare simbol: un lot mai putin (spre 0) / un lot in plus (in sensul pozitiei sau al sursei).
    Merg doar cat sursa e in pozitie pe simbol.
  - switch de PAUZA: oprit = pe contul ala nu mai pleaca ordine (pozitiile raman); la reluare porneste de la
    pozitia de atunci. Se tine minte.
  - X: anuleaza ordinele active si inchide pozitiile DOAR pe contul ala.
  FLATTEN TOT (jos): inchide tot pe TOATE conturile conectate; copierea ramane pornita.

Protectii
---------
  - O singura instanta de motor per NinjaTrader (si dupa F5 / recompilare).
  - Sursa deconectata: copierea ingheata (nu inchide nimic) pana revine.
  - Max 15 ordine de crestere a expunerii in 10 s; 3 respingeri consecutive pe un simbol = pauza 60 s;
    8 respingeri = tinta pe pauza. Pierderea zilnica maxima pune tinta pe pauza si ii inchide pozitiile copiate.
  - NU rula in paralel alt copier (indicator "trade copier" etc.) pe aceleasi conturi: s-ar dubla ordinele.
  - TESTEAZA INTAI PE CONTURI SIM.

Lider / Client (intre PC-uri, prin hub)
---------------------------------------
  Tab-ul LIDER publica pozitia contului ales intr-un grup (cod + cheie de publicare, de la administratorul hub-ului).
  Tab-ul CLIENT replica pozitia grupului pe un cont local, cu aceleasi setari de marime. Pe hub pleaca DOAR pozitia
  (simbol, cantitate, pret, SL/TP) - niciodata parole. Executia ramane pe PC-ul fiecaruia.

Diagnostic
----------
  Jurnal: %LOCALAPPDATA%\CopyTradingNT\copy-trading.log (si in pagina, jos).
  Config: %LOCALAPPDATA%\CopyTradingNT\local-config.json, config.json (hub), window.json (fereastra).
