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

 
Vinin:

Come si tracciano le linee? Dove si controlla, nel tester o nella demo?

Sto cercando di superare questo problema da 2 settimane - cioè ho provato molte cose (incluso scrivere 3 varianti di un robot simile - ma il problema è lo stesso).

Imposto le linee manualmente ( linee orizzontali regolari) - Poi chiedo il prezzo di queste linee - Se il prezzo cade nell'intervallo tra 2 linee, allora una bandiera dovrebbe essere attivata (comprare o vendere - ottengo un massimo di 4 varianti di bandiera per ogni coppia di linee).

I nomi delle linee sono identici ai nomi delle variabili solo senza la lettera "p" (che indica "prezzo").

Ho controllato con il tester e con la demo - i risultati sono gli stessi.

Per testare - semplificato la variante al minimo - fino a 2 coppie di linee (per comprare e per vendere) - appare ancora un bug.

Meno combinazioni di linee, meno il problema si presenta (ma non scompare - è un falso senso). Più variazioni ci sono, più il problema è evidente.


PS

Una delle varianti del robot (quella primaria era proprio quella), quando si imposta la linea, imposta automaticamente 2 linee aggiuntive. E qui l'insetto non è uscito. Ma non appena ho provato a impostare tutte le linee manualmente, questo bug ha cominciato ad apparire. - Significa che prima che io abbia avuto il tempo di impostare ulteriori linee (livello - linea di base) il robot ha iniziato a commerciare a sua esclusiva discrezione (sia nello Strategy Tester che nella demo).

 

Buona giornata e buon trading a tutti!

Un consiglio plz, la mia testa non è chiara, sono un principiante...

Sono un principiante, sono molto nuovo a questo genere di cose:

Ho messo due ordini in sospeso

Devo prima selezionarli uno per uno e modificarli, MA non conosco il numero di posizione di questi ordini o il loro ticker... come faccio a sapere il ticker di ogni posizione?

 

Quale funzione posso usare per terminare/terminare l'Expert Advisor in caso di determinate condizioni?

In altre parole, il mio Expert Advisor funziona, ma in caso di fallimento (questo punto l'ho già scritto), deve essere eseguita una funzione che chiude l'Expert Advisor e smette di funzionare e fare trading.

 
Ekburg:

Quale funzione posso usare per terminare/terminare l'Expert Advisor in caso di determinate condizioni?

Cioè, il mio Expert Advisor funziona, ma in caso di fallimento (questo punto l'ho già scritto), ci dovrebbe essere una funzione che chiude l'Expert Advisor e smette di funzionare e fare trading.

Prima di tutto, dobbiamo definire "COSA TUTTI dovrebbero fare" quando si verifica l'"ora di punta" - le condizioni menzionate. Se smetti di fare trading, puoi fare questo:

bool STOP = false;
int start()
{
    //---- В самом начале кода
    if (STOP) return (0);
    //---- код советника
}
 
TarasBY:

La prima cosa da fare è determinare "COSA esattamente" l'EA dovrebbe fare quando si verifica l'"ora di punta" - le condizioni menzionate. Se smetti di fare trading, puoi fare questo:


Cioè, è sufficiente aggiungere la funzione return(0) per fermare il lavoro dell'Expert Advisor?
 
Ekburg:

cioè è sufficiente aggiungere la funzione return(0) per terminare l'Expert Advisor?
quando si verifica la condizione che hai menzionato.
 
TarasBY:
sul verificarsi della condizione da lei menzionata.

Grazie, c'è una risposta alla domanda che ho fatto prima?)
 
Ekburg:

Grazie, c'è una risposta alla domanda che ho fatto prima?)
Non so da dove cominciare nell'alfabeto... Prendi alcuni codici EA dal codebase, uno di loro DEVE avere una risposta pronta alla tua domanda.
 
Dimka-novitsek:

A prima vista, probabilmente si tratta delle variabili, non delle condizioni. Comincerei con l'emettere le variabili con gli avvisi, dato che il codice stesso sembra NORMALE !!!

Alert(" pcb " , pcb ); Alert(" pl " , pl ); Alert(" pb " , pb );


Avevi ragione - si trattava dei prezzi richiesti. Nella mia inesperienza li ho controllati sulle linee esposte, e quelli che mancavano (perché non c'erano - logica umana), non ho controllato neanche loro.

E loro, anche con un errore 4202, ma il prezzo che hanno assegnato - 0,0000 - ed era questo prezzo e rovinato tutti i tidbits! : ))))


Grazie mille Vinin e TarasBY!

 
Ekburg:

grazie, c'è una risposta alla domanda che ho fatto prima?)

ci sono funzioni aggiuntive che terminano il terminale, ad esempio CloseTerminal() https://forum.mql4.com/ru/11287/page49#104688