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

 
Grazie per la risposta, ma intendevo quali funzioni di mql4 possono essere usate per implementare questo?
 
MiroshA:
Grazie per la risposta, ma volevo dire quali funzioni di mql4 possono implementare questo?
Diversi. A seconda dell'algoritmo che si decide di sviluppare.
 

Salve, il mio Expert Advisor è collegato a molte finestre di coppie di valute e compra ai pullback più probabili. uso variabili globali per lo scambio di informazioni tra le copie in esecuzione dell'EA. i dati vengono aggiornati ogni secondo. Ho avuto l'idea di salvare tutte queste informazioni in un file, ma non l'ho fatto perché si ricorrerebbe troppo spesso al flash drive.

Non riesco a pensare a un modo per aggirare questo, l'unico modo è quello di impostare ogni valuta su un numero specifico di default e utilizzare le stesse variabili globali per esempio 01023334455 dove 01 è USD, 02 è EUR, 3, 4, 5 sono i dati per il cambio.

 
pycha:

Salve, il mio Expert Advisor è collegato a molte finestre di coppie di valute e compra ai pullback più probabili. uso variabili globali per lo scambio di informazioni tra le copie in esecuzione dell'EA. i dati vengono aggiornati ogni secondo. Ho avuto l'idea di salvare tutte queste informazioni in un file, ma non l'ho fatto perché si ricorrerebbe troppo spesso al flash drive.

Non riesco a pensare a un modo per aggirare questo, l'unico modo è quello di impostare ogni valuta su un numero specifico di default e utilizzare le stesse variabili globali per esempio 01023334455 dove 01 è USD, 02 è EUR, 3, 4, 5 sono i dati per il cambio.

E il simbolo nel nome della variabile? Di conseguenza, se esiste una tale variabile GV ... ...ed è possibile memorizzarvi un valore. In questo modo, abbiamo 1 variabile che serve a 2 scopi.

 

Voglio solo che il software sia più universale. in questo modo si può mettere 01 -usd , 02 eur in un file e quando si apre la finestra usdaud troverà che aud non è nella lista e gli darà il numero 03, salvando le informazioni nel file. in questo modo non ho bisogno di ricompilare il software ogni volta che apro una nuova valuta che non è stata provata

 
AlexeyVik:

Ma che dire dell'inserimento di un simbolo in un nome di variabile? Corrispondentemente, se esiste una tale variabile GV ... ...e vi si può scrivere un valore. Quindi, abbiamo 1 variabile che serve a 2 scopi.


Spiegherò perché non funziona. una volta un certo tempo, il programma cancella tutte le sue variabili per rimuovere la spazzatura inutile, se c'è. GV1 GV2 e così via fino all'esaurimento. quindi se c'è una variabile creata da un'altra copia del programma, anche questa sarà cancellata, e vengono ripristinate dopo 1 secondo. e se nomino una variabile con un simbolo, devo passare attraverso tutte le possibili variazioni del simbolo per rimuoverle tutte.



La mia domanda è - ci sono altri trucchi oltre a GV - variabili che permettono di passare dati da un'istanza di un programma a un'altra attraverso il sistema operativo?

 
pycha:

Voglio solo che il software sia più universale. in questo modo si può mettere 01 -usd , 02 eur in un file e quando si apre la finestra usdaud troverà che aud non è nella lista e gli darà il numero 03, salvando le informazioni nel file. in questo modo non ho bisogno di ricompilare il software ogni volta che apro una nuova valuta che non è stata provata


Perché devo riassegnarlo? C'è una lista di simboli. È indipendente dall'ordinamento. Si scopre che si può trovare il numero del simbolo nella lista e usarlo.
 
OK, grazie a tutti
 
pycha:

Spiegherò perché non funziona. una volta per un certo tempo il programma cancella tutte le sue variabili per rimuovere la spazzatura inutile, se c'è. GV1 GV2 e così via fino a quando non si esaurisce. così, se c'è una variabile creata da un'altra copia del programma sarà anche cancellata, e vengono ripristinate dopo 1 secondo. e se si fa un nome variabile da un simbolo, si deve passare attraverso tutte le possibili variazioni di simbolo per rimuovere tutti i .



La mia domanda è - ci sono altri trucchi oltre a GV - variabili che permettono di trasferire dati da una copia del programma a un'altra via RAM?

Allora provate a fare una struttura in una biblioteca, riempire e leggere da lì.
 

Buona sera, aiutatemi a capire il codice qui sotto, vendere è scritto sullo stesso principio, perché tre opzioni per aprire, perché ho dovuto armeggiare con l'opzione per evitare di aprire un ordine poi - quando l'ordine si apre sulla barra corrente e si chiude su un no draw,

e il segnale rimane e si apre di nuovo, quindi ho dovuto scriverlo così. Il problema è che solo un ordine di acquisto e di vendita è aperto e tutto il resto è silenzioso. Vi sono grato in anticipo.

//+------------------------------------------------------------------+
//| Open Order Buy                                                   |
//+------------------------------------------------------------------+
if (!OrdersTotal()==true)
{
if (PLO0>S0 && PLO1<=S1 && PLO2<S2)
if (!OrdersHistoryTotal()==true)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
if (OrdersHistoryTotal()==true)
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderCloseTime()>0 && OrderType()==OP_BUY && OrderSymbol()==Symbol()&& PLO0>S0 && PLO1<=S1 && PLO2<S2 && OrderCloseTime()< Time[0])
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
if (OrdersHistoryTotal()==true)
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderCloseTime()>0 && !OrderType()==OP_BUY && OrderSymbol()==Symbol()&& PLO0>S0 && PLO1<=S1 && PLO2<S2)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
}
Motivazione: