[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 1033

 
Capito))) Fuori a leggere! ))))
 
fergios:
Non sto buttando via il mio codice, ne sto prendendo uno scaricato, che inoltre non funziona!

Qui ce n'è uno funzionante, l'ho controllato.

In alcuni dtC apriamo prima un trade e solo dopo lo modifichiamo (impostazione di stop e takeover).

 
costy_:

Qui ce n'è uno funzionante, l'ho controllato.

In alcuni dc, si apre prima un trade e solo dopo lo si modifica (si impostano gli stop).


Ho dimenticato di aggiungere la libreria

 
fergios: Beh, non butterò il mio codice, ne prenderò uno scaricato, che inoltre non funziona!
ma... questo (leggermente modificato) è usato nel Campionato Ttauso - anche se si piazza solo al 5° posto... ma questo è dovuto alla mancanza di modifica dei lotti...
 
Vinin:


La biblioteca ha dimenticato di aggiungere

Ops, senza.
File:
botp1ma.mq4  8 kb
 
Comunque grazie ragazzi, se non sono riuscito a capire che funzionava, dovreste leggerlo doppiamente)
 
e ObjectsTotal() sono gli oggetti di tutti i grafici o del grafico corrente?
 
eddy:
e ObjectsTotal() sono oggetti di tutti i grafici o di quello corrente?

Corrente.

ObjectsTotal Restituisce il numero totale di oggetti del tipo specificato sul grafico.

Controlla https://book.mql4.com/ru/functions/objects https://docs.mql4.com/ru/objects/ObjectsTotal

Il linguaggio mcule4 è legato a una sola finestra, quella corrente.

 
Roman.:


Questo ciclo serve a mantenere la modifica dell'ordine ffs (se la modifica dell'ordine nel mercato reale fallisce al primo tentativo (succede) e l'eventuale errore non è critico: ad esempio, 136 - nessun prezzo - aspetta un nuovo tick), cioè, questo ciclo mantiene il controllo fino a quando l'ordine precedentemente selezionato viene modificato o viene ricevuto un errore critico - tutto questo può accadere entro diversi tick o addirittura secondi (decine di secondi), in altre parole, nient'altro funziona nell'EA.cioè, se un criterio di trading per aprire un ordine è scattato in questo momento, l'ordine non si aprirà poiché il controllo è tenuto dalla funzione di modifica di tutti gli ordini selezionati fino a quando non finisce, dopo di che, se la condizione di apertura dell'ordine successivo nell'Expert Advisor è ancora attiva, si tenterà di aprire l'ordine successivo al prossimo tick - questo è solo un esempio... "Se l'operazione di compravendita ha successo, allora l'operatore break nel blocco 6-7 termina l'esecuzione del ciclo while che causa la fine dell'iterazione corrente del ciclo for (e l'iterazione successiva inizia l'elaborazione dell'ordine successivo) - per tutto questo tempo la funzione mantiene il controllo fino all'esecuzione dell'ultimo ordine da modificare. Se l'operazione di scambio non ha successo, vengono gestiti gli errori. Se l'errore non è critico, il tentativo di ripetere l'operazione di trading viene ripetuto. Se l'errore è stimato come critico, il controllo viene trasferito al di fuori del ciclo di modifica per l'elaborazione dell'ordine successivo (nel ciclo for), dopo di che vengono eseguite altre funzioni di Expert Advisor.

Credo di averlo spiegato in modo un po' approssimativo, ma è comprensibile. :-)))


Grazie, questo chiarisce cosa sta succedendo.
 
costy_:

Negli script e negli Expert Advisors, è possibile mantenere il ciclo incompiuto per molto tempo senza paura di rallentare l'interfaccia.

Cioè in un indicatore while (true) si blocca, perché Sleep non funziona.

Guardate lo script qui sotto per vedere più chiaramente


Grazie!