Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 97
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
Tipo, int o datetime
Una volta ho fatto una funzione che emette messaggi in una finestra vuota dell'indicatore. È possibile regolare i colori delle linee visualizzate. È già debuggato. Se ne hai bisogno, posso condividerlo.
Guarderò volentieri il tuo codice Artem. Per testare la stampa, non è l'opzione più conveniente...
r772ra:
Che cos'è?
Tipo, int o datetime
Ho riscritto tutto il casino ed è venuto fuori così:
Per qualche motivo, anche quando gli ordini sono chiusi e l'ultimo tempo di chiusura dell'ordine non dovrebbe essere zero.
Ce l'abbiamo sempre nei commenti:
Время закрытия последнего открытого ордера = 0
Ecco perché il mio codice non funziona più, perché questa funzione non funziona.
Così ho riscritto tutto il casino ed è venuto fuori così:
Per qualche motivo anche quando gli ordini sono chiusi e l'ultimo tempo di chiusura dell'ordine dovrebbe essere corrispondentemente non zero.
Sono stato in grado di farlo entrare nel mio commento per tutto il tempo:
Ecco perché non funziona nulla secondo il mio codice, perché questa funzione non mi fa entrare.
Questo EA considera gli ordini pendenti nel tuo codice. Bene, cercherà di conseguenza tra gli ordini aperti. Naturalmente, restituirà un tempo di chiusura pari a zero.
Se vuoi vedere gli ordini chiusi, devi visualizzarli nella lista degli ordini chiusi:
и
Ma... abbiamo bisogno di fare due funzioni - una cerca gli ordini aperti e l'altra cerca gli ordini chiusi.
Prende anche in considerazione i tuoi ordini in sospeso. E di conseguenza cerca tra gli ordini aperti. Naturalmente, restituirà un tempo di chiusura pari a zero.
Se vuoi vedere gli ordini chiusi, devi visualizzarli nella lista di quelli chiusi:
и
Ma... abbiamo bisogno di fare due funzioni - una cerca gli ordini aperti e l'altra cerca gli ordini chiusi.
Grazie, Artyom. Esattamente... Quello che viene dopo è una questione di ottimizzazione del codice. Ci sono domande sulla struttura del codice, ma dovrà essere scritto a mente fresca.
Guarderò volentieri il tuo codice, Artem. Per testare la stampa, non è la variante più conveniente...
Ecco un EA per testare la funzione. Contiene la funzione stessa e la sua chiamata. Prima di chiamarlo, dovete preparare un messaggio, che può essere fino a quattro righe. La lunghezza di ogni linea, se ricordo bene, non dovrebbe superare i 64 caratteri. Ecco perché ho diviso un messaggio in più righe. Ogni linea di un messaggio può essere emessa in un colore diverso. È abbastanza chiaro nel codice - prima prepariamo le linee dei messaggi, poi chiamiamo la funzione. Non ho commentato molto lì - l'ho scritto tutto d'un fiato molto tempo fa. Ora ho già dimenticato a cosa serve. Se avrò delle domande, me ne ricorderò, ma ora ricordo solo le cose necessarie.
E un tacchino:
È così che va... Spero che lo capirai.
Naturalmente, si può fare un underlay invece di emettere il grafico principale, ma sono troppo pigro per farlo... :)
Ecco un EA per testare la funzione. Contiene la funzione stessa e la sua chiamata. Prima di chiamarlo, dovete preparare un messaggio, che può essere fino a quattro righe. La lunghezza di ogni linea, se ricordo bene, non dovrebbe superare i 64 caratteri. Ecco perché ho diviso un messaggio in più righe. Ogni linea di un messaggio può essere emessa in un colore diverso. È abbastanza chiaro nel codice - prima prepariamo le linee dei messaggi, poi chiamiamo la funzione. Non ho commentato molto lì - l'ho scritto tutto d'un fiato molto tempo fa. Ora ho già dimenticato a cosa serve. Se avrò delle domande, me ne ricorderò, ma ora ricordo solo le cose necessarie.
E un tacchino:
È così che va... Spero che lo capirai.
Naturalmente, si può fare un underlay invece di emettere il grafico principale, ma sono troppo pigro per farlo... :)
Brava gente! Ho scritto un EA, tutto sembra funzionare bene nella vita reale. Ma lo controllo sul tester - si blocca. Il succo è il seguente. L'Expert Advisor dovrebbe aprire gli ordini con linee orizzontali disegnate sul grafico. Nel tester, li apre sempre a vari livelli, come se fossero state impostate molte linee, anche se non ce ne sono! Puoi spiegare cosa c'è che non va?
Una parte del codice responsabile delle linee:
int New_gorizont()
{
int tip_o_buy;
int tip_o_sell;
int obj_total=ObjectsTotal();
// se non ci sono nuove linee, uscire
se(obj_total==0)
ritorno;
// se(ci sono...
if(obj_total!=0)
stringa name=ObjectName(0);
double pr=NormalizeDouble(ObjectGet(name,1),Digits);
ObjectDelete(name); // cancella e imposta di nuovo
if(pr>Bid+(Stop_level+1)*Point) // determina il tipo di ordine
{
tip_o_sell=OP_SELLLIMIT;
tip_o_buy=OP_BUYSTOP;
}
if(pr<Bid-(Stop_level+1)*Point)
{
tip_o_sell=OP_SELLSTOP;
tip_o_buy=OP_BUYLIMIT;
}
// impostare gli ordini
OrderSend(Symb,tip_o_sell,Value,pr,3,pr+StopLoss*Point,pr-TakeProfit*Point, "Order set");
Prov_oshibok();
................................
}
In altre parole, obj_total==0 e basta. Ma imposta e imposta tutto all'infinito per qualche motivo.
Brava gente! Ho scritto un EA, tutto sembra funzionare bene nella vita reale. Ma lo controllo sul tester e si blocca.
Non ci credo, questo EA non può funzionare né sul sito reale né nel tester.