Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 841

 
Danke für die Antwort, aber ich meinte, welche mql4-Funktionen können verwendet werden, um dies zu implementieren?
 
MiroshA:
Danke für die Antwort, aber ich meinte, welche mql4-Funktionen können dies implementieren?
Verschiedene. Das hängt von dem Algorithmus ab, den Sie entwickeln wollen.
 

Hallo. Mein Expert Advisor ist mit vielen Währungspaaren verbunden und kauft bei den wahrscheinlichsten Pullbacks. Ich verwende globale Variablen für den Informationsaustausch zwischen den laufenden Kopien des EA. Die Daten werden jede Sekunde aktualisiert. Ich hatte die Idee, all diese Informationen in einer Datei zu speichern, aber ich habe es nicht getan, weil es zu oft auf das Flash-Laufwerk zurückgreifen würde.

Ich kann nicht wirklich denken, von einem Weg, um dies zu umgehen, ist der einzige Weg, um jede Währung auf eine bestimmte Zahl standardmäßig festgelegt und verwenden Sie die gleichen globalen Variablen zum Beispiel 01023334455, wo 01 ist USD, 02 ist EUR, 3, 4, 5 ist die Daten für den Austausch.

 
pycha:

Hallo. Mein Expert Advisor ist mit vielen Währungspaaren verbunden und kauft bei den wahrscheinlichsten Pullbacks. Ich verwende globale Variablen für den Austausch von Informationen zwischen den laufenden Kopien des EA. die Daten werden jede Sekunde aktualisiert. Ich hatte die Idee, all diese Informationen in einer Datei zu speichern, aber ich habe es nicht getan, weil es zu oft auf das Flash-Laufwerk zurückgreifen würde.

Ich kann nicht wirklich denken, von einem Weg, um dies zu umgehen, ist der einzige Weg, um jede Währung auf eine bestimmte Zahl standardmäßig festgelegt und verwenden Sie die gleichen globalen Variablen zum Beispiel 01023334455, wo 01 ist USD, 02 ist EUR, 3, 4, 5 ist die Daten für den Austausch.

Was ist mit dem Symbol im Variablennamen? Wenn es also eine solche GV-Variable gibt, ... ...und es ist möglich, einen Wert darin zu speichern. Auf diese Weise haben wir 1 Variable, die 2 Zwecken dient.

 

Ich möchte nur, dass die Software universeller ist. Auf diese Weise können Sie 01 -usd , 02 eur in eine Datei eingeben, und wenn Sie das usdaud-Fenster öffnen, wird es feststellen, dass aud nicht auf der Liste steht und ihm die Nummer 03 geben, wodurch die Informationen in der Datei gespeichert werden. auf diese Weise muss ich die Software nicht jedes Mal neu kompilieren, wenn ich eine neue Währung öffne, die noch nicht ausprobiert wurde.

 
AlexeyVik:

Aber was ist mit dem Einfügen eines Symbols in einen Variablennamen? Wenn es also eine solche GV-Variable gibt, ... ...und es kann ein Wert hineingeschrieben werden. Wir haben also 1 Variable, die 2 Zwecken dient.


Ich werde erklären, warum es nicht funktioniert. Einmal eine bestimmte Zeit, das Programm löscht alle seine Variablen, um unnötigen Müll zu entfernen, wenn überhaupt. GV1 GV2 und so weiter, bis es abläuft. so, wenn es eine Variable, die von einer anderen Kopie des Programms erstellt wird, wird es auch gelöscht werden, und sie sind nach 1 Sekunde wiederhergestellt. und wenn ich eine Variable durch ein Symbol benennen, muss ich durch alle möglichen Symbolvariationen gehen, um alle zu entfernen.



Meine Frage ist - gibt es noch andere Tricks außer GV-Variablen, die es ermöglichen, Daten von einer Instanz eines Programms an eine andere durch das Betriebssystem zu übergeben?

 
pycha:

Ich möchte nur, dass die Software universeller ist. Auf diese Weise können Sie 01 -usd , 02 eur in eine Datei eingeben, und wenn Sie das usdaud-Fenster öffnen, wird es feststellen, dass aud nicht auf der Liste steht und ihm die Nummer 03 geben, wodurch die Informationen in der Datei gespeichert werden. auf diese Weise muss ich die Software nicht jedes Mal neu kompilieren, wenn ich eine neue Währung öffne, die noch nicht ausprobiert wurde.


Warum muss ich sie neu zuweisen? Es gibt eine Liste von Symbolen. Sie ist unabhängig von der Sortierung. Es stellt sich heraus, dass Sie die Symbolnummer in der Liste finden und sie verwenden können.
 
OK, ich danke Ihnen allen
 
pycha:

Ich werde erklären, warum es nicht funktioniert. einmal für eine bestimmte Zeit das Programm löscht alle seine Variablen, um unnötigen Müll zu entfernen, wenn überhaupt. GV1 GV2 und so weiter, bis es abläuft. also, wenn es eine Variable von einer anderen Kopie des Programms erstellt wird es auch gelöscht werden, und sie sind nach 1 Sekunde wiederhergestellt. und wenn Sie einen Variablennamen durch ein Symbol zu machen, müssen Sie durch alle möglichen Symbol Variationen gehen, um alle zu entfernen.



Meine Frage ist - gibt es noch andere Tricks außer GV-Variablen, die es ermöglichen, Daten von einer Kopie des Programms zu einer anderen über RAM zu übertragen?

Nun, dann versuchen Sie, eine Struktur in einer Bibliothek zu erstellen, zu füllen und von dort aus zu lesen.
 

Guten Abend, helfen Sie mir, den Code unten zu verstehen, verkaufen ist auf dem gleichen Prinzip geschrieben, warum drei Optionen zu öffnen, weil ich mit der Option zu fummeln, um zu vermeiden, eine Bestellung zu öffnen, dann - wenn die Bestellung öffnet auf der aktuellen Bar und schließt auf einem no draw,

und das Signal bleibt und öffnet sich wieder, so dass ich es so schreiben musste. Das Problem besteht darin, dass nur ein Kauf- und Verkaufsauftrag eröffnet wird und alle anderen schweigen. Ich bin Ihnen im Voraus dankbar.

//+------------------------------------------------------------------+
//| 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 успешно выполнена");
}
}
}