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

 
vadynik:


Ich habe vielleicht nicht genau gefragt, was ich meinte, ich meine, wird die Funktion eine Magie sehen, die in einer globalen Variablen gesetzt ist

Natürlich wird es das.

Globale Variablen sind global, weil sie global sichtbar sind.

Was ist unklar?

----

aber den guten Sitten folgend - alle Parameter an die Funktion übergeben, was sie unabhängiger von der aufrufenden Umgebung macht.

Der Grund dafür ist, dass die Namen der Variablen innerhalb der Funktion von den globalen Variablennamen abstrahiert werden sollen.

 
Wenn solche Fragen auftauchen, frage ich im Frechev-Forum nach und bekomme eine Antwort, natürlich ist es schwer, aus den vielen Ratschlägen den richtigen auszuwählen.
 

sergeev:

yan720:


Können Sie mir sagen, ob AccountEquity() das Terminal oder den Broker abfragt?

zum Terminal

Ich danke Ihnen. Es scheint, dass diese Information mit jedem Paket an das Terminal gesendet wird...

Und wo kann ich sehen, welche Funktionen an den Broker und welche an das Terminal gerichtet sind? Oder gibt es vielleicht eine Liste von Daten (Variablen), die ständig vom Makler an das Terminal übertragen werden, und/oder solche, die bei einer separaten Anfrage empfangen werden müssen?

 
//|+-------------------------------------------------------------------------------------------------------+
int Accounting_Orders()
{
int Counter_Orders = 0;
//|+-------------------------------------------------------------------------------------------------------+
ArrayCopy (Massif_Old_Orders, Massif_New_Orders);
Counter_Orders = 0;
ArrayInitialize (Massif_New_Orders,0);
ArrayInitialize (Massif_All_Orders,0);
//|+-------------------------------------------------------------------------------------------------------+
for(int q = 0; q < OrdersTotal(); q++)
{
if( (OrderSelect(q,SELECT_BY_POS)==true) && (OrderSymbol() == Symbol()) )
{
Counter_Orders++;
Massif_New_Orders[Counter_Orders][1] = OrderOpenPrice();
Massif_New_Orders[Counter_Orders][2] = OrderStopLoss();
Massif_New_Orders[Counter_Orders][3] = OrderTakeProfit();
Massif_New_Orders[Counter_Orders][4] = OrderTicket();
Massif_New_Orders[Counter_Orders][5] = OrderLots();
Massif_All_Orders[OrderType()]++;
Massif_New_Orders[Counter_Orders][6] = OrderType();
Massif_New_Orders[Counter_Orders][7] = OrderMagicNumber();
//|+-------------------------------------------------------------------------------------------------------+
if ( OrderComment() == "" )
{
Massif_New_Orders[Counter_Orders][8] = Order_False;   
}
else
{
Massif_New_Orders[Counter_Orders][8] = Order_True;
}
//|+-------------------------------------------------------------------------------------------------------+
Massif_New_Order[0][0] = Counter_Orders;
//|+-------------------------------------------------------------------------------------------------------+
return;
  }
//|+-------------------------------------------------------------------------------------------------------+
Wie verwendet man die Funktion der Auftragsbuchhaltung, insbesondere die Arrays, aus denen sie besteht?

Option 1.
Ich nehme an, dass Sie bestimmte Arrays an bestimmten Stellen in den Code einfügen müssen.
Zum Beispiel:
OrderSend(Massif_New_Orders[Counter_Orders][4], // Уникальный номер 1.
Massif_New_Orders[Counter_Orders][6],           // Тип .
Massif_New_Orders[Counter_Orders][5],           // Кол - во лотов, при торге.
Massif_New_Orders[Counter_Orders][1],           // Тип части бара, на котором происходит открытие позиции.
10,                                             // Допустимое проскальзование.
Massif_New_Orders[Counter_Orders][2],           // Остановка потерь.
Massif_New_Orders[Counter_Orders][3],           // Принятие прибыли. 
Massif_New_Orders[Counter_Orders][7]);          // Уникальный номер 2.
Dann stellt sich mir eine andere Frage:

- Lohnt es sich überhaupt, Arrays zu verwenden? -.
Ich verstehe, dass Arrays für Variablen eines Typs verwendet werden, aber die Ordnungsfunktion "riecht" nicht nach Variablen eines Typs.

Option 2.
Ich denke, die bereits zugewiesene Array-Funktion wird aufgerufen, wenn gespeicherte Auftragsdaten verwendet werden müssen.
Zum Beispiel:

if(Old_Sistem = 12475)                         //Если расчет объема торга надо вести по объему торга предыдущих ордеров,
{                                              //то 
O_Lots = Massif_New_Orders[Counter_Orders][5]; //вызывается значение лота предыдущего ордера из накопленной информации о ордерах.
}                                              //Конец.
 
yan720:



Ich danke Ihnen. Es scheint, dass diese Informationen mit jedem Paket an das Endgerät übermittelt werden...

Und wo kann ich sehen, welche Funktionen an den Broker und welche an das Terminal gerichtet sind? Oder gibt es vielleicht eine Liste von Daten (Variablen), die ständig vom Makler an das Terminal übertragen werden, und/oder solche, die bei einer separaten Anfrage empfangen werden müssen?

Handelsfunktionen. Nur sie senden eine Anfrage an den Handelsserver und erhalten eine Antwort von ihm.
 
Link_x:
Wie verwendet man die Funktion der Auftragsbuchhaltung, insbesondere die Arrays, aus denen sie besteht?

Option 1.
Ich nehme an, dass Sie bestimmte Arrays an bestimmten Stellen in den Code einfügen müssen.
Zum Beispiel:
Dann stellt sich mir eine andere Frage:

- Lohnt es sich überhaupt, Arrays zu verwenden? -.
Ich verstehe, dass Arrays für Variablen eines Typs verwendet werden, aber die Ordnungsfunktion "riecht" nicht nach Variablen eines Typs.

Option 2.
Ich denke, die bereits zugewiesene Array-Funktion wird aufgerufen, wenn gespeicherte Auftragsdaten verwendet werden müssen.
Zum Beispiel:

Ich denke, das ist Zeitverschwendung. Alle Informationen über offene und geschlossene Aufträge werden im Terminal gespeichert. Warum sollte man sie in Arrays duplizieren? Es ist wichtig zu lernen, wie man sie aus dem Terminal extrahiert.
 
yan720:

Ich danke Ihnen. Es scheint, dass diese Informationen mit jedem Paket an das Terminal übermittelt werden...

Es ist keine Tatsache, dass Eigenkapital ständig übertragen wird.

Wahrscheinlicher ist, dass sie vom Terminal selbst auf der Grundlage Ihrer offenen Positionen berechnet wird.

Und wo kann man sehen, welche Funktionen an den Broker und welche an das Terminal gerichtet sind?

Nirgends. Benutzen Sie einfach Ihren gesunden Menschenverstand.

 
khorosh:
Ich denke, das ist Zeitverschwendung. Alle Informationen über offene und geschlossene Aufträge werden im Terminal gespeichert. Warum sollte man sie in Arrays duplizieren? Wichtig ist, dass Sie lernen, wie man sie aus dem Terminal extrahiert.


Solche Informationen werden wahrscheinlich durch einen bestimmten Befehl extrahiert.
Ist es OrderSend?
 
Link_x:

Diese Informationen werden wahrscheinlich durch einen bestimmten Befehl abgerufen.
Ist es OrderSend?
Dies ist das Senden einer Handelsanfrage an den Server.
 
Link_x:

Diese Informationen werden wahrscheinlich durch einen bestimmten Befehl abgerufen.
Ist es OrderSend?
Wenn Sie sich über die KimIV-Funktionen informieren, werden Sie feststellen, dass die meisten von ihnen dazu dienen, Informationen über offene oder geschlossene Aufträge abzurufen.