[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 105
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
guarda qui: https: //docs.mql4.com/ru/basis/operations/math
Puoi fare anche questo.
non sarebbe b uguale a uno?
Ho controllato, uno.
Creare bandiere, ad esempio
Per TP1 - bool TP1, per TP2 - bool TP2, ecc.
Inizialmente i loro valori sono falsi.
Prima della prossima chiusura, fai un controllo:
if (!TP1) {codice per la chiusura parziale della prima parte, dopo la chiusura riuscita scrivere TP1=true}
if (!TP2) {codice per chiudere parzialmente la seconda parte, dopo una chiusura riuscita scrivere TP2=true}
... e così via per tutte le parti...
Così le bandiere segnaleranno che ogni parte è già stata chiusa una volta...
Grazie! Rielaborato il codice... TP0==false l'ho messo all'inizio del programma.
Il problema rimane: La prima parte si chiude e inizia immediatamente a chiudere la seconda :-( ..., con errore 131 per la seconda, comprensibile - dimensione del lotto diversa) Ma un'altra sfumatura è che per la prima parte ""Alert ("Closed ",Lot," Lot Buy ",Ticket);"" non scrive nel log, cioè non raggiunge la verifica Ans==true. Perché???? Qui sotto c'è un pezzo di codice...
Grazie in anticipo!
while(true) // Chiudere il ciclo dell'orda.
{
if (TP0==false && (Cls_B0==true ||Cls_S0==true))
{
LotC=MathRound(Lot/4/Step)*Step;
Alert("Lot-",Lot, "Attempting to close-",LotC," Lot Buy ",Ticket,. In attesa di risposta...");
RefreshRates(); // Aggiorna i dati
Ans=OrderClose(Ticket,LotC,Bid,5); // TicketClose Compra 1/3 lotti?
if (Ans==true) // Ha funzionato :)
{
TP0=true;
Alert ("Closed ",Lot," Lot Buy ",Ticket);
break; // Uscita dal ciclo chiuso
}
if (Fun_Error(GetLastError())==1) // Gestione degli errori
continue; // Riprova
return; // Uscita da start()
}
Cari programmatori!
Aiuto, per favore. L'indicatore disegna valori su una divergenza latente rialzista, e non disegna una latente ribassista.... Scrive che l'errore 4002 - indice della matrice - fuori portata.
Mi sembra di aver sistemato tutto... Mi ci è voluta un'intera serata... Ed è un peccato - il codice è il più semplice... Ma sta disegnando tori con frecce, ma non orsi... PER FAVORE! Qual è l'errore in?????????????????????
Alena,
È necessario allocare la memoria per gli array vpadcci[], v[], hh[], ss[]. Sono dichiarati come dinamici, ma la loro dimensione non è specificata da nessuna parte. La dimensione di un array dinamico è specificata utilizzando la funzione ArrayResize().
P.S. E per favore usa il tasto SRC per inserire il codice
Domanda per MT5. Come posso sapere che lo Strategy Tester ha completato il suo lavoro? Oltre che visivamente :)
La funzione deinit() viene eseguita quando il lavoro è completato. Di conseguenza, se ci arriviamo, significa che il lavoro dell'esperto è finito. Per determinare se il lavoro nel tester è in corso, usate la funzione IsTesting().
Scusa, ho notato che questa domanda è relativa a MT5.
È lo stesso lì, solo OnDeinit() e MQL5InfoInteger(MQL5_TESTING).
Alena,
È necessario allocare la memoria per gli array vpadcci[], v[], hh[], ss[]. Sono dichiarati come dinamici, ma la loro dimensione non è specificata da nessuna parte. La dimensione di un array dinamico è definita utilizzando la funzione ArrayResize().
P.S. E per favore usa il tasto SRC per inserire il codice
Grazie mille per la risposta, mi informerò!
Si prega di consigliare come registrare correttamente che l'indicatore VininI LRMA color.mq4 https://www.mql5.com/ru/code/8200 è cambiato.
Se usate double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift). Non riesco a capirlo. Ho scritto iCustom(NULL,0, "VininI_LRMA_color",55,0,1) e non so cosa farci))
I valori delle linee sono nei buffer indicatori 1 (verde) e 2 (rosso). Quando una linea verde è disegnata sul grafico, la variabile up sulla barra 1 ha il valore di questa linea, e la variabile dn=EMPTY_VALUE e viceversa. EMPTY_VALUE è un valore di buffer vuoto, il suo valore numerico è 2147483647.
Potete poi usare questi valori come volete.
Possiamo creare un EA che chiude tutti gli ordini quando scatta il take-profit dell'ultimo ordine aperto?