Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 883
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
È lo stesso in mql5. È anche leggermente allungato. Non è quello di cui abbiamo bisogno?
VALORE DEL SIMBOLO_TRADE_TICK
Valore SYMBOL_TRADE_TICK_VALUE_PROFIT
doppio
SYMBOL_TRADE_TICK_VALUE_PROFITTO
Valore di tick calcolato per la posizione redditizia
doppio
PERDITA DI VALORE DEL SIMBOLO_TRADE_TICK
Valore calcolato di un tick per una posizione perdente
doppio
SYMBOL_TRADE_TICK_SIZE
Cambio di prezzo minimo
doppio
La prima cosa che ha attirato la mia attenzione è stata la sequenza di buffer.
I buffer di costruzione devono SEMPRE essere eseguiti in sequenza. Cioè, se i buffer di dati sono i numeri 2 e 3, allora il buffer di colore DEVE essere il numero 4
Se questo non è l'unico errore, guarderemo oltre.
OK, ho trovato una tale funzione nelle istruzioni, qui:
".....
boolSetIndexBuffer(
intindice,// indice del buffer
doppiobuffer[],// array
ENUM_INDEXBUFFER_TYPEdata_type//cosa sarà memorizzato
);
Parametri
indice
[Numero del buffer dell'indicatore. La numerazione parte da 0. Il numero deve essere inferiore al valore dichiarato nella #proprietà indicator_buffers.
buffer[]
[Array dichiarato nel programma dell'indicatore personalizzato.
tipo di dati
[Tipo di dati memorizzati nella matrice dell'indicatore. Il valore predefinito è INDICATOR_DATA (valori dell'indicatore calcolato). Può anche prendere il valore INDICATOR_COLOR_INDEX, allora questo buffer è destinato a memorizzare gli indici dei colori per il buffer dell'indicatore precedente. Si possono specificare fino a 64 colori nella linea #property indicator_colorN. Il valore INDICATOR_CALCULATIONS significa che questo buffer partecipa ai calcoli intermedi dell'indicatore, e non è destinato al disegno.
Ho provato a rifarlo e ho ottenuto ancora più stronzate. L'istogramma è sparito del tutto e l'indicatore di linea è diventato a dir poco strano. Quello del segnale è stato tagliato al di sopra di 50 e quello principale era più basso. Non ci sono questi tagli nel codice.
Ti ho dato un link per studiare non l'istogramma, ma come lavorare con il buffer di colore. Allontanati dall'istogramma e concentrati su come devi lavorare con il colore.
L'ho studiato, ma niente di nuovo, apparentemente è (nuovo per me) naturalmente, ovvio per tutti gli iniziati, autoesplicativo. Non ho trovato nulla di nuovo, tranne la caratteristica sopra descritta della disposizione reciproca dei buffer durante l'indicizzazione. Questa sequenza rispettata, ha ottenuto un'immagine ancora più ridicola.
Immagini qui sotto, file allegato
Salve.
Potete per favore dirmi dove posso trovare l'algoritmo per l'apertura "affidabile" degli ordini (finora sono interessato solo agli ordini di mercato), perché sono perplesso.
Il problema è che nel mio conto (Alpari) i livelli StopLevel e FreezeLevel sono zero e se uso solo queste limitazionihttps://book.mql4.com/ru/appendix/limits significa che uno StopLoss in acquisto può essere impostato al livello Bid e in vendita al livello Ask, ma questo non è vero. In questo caso OrderSend restituisce un errore "No price" (ERR_OFF_QUOTES, codice 136).
Allo stesso tempo, i trade senza stop o con stop di 50 o più punti si aprono senza problemi.
Ho scoperto per esperienza che lo SlopLoss minimo è di 19 pips. Non so come determinare questo margine programmaticamente.
Salve.
Potete per favore dirmi dove posso trovare l'algoritmo per l'apertura "affidabile" degli ordini (finora sono interessato solo agli ordini di mercato), perché sono perplesso.
Il problema è che nel mio conto (Alpari) i livelli StopLevel e FreezeLevel sono zero e se uso solo queste limitazionihttps://book.mql4.com/ru/appendix/limits significa che uno StopLoss in acquisto può essere impostato al livello Bid e in vendita al livello Ask, ma questo non è vero. In questo caso OrderSend restituisce un errore "No price" (ERR_OFF_QUOTES, codice 136).
Allo stesso tempo, i trade senza stop o con stop di 50 o più punti si aprono senza problemi.
Ho scoperto per esperienza che lo SlopLoss minimo è di 19 pips. Non so come determinare questo margine programmaticamente.
Prova minStopLoss = Prezzo corrente +/- (MaxValue(2*Spread, StopLoss));
Buon pomeriggio il codice sotto il problema è spesso aggiornato array adx_sig[9] . Volevo ottenere una dipendenza di aggiornamento dei dati in tempo. Ma qualcosa è andato storto.