[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 29
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ciao...
Ho scritto un EA ma mi sono imbattuto in questo problema:
Ho ordini opposti e per esempio per BUY ho 150 pips di stop e 150 pips di profitto, per SELL gli stessi livelli sono impostati, ma solo invertiti (cioè quello che è per buy profit, poi per sell stop), cioè in realtà devo chiudere tutto contemporaneamente, sia sell con buy che buy con sell..... ma c'è un'altra cosa, spread!))) E da questi due ordini opposti gli altri 8 sono già aperti (naturalmente se tutti gli otto sono necessari, le condizioni sono diverse per loro, sono anche opposti 4/4)
Come posso programmare correttamente il codice per chiudere tutti gli ordini quando raggiungono lo stesso prezzo simultaneamente? Per nel tester, quando provo, il prezzo a volte raggiunge un livello desiderato, per esempio, vendere chiuso (non raggiungendo un livello predeterminato, credo che sia uno spread) e comprare appeso e dopo poco tempo cade e comprare chiuso alla fermata, quindi non posso vedere il risultato corretto.
Vi sarei grato se poteste esprimere la vostra idea programmaticamente, cioè in codice.
Per capire meglio, vi do la parte in cui si aprono i miei due ordini opposti (primi).
Ciao a tutti.
La domanda è: avete una funzione che rileva l'apertura di una nuova barra(non importa quale timeframe), o, più precisamente, diverse varianti di trovare una nuova barra.
Ciao a tutti.
La domanda è: avete una funzione che rileva l'apertura di una nuova barra (non importa quale timeframe), o, più precisamente, possono diverse varianti (trailer) trovare una nuova barra.
Ricordare il tempo oldtime = Time[0] e confrontare il tempo ricordato if( oldtime !=Time[0])Print("Evviva una nuova barra!!!");
SZY: i trailer sono nella funzione iTime().
:)
IgorM, il problema è che questo f-fi è su un grafico sintetico dove iTime[0] può essere uguale a iTime[1], quindi come possiamo eliminare il tempo in modo che l'EA apra solo un trade su una nuova barra?
se il tempo delle barre 0 e 1 non può essere abbinato per qualche motivo sconosciuto - il tipo datetime memorizza i dati in secondi, cambia il tempo della barra di almeno 1 secondo
poi cercate di ricordare tutte le caratteristiche della prima barra chiusa, cioè OHLC, volume e tempo aperto - se cambiate anche un solo parametro, significa una nuova barra
iBars() mostrerà il numero di barre nel timeframe corrente, e sarà limitato dalle impostazioni del terminale, si può provare a confrontare il numero di barre con il numero di barre memorizzato e al momento della comparsa di una nuova barra, questi valori sono diversi - ma non sempre, ha funzionato per me in questo modo, ma probabilmente a causa del numero di build MT4 questa opzione potrebbe non funzionare
Hai un pezzo di codice pronto, per caso? Non riesco a capire come memorizzare OHLC[1] e confrontarlo con OHLC[0]...
OHLC è un acronimo comune per Open,High,Low,Close
non si confronta con lo zero, ma il primo con quello memorizzato in precedenza, cioè
init(){
oldHigh = High[1];
///
}
start(){
doppio tmp = High[1];
if(tmp !=oldHigh) {oldHigh = tmp;
//controllare il resto dei parametri della barra
}
}
Grazie per la dritta, ci darò un'occhiata...
Si prega di consigliare come impostare il controllo corretto nella condizione di apertura della posizione - se c'è una posizione aperta per questo strumento o no. E se c'è una posizione per il simbolo (qualsiasi vendita o acquisto), allora l'apertura non avviene, altrimenti scatta il segnale di apertura della posizione?
Ecco il codice (credo che sia responsabile dell'apertura delle posizioni):
Sembra essere corretto per logica, ma apre ancora diverse posizioni per un simbolo.
P.S. Non sono il programmatore. Se è possibile in più dettagli spiegare al dummie.