Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 676

 

Artyom Trishkin:

Sembra che io abbia lavorato troppo...

Sembra che... ))))))

Quando si crea un EA secondo le istruzioni della guida e dei tutorial di tutti i tipi, si crea esattamente il modello in questione. È così che l'ho capito. Poi alcuni posti in questo modello sono corretti. Personalmente non mi piace che OnDeinit() stia prima di OnTick() e lo sposto alla fine del codice. Non mi piace neanche un po' di .... non essenziale. Comunque, ho i miei piccoli insetti in testa...

 
Andrey Sokolov:

È ovvio, sono anche interessato al modello stesso

circa 5 anni fa, esattamente era un modello nella cartella metaeditora, prima di regole per me, ora scavato tutto nella cartella terminale - non hanno trovato, ma dovrebbe essere da qualche parte, c'era un file di testo semplice

ZS:

trovato i miei vecchi terminali, non in distribuzione - già distribuiti

una volta c'erano modelli/indicatori/script/librerie di esperti, tutto era sulla strada:

.... ^Perché non si può fare a meno di un'altra persona, ma si può fare a meno di un'altra persona.

e i file si trovavano lì:

Includere.mqt

Biblioteca.mqt

Esperto.mqt

Indicatore.mqt

Script.mqt


Ho provato a copiare la cartella templates nella cartella della MT4 installata... nessuna fortuna (((

File:
templates.zip  7 kb
 
Igor Makanu:

circa 5 anni fa c'era un modello nella cartella meta editor, lo modificavo per me stesso, ora ho cercato nella cartella del terminale e non l'ho trovato, ma deve essere da qualche parte, era solo un file di testo semplice

ZS:

trovato i miei vecchi terminali, non in distribuzione - già distribuiti

una volta c'erano modelli/indicatori/script/librerie di esperti, tutto era sulla strada:

.... ^Perché non si può fare a meno di un'altra persona, ma si può fare a meno di un'altra persona.

e i file si trovavano lì:

Includere.mqt

Biblioteca.mqt

Esperto.mqt

Indicatore.mqt

Script.mqt


Ho provato a copiare la cartella templates nella cartella della MT4 installata... nessuna fortuna (((

È da molto tempo che i MC hanno abbandonato questi modelli.

 
Igor Makanu:

circa 5 anni fa c'era un modello nella cartella meta editor, lo modificavo per me stesso, ora ho cercato nella cartella del terminale e non l'ho trovato, ma deve essere da qualche parte, era solo un file di testo

ZS:

trovato i miei vecchi terminali, non in distribuzione - già distribuiti

una volta c'erano modelli/indicatori/script/librerie di esperti, tutto era sulla strada:

.... ^Perché non si può fare a meno di un'altra persona, ma si può fare a meno di un'altra persona.

e i file si trovavano lì:

Includere.mqt

Biblioteca.mqt

Esperto.mqt

Indicatore.mqt

Script.mqt


Ho provato a copiare la cartella templates nella cartella della MT4 installata... Ahimè, niente (((

Ahimè, di nuovo "ahimè, niente da fare" - anche all'interno di MT4!

Non capisco cosa sta succedendo!

Igor!

Hai bisogno di "riflashare"!

Altrimenti non sarebbe una buona cosa! Al Forum dicono cose diverse su di te!!!

 
Igor Makanu:

Non importa quello che la gente dice di te, quello che conta è quello che la gente dice di te. (С)

Quando si citano i pensieri di persone intelligenti (al contrario di te stesso) - si dovrebbe fare un riferimento!!!

Secondo le regole delle pubblicazioni deve essere così. Per distinguere gli stupidi da quelli intelligenti.

https://socratify.net/quotes/iuristy-bostona/171580

Anche se Mussolini ha detto la stessa cosa.

Не важно, что о тебе говорят, главное, что о тебе говорят
  • socratify.net
Если хочешь узнать человека, не слушай, что о нём говорят другие, послушай, что он говорит о других. Не важно, что тебе скажут другие о начале твоего пути. Важно, что они скажут после того когда ты добьешься своей цели. Вы знаете, что такое обаяние? Умение почувствовать, как тебе говорят «да», хотя ты ни о чем не спрашивал. Настоящий друг — это...
 
neverness:

Quando si citano i pensieri di persone intelligenti (a differenza di te), si dovrebbe fare un riferimento!!!

È così che deve essere secondo le regole dell'editoria. Per distinguere gli stupidi da quelli intelligenti.

Ci diamo del tu adesso? OK

Hai scelto il forum sbagliato per sfogare la tua bile, come hai chiesto: "È divertente guardare un uomo che vuole offenderti. Come una scimmia che lancia la cacca. Tu sei dietro il vetro e lui ha tutte le sue zampe nel ***" (internet)

 
Igor Makanu:

SELECT_BY_POS è la selezione di un ordine "per coda" nella lista degli ordini, e nel vostro disegno:

Stai cercando di selezionare un ordine che è per coda d'ordine # ... e stai usando il numero di biglietto qui, e hai solo 1 ordine e il numero di biglietto 10023444... E allora? Qui avete bisogno di un numero da 1 a 2,3 ... bene, quanti ordini avete nel mercato, ... corretto il numero da 0,1,2 ... - La numerazione inizia con 0 nell'array e va fino aOrdersTotal()-1

SELECT_BY_TICKET dovrebbe funzionare, ma solo fino al momento in cui hai il numero del ticket, cioè l'ordine che hai nel mercato, e sopra hai un controllo per l'invio dell'ordine, e se l'ordine non viene inviato, il ticket = -1 !

E tutto sommato, il vostro progetto per lavorare con gli ordini non è corretto. Se avete deciso di studiare MQL, ecco degli esempi già pronti per lavorare con gli ordinihttps://www.mql5.com/ru/forum/131859

Grazie per l'aiuto! Il fatto è che l'ordine si è aperto. Ho controllato. Il biglietto è stato assegnato. Ma più avanti, quando ho provato a selezionarlo, ho ricevuto un messaggio -1. A differenza dell'esempio che hai fatto, non sto selezionando un simbolo ecc. Ho 1 ordine, con un lotto noto, una transazione, nessuno Stop Loss/Take Profit ecc. È in questo disegno (scelto per semplicità) che ottengo un errore 4051 quando uso il parametro SELECT_BY_TICKET. Capisco che usare SELECT_BY_POS in questo caso non è corretto. Questo era un esperimento per capire meglio come funziona lo strategy tester. Questo esperimento ha mostrato che il tester di strategia non assegna i ticket assegnati dal server quando non può contattare il server, ma assegna semplicemente dei numeri ordinali. Ciononostante, rimane la questione del perché si verifica l'errore 4051. Inoltre ho provato a mettere 0 in OrderSelect in combinazione con SELECT_BY_POS come primo parametro. La risposta è la stessa 4051.
 
ski1973:
Grazie per l'aiuto! Il fatto è che l'ordine si è aperto. Ho controllato. È stato assegnato un biglietto. Ma poi ho ricevuto un messaggio -1 quando ho cercato di selezionarlo. A differenza dell'esempio che hai fatto, non sto selezionando un simbolo ecc. Ho 1 ordine, con un lotto noto, una transazione, nessuno Stop Loss/Take Profit ecc. È in questo disegno (scelto per semplicità) che ottengo un errore 4051 quando uso il parametro SELECT_BY_TICKET. Capisco che usare SELECT_BY_POS in questo caso non è corretto. Questo era un esperimento per capire meglio come funziona lo strategy tester. Questo esperimento ha mostrato che il tester di strategia non assegna i ticket assegnati dal server quando non può contattare il server, ma assegna semplicemente dei numeri ordinali. Tuttavia, rimane la domanda sul perché si verifica l'errore 4051. Inoltre ho provato a mettere 0 in OrderSelect in combinazione con SELECT_BY_POS come primo parametro. La risposta è la stessa 4051.

Se non mi sbaglio, il tester di strategie genera biglietti semplicemente per coda d'ordine: 1,2,3...

ahimè, dovete cercare voi stessi l'errore 4051, ristampare tutte le variabili che passate a OrderSelect

In alternativa, hai già selezionato un ordine chiuso e il tempo di chiusura dell'ordine chiuso sarà >0,

Ma ancora consiglierei di iniziare a studiare con codici già esistenti (funzionanti), è stato più facile per me!

 
ski1973:
Grazie per il vostro aiuto! Il fatto è che l'ordine si è aperto. Ho controllato. Il biglietto è stato assegnato. Ma più avanti, quando ho provato a selezionarlo, ho ricevuto un messaggio -1. A differenza dell'esempio che hai fatto, non sto selezionando un simbolo ecc. Ho 1 ordine, con un lotto noto, una transazione, nessuno Stop Loss/Take Profit ecc. È in questo disegno (scelto per semplicità) che ottengo un errore 4051 quando uso il parametro SELECT_BY_TICKET. Capisco che usare SELECT_BY_POS in questo caso non è corretto. Questo era un esperimento per capire meglio come funziona lo strategy tester. Questo esperimento ha mostrato che il tester di strategia non assegna i ticket assegnati dal server quando non può contattare il server, ma assegna semplicemente dei numeri ordinali. Tuttavia, rimane la domanda sul perché si verifica l'errore 4051. Inoltre ho provato a mettere 0 in OrderSelect in combinazione con SELECT_BY_POS come primo parametro. La risposta è la stessa 4051.

Avete un problema nel vostro codice.

double Lots=0.01;
int slippage=30;


void OnTick()
{
int numer=-10;//На каждом новом тике из за этого присвоения процедура Subr2 будет возвращать ошибку!!!
if(OrdersTotal()==0)numer=Subr1();
if(OrdersTotal()>0)Subr2(numer);
return;
}

int Subr1()
{
int result=-1;
int_result=OrderSend(_symbol,OP_BUY,Lots,slippage,0,0);
if(int_res<0){PrintFormat("OrderSend error = ",GetError());}
return int_result;
}
void Subr2(int order)
{
if(!OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)){PrintFormat("OrderSelect error %d",GetLastError());return;} else PrintFormat("Ok, OrderTicket = ",OrderTicket());
}
 
ciao, qualche informazione sul fatto che mql4 sarà supportato in futuro, quando sembra che le vendite di mt4 si siano fermate?