Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1052

 
rapid_minus:

Nota

La funzione Sleep() non può essere chiamata da indicatori personalizzati, poiché gli indicatori sono eseguiti nel thread dell'interfaccia e non devono rallentarlo. La funzione ha un controllo incorporato dello stato della bandiera di arresto dell'esperto ogni 0,1 secondi. La funzione Sleep() nel tester della strategia non causa alcun ritardo.

Tutti sono così intelligenti che fanno paura. Ho scritto che lo slittamento è stato ignorato nel tester (che è chiaro), ma tutte le posizioni sono aperte finché le ho specificate. Ma sul demo slip non funziona, e la posizione è aperta solo una, e che si chiude immediatamente. Questo è il problema che non posso risolvere.

Dov'è il vostro codice?

Forse questo può aiutare?

 
rapid_minus:

Quanto sono tutti intelligenti - è spaventoso. Se non sapete leggere: ho scritto che lo slittamento è ignorato nel tester (che è chiaro), ma le posizioni sono tutte aperte, come indicato. Ma sul demo slip non funziona, e la posizione è aperta solo una, e che si chiude immediatamente. Non riesco a risolvere questo problema.

A quanto pare non è la prima volta che sei scortese, ecco perché nessuno ti risponde. Anche se le è già stata data una risposta alla sua seconda domanda.

Ma si poteva rispondere solo così.

Rapido_minuto:
È chiaro che l'offerta è invecchiata, ma speravo che questo disegno permettesse di aprire diverse posizioni sulla barra corrente con diversi prezzi di apertura dell'offerta. E funziona bene nel tester, ma nella demo apre una posizione e la chiude immediatamente.

Cosa speravi? Abbiamo offerto una soluzione. Dovreste leggerlo attentamente.

 
rapid_minus:
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Sleep(10000);
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Abbiamo bisogno dopo ogni Sleep(10000); RefreshRates(); L'offerta sarà aggiornata e gingerbread sarà nostro
 
AlexeyVik:

Sì, per determinare il numero di cifre decimali. Questo è necessario per normalizzare il valore del lotto se il lotto è definito da qualche formula e il risultato può avere più cifre decimali del consentito. In alcuni casi, si potrebbe semplicemente mettere un deuce, ma poi si potrebbe incontrare un errore, quindi è meglio definirlo programmaticamente.

C'è un altro modo di farlo. Ci sono due modi per risolvere questo problema: uno è convertire il numero in una stringa, definire la lunghezza della stringa, trovare l'indice del carattere punto e la differenza tra la lunghezza della stringa e l'indice del carattere punto sarà valutata come parte frazionaria del numero. E sul forum mql5, si possono trovare diverse varianti, alcune più sottili, altre più facili.

Ecco un'altra delle mie varianti.

Questa funzione determina il numero di cifre decimali di qualsiasi numero.

L'algoritmo è scandalosamente semplice - considera quante volte il residuo della divisione per 1 è maggiore di zero.

Non ho detto che il mio modo è migliore. Ogni programmatore sta scrivendo il proprio modo di risolvere il problema.

Un numero di tipo doppio, anche se non ha cifre significative nella parte frazionaria, appare come 2,0, che non è del tutto corretto, e per ottenere un intero normale viene convertito implicitamente al tipo int.

Grazie mille.

Ma perché (int) dovrebbe essere messo prima dell'espressione?

 
Igemon:

Grazie mille.

Perché (int) è messo davanti all'espressione?

Leggetequesto, è molto utile.
 
Grazie, LRA! Come sempre in questo thread, l'aiuto viene dalla parte sbagliata dei binari. La maggior parte dei "guru" locali non aiutano i nuovi arrivati, ma ammirano solo se stessi, anche se in altri rami a volte sono loro stessi in questioni semplici. Ecco perché sono permalosi come matricole. Grazie anche ad artmedia70 per il link. Mi ha fatto ridere. Ed è bellissimo, una piccola faccia sul tabloid.
 
Al momento l'indicatore registra il grafico in tick nel grafico offline, poi l'apertura del grafico è manuale.
Posso aprire un grafico in un Expert Advisor da Open Offline Chart con il suo nome? Ho guardato ChartOpen() ma non funziona per nome.
 
Igemon:       Perché (int) è messo davanti all'espressione?
Provalo con e senza di esso. Un esperto in materia ha detto: Esperienza = criterio di verità
 
Ciao a tutti... Potete dirmi se esiste una funzione di mql4 che soddisfa la seguente condizione: se si apre un ordine, diciamo buy sul segnale dell'indicatore... Poi se c'è un segnale di inversione si chiude l'acquisto e si apre la vendita... ecc. O consigliare come registrarlo nel tuo Expert Advisor ... Grazie in anticipo
 
buon pomeriggio, potete per favore consigliare a un analfabeta come esprimere la candela in percentuale?