Tarea técnica
DOCUMENTO DEI REQUISITI DEFINITIVO (REQUIREMENT LIST)
1. PARAMETRI DI INPUT E INTERFACCIA GRAFICA:
- Tutte le percentuali numeriche e i settaggi devono essere completamente personalizzabili e modificabili dall'utente nella scheda dei Valori di Input, ad eccezione della data di scadenza nascosta di sicurezza impostata al 29.07.2026 alle ore 23:59 (orario del server del broker), modificabile esclusivamente nel codice sorgente. Nessun altro valore deve essere fisso o bloccato nel codice.
- Magic Number personalizzabile dall'utente negli input per il tracciamento indipendente degli ordini.
- Selezione della direzione BUY/SELL direttamente tramite apposita opzione sul pannello prima dell'ingresso.
- Gli attivatori di esecuzione per l'ordine a mercato e l'ordine pendente devono essere interruttori True/False indipendenti. Se un solo ordine è attivo, esso utilizzerà automaticamente il 100% del rischio totale configurato.
- Tracciamento standard sul grafico delle linee di MT4 per i livelli di Entry, Stop Loss e Take Profit.
- Dashboard grafica nell'angolo in alto a sinistra del grafico. I conteggi degli ordini e il P&L riguardano esclusivamente il simbolo/cross corrente su cui è applicato l'EA e il Magic Number configurato. Mostra in tempo reale: Saldo, Equity, Conteggio Ordini Attivi, Conteggio Pendenti, Profitto/Perdita (P&L) in valuta, P&L in percentuale, Stato della funzione di Compensazione e Stato del Break-Even.
2. LOGICA DEI CALCOLI E GESTIONE DEL TIMEFRAME:
- Percentuale di rischio totale calcolata in modo dinamico sul saldo del conto corrente.
- Percentuale del rischio totale assegnata liberamente all'ordine a mercato (es. 30%). Assegnazione automatica e matematica della percentuale restante all'ordine Limit (es. 70%).
- Calcolo separato e indipendente dei lotti Market e Limit in base alla distanza dal relativo Stop Loss specifico.
- Livello Ordine Pendente Limit: Calcolato indipendentemente dal colore della candela precedente del timeframe in uso secondo le formule:
* BUY Limit = minimo tra Open e Close + 60% del corpo candela.
* SELL Limit = massimo tra Open e Close - 60% del corpo candela.
Se il livello calcolato non è valido rispetto al prezzo corrente, l'EA blocca l'invio e mostra un messaggio di errore. L'ordine si attiva su un ritracciamento del 40% di quel corpo candela.
- Livello dello Stop Loss: Deve essere posizionato automaticamente 5 volte il valore dello spread corrente al di sotto del minimo (per i BUY) o al di sopra del massimo (per i SELL) della candela precedente.
- Livello del Take Profit: Gestito dall'opzione "blocchi singoli o doppi" negli input.
* Blocco Singolo: Un unico livello di TP finale comune per entrambi gli ordini, calcolato con rapporto 1:1 dal prezzo di ingresso del Market Order.
* Blocco Doppio: Due livelli di TP separati, calcolati in rapporto 1:1 dal rispettivo prezzo di ingresso di ciascun ordine.
- Parametro "Forza l'ingresso a candela aperta": Default è False. Se impostato su True a mercato chiuso, l'EA visualizza il piano sul grafico; al primo tick dopo la riapertura, ricalcola spread, SL, lotti e costi (adattandoli al rischio massimo) ed esegue automaticamente l'ordine.
3. POPUP DI CONFERMA IN TEMPO REALE:
Prima di inviare gli ordini, deve comparire una finestra popup di conferma personalizzata che mostra: i lotti calcolati in tempo reale per ciascun ordine, il rischio e il profitto monetario stimati per ogni trade, il valore dello spread corrente in pip con il relativo costo monetario e un riepilogo totale combinato (somma dei due ordini), con i pulsanti "Sì" e "No" per eseguire o annullare.
4. LOGICA DELLE FUNZIONI (TRE FUNZIONI SEPARATE E INDIPENDENTI):
Si conferma tassativamente che Break-Even, Chiusura Parziale e Compensazione Ordini sono tre funzioni totalmente separate, indipendenti e attivabili/disattivabili singolarmente:
- Break-Even indipendente: Gestito da interruttore True/False dedicato, si attiva quando il prezzo raggiunge una determinata percentuale di distanza tra il prezzo di Entry e il Take Profit, personalizzabile dall'utente. Sposta lo SL al prezzo di apertura. Viene eseguito una sola volta per ciascun ordine.
- Chiusura parziale indipendente: Gestito da interruttore True/False dedicato. Si attiva quando il prezzo raggiunge la percentuale della distanza tra Entry e Take Profit inserita dall'utente, chiudendo la percentuale di volume configurabile dall'utente. Viene eseguita una sola volta per ciascun ordine.
- Logica Ufficiale di Compensazione (LOGICA B - Priorità Assoluta): Quando Market e Limit sono entrambi attivi e la Compensazione è abilitata, questa ha priorità assoluta e sospende temporaneamente Break-Even e Chiusura Parziale. L'algoritmo monitora il P&L combinato al tick (a candela aperta). L'EA attende che il profitto del Limit sia sufficiente a coprire la perdita reale contabilizzata del Market (comprensiva di commissioni, spread e swap) e a lasciare contemporaneamente a mercato un volume residuo minimo del Limit configurabile. Al raggiungimento o superamento di questa soglia, l'EA esegue in sequenza immediata nello stesso ciclo operativo:
A) Chiude completamente l'ordine iniziale a mercato.
B) Chiude la quota necessaria dell'ordine Limit per compensare la perdita del mercato (raggiungendo il risultato più vicino a 0.00 in base ai limiti tecnici di Lot Step e lotto minimo, senza lasciare perdite scoperte).
C) Sposta istantaneamente lo Stop Loss della size residua del Limit al suo stesso prezzo di apertura (Break-Even puro). Se la compensazione non è eseguibile lasciando il residuo minimo, l'EA non la esegue e continua a monitorare. Una volta completata la compensazione, Break-Even e Chiusura Parziale gestiranno normalmente la size residua del Limit.