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

 
Infinity:


Ma per qualche motivo finisco con un errore EURUSD,: zero divide - questo errore sembra dire che c'è uno 0 nella variabile da qualche parte, probabilmente durante un'operazione di tipo divisione. Sto cercando di implementarlo correttamente?


Nel tester o nella demo?

Nel tester il punto sugli altri simboli sarà 0

 
Salve, potreste dirmi se MQL4 permette di selezionare tutti i ticket di un account (aperti, chiusi, in sospeso) per un determinato periodo di tempo?
 

Cari signori, per favore aiutatemi a risolvere questo problema, se può essere risolto in queste condizioni!

Esiste, per esempio, un tale Expert Advisor (il suo PATTERN, per essere precisi), poiché il principio stesso è interessante.

Quindi, ecco qui:

extern double Lot = 0,1;

extern int TP = 100;

extern int SL = 100;

extern int ХХХ = 100; //come diversevariabili

extern int ХХХ = 100; //come diversevariabili

extern int int ХХХ = 100; //come diverse variabili

// quali ordini sono permessi? :

extern int LET = 3; // 1 - solo vendere, 2 - solo comprare, 3 - entrambi i tipi di ordine

int start()

//calcolare gli indicatori:

int KUDA;

SI INSERISCE L'INDICATORE E LE SUE CONDIZIONI DI LAVORO

// Controlla le condizioni per determinare la direzione dell'ordine in base ai dati dell'indicatore:

if ( ХХХХХХХХХХХХХХХХХ ) // condizione indicatore per sal

KUDA = 1; // significa che venderemo

if ( ХХХХХХХХХХХХХХХХХХ) // condizione indicatore per comprare

KUDA = 2; // significa che compreremo

// collocamento di ordini :

if(OrdersTotal()>0) return (0); // permette all'EA di lavorare con un solo ordine piazzato

QUALE CODICE INSERIRE QUI, IN MODO CHE QUANDO UN COMMERCIANTE CHIUDE UNA VENDITA, È AUTORIZZATO A PIAZZARE SOLO UN ORDINE DI ACQUISTO,

e quando un perdente chiude un acquisto è solo autorizzato a piazzare una vendita?

E COSÌ VIA!!!

{

if (LET == 1 || LET == 3) // secondo la variabile funziona solo per vendere (ignora comprare) o entrambi

if (KUDA == 1 && ticketsell < 1) // set sell

{

ECCO IL CODICE PER PIAZZARE ORDINI DI VENDITA

}

if (LET == 2 || LET == 3) // secondo la variabile funziona solo per comprare (vendere ignora) o entrambi i tipi di ordine

if (KUDA == 2 && ticketbuy < 1) // esporre buy

{

ECCO IL CODICE PER PIAZZARE ORDINI DI ACQUISTO

}

}

ritorno(0);

}

Grazie!

 
ToLik_SRGV:

Quindi, nell'ordine.

Se volete solo gli ultimi dati, allora perché salvare i dati precedenti? ("pre-scrittura" avviene con una combinazione di modalità FILE_READ|FILE_WRITE).
Perciò è più logico usare FILE_CSV|FILE_WRITE mode, dove i record precedenti vengono cancellati prima di scrivere nuovi dati.

Iniziare a scrivere le 4 variabili nel file.

La cosa principale è ricordare l'ordine in cui sono scritte le variabili, perché questo è l'ordine in cui le leggeremo.

Inizia a leggere i dati nelle variabili dal file.

Usando la funzione FileReadNumber(), leggiamo in sequenza, numero per numero, nell'ordine in cui lo abbiamo scritto.
Questo è tutto quello che c'è da fare, niente di complicato :)

L'ho capito e applicato, e ne sono molto contento.
 

Aiutami a risolvere questo problema programmaticamente:

1. In primo luogo, troviamo il primo frattale verso l'alto - questo è semplice e chiaro;

2. Poi dobbiamo trovare un frattale superiore al primo - questo è già un problema :(

Ok, se è il frattale precedente. Ma se fosse quello prima? O tre o quattro frattali fa?

Come posso fare una funzione per cercare tali frattali?

Sto allegando una foto, per sicurezza.

 
non attaccato :(
prova di nuovo
 
Shuba:

Aiutami a risolvere questo problema programmaticamente:

1. In primo luogo, troviamo il primo frattale verso l'alto - questo è semplice e chiaro;

2. Poi dobbiamo trovare un frattale superiore al primo - questo è già un problema :(

Ok, se è il frattale precedente. Ma se fosse quello prima? O tre o quattro frattali fa?

Come posso fare una funzione per cercare tali frattali?

Sto allegando una foto, per sicurezza.



E se questo frattale non esiste affatto
 
Vinin:

E se questo frattale non esiste affatto
Bene, se, per esempio, non c'è un frattale simile per 300 barre fa, aspettiamo che un nuovo frattale appaia prima di riprendere la ricerca
 
Shuba:

Aiutami a risolvere questo problema programmaticamente:

1. In primo luogo, troviamo il primo frattale verso l'alto - questo è semplice e chiaro;

2. Poi dobbiamo trovare un frattale superiore al primo - questo è già un problema :(

Ok, se è il frattale precedente. Ma se fosse quello prima? O tre o quattro frattali prima?

Come formulare la ricerca di tali frattali come funzione?

Per sicurezza, allego una foto...

Ricorda il valore del primo frattale, poi cerca un frattale nel ciclo che abbia un valore maggiore/minore del valore memorizzato. Se un tale frattale viene trovato all'interno del ciclo, memorizzatelo in una variabile. Ora avete due frattali - il primo inizialmente memorizzato e il secondo trovato nel ciclo. Non deve essere precedente o preesistente, ma deve corrispondere al criterio di ricerca.
Se non può essere trovato nel ciclo - allora devi aspettare che appaia un nuovo frattale (invece del primo ricordato). Non appena il nuovo frattale appare, cerchiamo di nuovo il secondo frattale necessario nel ciclo (molto probabilmente sarà il primo ricordato all'inizio). Così troviamo due frattali necessari ed evitiamo la situazione giustamente accennata da Victor nel post precedente. Anche se teoricamente è possibile che il secondo frattale non si formi mai... Un'apocalisse per esempio... :)
 
Shuba:
Così, se, per esempio, non c'è nessun frattale a 300 barre fa, aspettiamo che un nuovo frattale appaia prima di riprendere la ricerca
Vedo - stai già arrivando alla decisione da solo
Motivazione: