[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 74
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ein Feld von 8 Punkten ist M[8][2] und nicht M[8][8].
Sind "alle drei" die Vorausgewählten, oder was?
Nun, ja, das Feld ist natürlich M[8][2]. Drei beliebige aus dem Array, die im Berechnungsprozess definiert werden müssen. Wir können es etwas anders formulieren: Wir müssen die Koordinaten des Mittelpunkts eines Kreises und die Koordinaten von drei Punkten finden, die so nahe wie möglich an diesem Kreis liegen.
Und dann OrderOpenPrice() .
so dass es sich von selbst definiert?
damit er sie selbst identifizieren kann?
Sie sehen die offenen Aufträge durch, und für jeden Auftrag gibt der Befehl OrderOpenPrice() den Wert des Preises an, zu dem der Auftrag eröffnet wurde.
Weisen Sie seinen Wert einer Variablen zu und verwenden Sie ihn.
Kurz gesagt, das Problem läuft auf Folgendes hinaus: Es gibt drei Punkte. Man muss einen Kreis mit dem Radius r so zeichnen, dass die Summe der Quadrate der Abstände zwischen ihnen und dem Kreis minimal ist.
Das ist wirklich eine große Aufgabe, die man nicht in einem Wimpernschlag erledigen kann. Ein Kreis ist keine gerade Linie. Welche der beiden Entfernungen zu wählen ist, ist keineswegs offensichtlich.
Nun, hier ein konkretes Beispiel:
Zeigen Sie die richtige Anordnung.
Was meinen Sie mit "er wird es erkennen"?
Sie sehen die offenen Aufträge durch, und für jeden Auftrag gibt der Befehl OrderOpenPrice() den Wert des Preises an, zu dem der Auftrag eröffnet wurde.
Weisen Sie seinen Wert einer Variablen zu und verwenden Sie ihn.
Ich habe es so verstanden. Es wird einfach automatisch eingestellt und zur Überprüfung verwendet. ?
for(cnt=0;cnt<gesamtzahl;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()== OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum2)
{
if ( Ask>(OrderOpenPrice()+(AD1*Point) )
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Black);
return(0);
}
Scheint es richtig zu sein?
Ich habe es so verstanden. Es wird einfach automatisch eingestellt und zur Überprüfung verwendet. ?
for(cnt=0;cnt<gesamtzahl;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()== OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum2)
{
if ( Ask>(OrderOpenPrice()+(AD1*Point) )
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Black);
return(0);
}
Scheint es richtig zu sein?
Nicht ganz. Und wenn kein Auftrag ausgewählt wird? Wo befindet sich die Preisnormalisierung beim Senden eines Handelsauftrags?
Die Aufträge werden in einer Schleife geschlossen , was bedeutet, dass die Suche nicht bei Null, sondern bei OrdersTotal()-1 bis >=0 beginnen sollte.
Kurz gesagt, das Problem lässt sich wie folgt zusammenfassen: Es gibt drei Punkte. Man muss einen Kreis mit dem Radius r so zeichnen, dass die Summe der Quadrate der Abstände zwischen ihnen und dem Kreis minimal ist.
Das ist wirklich eine große Aufgabe, die man nicht in einem Wimpernschlag erledigen kann. Ein Kreis ist keine gerade Linie. Welche der beiden Entfernungen zu wählen ist, ist keineswegs offensichtlich.
Nun, ein konkretes Beispiel:
Zeigen Sie die richtige Anordnung.
Ich glaube schon:
Elenn: Думаю, что так:
Nein, eine solche Aufgabe werde ich nicht übernehmen. Bei der Berechnung selbst müssen Sie entscheiden, welche Entfernungen Sie nehmen wollen (es gibt zwei Entfernungen von jedem Punkt zum Kreis). Nichts Schönes.
Vielleicht kann GA helfen, das lokale Minimum zu finden. Aber darin bin ich nicht gut.
P.S. Sie haben die Zielfunktion nicht angegeben - Summe der Quadrate der Abstände oder Summe der Abstände selbst.
Das ist wirklich eine große Aufgabe, die man nicht in einem Wimpernschlag erledigen kann. Ein Kreis ist keine gerade Linie.