Sistemi Esperti: VR Breakdown level - Strategia di trading basata sulla rottura del massimo o minimo precedente
C'è molto rumore e il codice è strano in alcuni punti.
Ad esempio, la parte di verifica dei lotti.
// Ottenere il passo di lotto minimo per il simbolo double stepvol = ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP); if(stepvol > 0) // Calcolo della dimensione del lotto, arrotondata al passo valido più vicino. lt = stepvol * (int)(iLots / stepvol); // Verifica se il lotto calcolato è inferiore al lotto minimo consentito if(lt < ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN)) lt = 0.0; // Impostare a 0 se inferiore al minimo (non valido) // Restituzione di un'inizializzazione riuscita return(INIT_SUCCEEDED); }
Abbiamo il lotto 0.0
Poi andiamo su OnTick() e apriamo una posizione con il lotto "0.0".
if(trade.Buy(lt)) Si tratta di un approccio interessante, credo che il trading sarà redditizio.
--
Non c'è un semplice controllo dei fondi sufficienti, senza questo controllo l'EA fa paura anche nel tester, per non parlare della modalità demo.
--
Non capisco l'intento, perché un tale approccio, per renderlo diverso "come tutti gli altri e dappertutto" --
if(new_time != old_time) // Aggiornare old_time e restituire true (nuova barra rilevata) if((old_time = new_time) != NULL) return(true);
--
Il controllo dell'ordine di TP e SL è implementato in modo errato - se fallisce, la posizione viene lasciata a caso con valori pari a zero.

Molto rumore e il codice è un po' strano in alcuni punti.
Per esempio, la parte di verifica del lotto
Abbiamo il lotto 0.0
Quindi passiamo a OnTick() e apriamo una posizione con il lotto "0.0".
Un approccio interessante, probabilmente redditizio per il trading.
--
Manca un semplice controllo dei fondi sufficienti, senza il quale l'EA non può essere eseguito nemmeno nel tester, per non parlare della modalità demo.
--
Non capisco l'intento, perché un tale approccio, per renderlo diverso "come tutti gli altri e ovunque".
--
Il controllo dell'ordine di TP e SL è implementato in modo errato: se fallisce, la posizione viene lasciata a caso con valori pari a zero.
Una parte del codice è stata realizzata utilizzando gli aiuti, cioè non ho scritto i miei codici, ma li ho presi da fonti esterne, in modo che i programmatori principianti possano vedere il codice familiare.
Così il codice è più corto di una riga, è più comodo e familiare per me, e in più i principianti vedranno le possibilità aggiuntive del linguaggio.
if(new_time != old_time) // Aggiornare old_time e restituire true (nuova barra rilevata) if((old_time = new_time) != NULL) return(true);
и
if(new_time != old_time) // Aggiornare old_time e restituire true (nuova barra rilevata) { old_time = new_time; return(true); }
Il controllo per l'impostazione degli ordini TP e SL è implementato in modo errato: in caso di fallimento la posizione viene lasciata a caso con valori pari a zero.
Cosa si dovrebbe fare in questo caso?
La mia visione è quella di impostare TP e SL in ogni caso, se riceviamo un errore che la distanza è inferiore al minimo consentito = impostare il minimo consentito.
Nella forma attuale, l 'ordine non viene impostato e la posizione rimane abbandonata a caso.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso

VR Breakdown level - Strategia di trading basata sulla rottura del massimo o minimo precedente:
Strategia di trading basata sulla semplice rottura dei precedenti livelli di massimo o minimo
Autore: Vladimir Pastushak