
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
Grazie....Ma...sono un principiante:)))
È difficile solo per i primi cento anni. dopo diventa più facile :)
leggere l'aiuto e vedere gli esempi di MT
Capisco. Quindi, il trailing stop non è stato implementato in alcun modo. Dovrò scriverlo io stesso. :(
Perché non è stato implementato? È lo stesso di sempre: cliccate con il tasto destro sull'ordine e selezionate trawl nel menu.
L'unica soluzione comune per voi è la rete a strascico standard di MT.
Signori.
...
PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask - lastTick.bid) * MathPow(10, _Digits)));
Spread: 0, ask-bid: 55
55 può essere diverso (coppia, tempo), ma 0 è sempre .
Grazie.
Signori.
...
PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask - lastTick.bid) * MathPow(10, _Digits));
Spread: 0, ask-bid: 55
55 può essere diverso (coppia, tempo), ma 0 è sempre .
Grazie.
SymbolInfoInteger
Restituisce la proprietà corrispondente del simbolo specificato.
1. Restituisce direttamente il valore della proprietà.
long SymbolInfoInteger(
stringa name, // simbolo
int prop_id // identificatore di proprietà
);
SYMBOL_SPREAD Dimensione dello spread in punti int
Ho capito che questo f-iory restituisce il valore di ENUM_SYMBOL_INFO_INTEGER
Vorrei capire cosa volevano gli sviluppatori. Non è chiaro dalla descrizione.
Grazie.
longSymbolInfoInteger
la funzione non restituisce ENUM_SYMBOL_INFO_INTEGER ma specificamente un numero - valore diffuso (se intendete SYMBOL_SPREAD).
NotaSe lo spread sul simbolo specificato è fluttuante, il
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
restituirà un valore nullo.
Quindi, se vuoi conoscere lo spread attuale, guarda la differenza tra Bid e Ask
long SymbolInfoInteger
la funzione non restituisce ENUM_SYMBOL_INFO_INTEGER ma specificamente un numero - valore diffuso (se intendete SYMBOL_SPREAD).
NotaSe lo spread sul simbolo specificato è fluttuante, il
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
restituirà un valore nullo.
quindi se volete conoscere lo spread attuale - guardate la differenza tra Bid e Ask
Brevemente quello che sto cercando di implementare:
3) visualizzazione grafica della posizione e degli scambi dello strumento corrente sul grafico, così come le informazioni su tutte le posizioni nell'angolo in basso a sinistra
Mi piace la MT5 più della MT4, ma non può risolvere il problema della visualizzazione automatica della storia delle operazioni sul grafico in un solo passo. Per favore aiutatemi, o con un link ad una soluzione automatica di questo problema, o se è possibile rifare l'Expert Advisor in uno script. Grazie mille in anticipo!
L'Expert Advisor originale può essere trovato nel primo post di questo thread - https://www.mql5.com/ru/forum/58.
Questo è il modo in cui è implementato in MT4:
"Affare della storia su un grafico. Visualizza -> Terminale -> Cronologia dell'account. Prendiamo l'ordine e lo trasciniamo sul grafico. dello stesso strumento (se lo lasci cadere sul grafico di un altro strumento, sarà sostituito da quello selezionato).
L'ordine viene visualizzato sotto forma di frecce per l'apertura e la chiusura dell'ordine, collegate da un segmento di una linea di tendenza. I livelli di Stop Loss e Take Profit sono visualizzati sullo stesso asse verticale con il prezzo aperto.
Se trascini l'ordine tenendo il tasto Shift, il grafico mostrerà l'intera storia di trading per questo simbolo (credimi, è molto chiaro).
Qualcuno sarebbe così gentile da suggerire una soluzione a un piccolo problema per un principiante.
Prima condizione.
Ho un indicatore Frakt Zigzag scritto in 4.
Dopo l'uso del "traduttore automatico" in MQL5, sono riuscito a ottenere del codice che ha qualche pretesa di essere chiamato un codice "cinque".
Particolarmente "soddisfatto" di queste due parti:
// SUFRATTALI.
se (iFractals(NULL,0,MODE_UPPER, POS)!=0)
{
Fractal1B=iFractals(NULL,0,MODE_UPPER, POZ);
Fractal1B=POZ;
}
i=1 ;
mentre(i<40)
{
se (iFractals(NULL,0,MODE_UPPER, Fractals1B+i)!=0)
{
Fractal2B=iFractals(NULL,0,MODE_UPPER, POZFractal1B+i);
POZFractal2B=POZFractal1B+i ;
pausa;
}
i++ ;
}
i=1 ;
mentre(i<40)
{
se (iFractals(NULL,0,MODE_UPPER, Fractals2B+i)!=0)
{
Fractal3B=iFractals(NULL,0,MODE_UPPER, POZFractal2B+i);
POZFractal3B=POZFractal2B+i ;
pausa;
}
i++;
}
и
// GIÙ I FRATTALI
se (iFractals(NULL,0,MODE_LOWER, POS)!=0)
{
Fractal1H=iFractals(NULL,0,MODE_LOWER, POZ);
POZFractal1H=POZ;
}
i=1 ;
mentre(i<40)
Quando proviamo a compilare, otteniamo :
MODE_UPPER' - identificatore non dichiarato FZR2 .mq5 164 37
MODE_LOWER' - identificatore non dichiarato FZR2 .mq5 192 37
La seconda condizione. Ecco il codice dell'indicatore Fractals che riempie i buffer separatamente con i dati dei frattali superiori e inferiori. Ecco una parte del suo codice:
se(prev_calcolato<7)
{
limite=2;
//--- pulire gli array
ArrayInitialize(ExtUpperBuffer,0.0);
ArrayInitialize(ExtLowerBuffer,0.0);
}
else limit=rates_total-5;
for(i=limite;i<rates_total-3;i++)
{
//---- frattale superiore
if(High[i]>High[i+1] && High[i]>High[i+2] && High[i]>=High[i-1] && High[i]>=High[i-2])
ExtUpperBuffer[i]=High[i];
else ExtUpperBuffer[i]=0.0;
//---- frattale inferiore
if(Low[i]<Low[i+1] && Low[i]<Low[i+2] && Low[i]<=Low[i-1] && Low[i]<=Low[i-2])
ExtLowerBuffer[i]=Low[i];
else ExtLowerBuffer[i]=0.0;
}
//--- OnCalculate fatto. Restituisce il nuovo prev_calcolato.
return(rates_total);
}
Domanda: questi buffer (i buffer dell'indicatore Fractals) contengono i dati sul tempo e sul prezzo della barra-frattale, e se "sì", come scrivere il ciclo, in modo che nell'indicatore FZR i buffer siano riempiti con i dati dei buffer dell'indicatore Fractals?