[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 39

 
Cod:

Und hier erhöht die GA die Anzahl der Läufe? Ist das möglich?

Ups!

Äußerst interessanter Fall...)

 
DhP:

Wow!

Äußerst interessanter Fall...)


Nicht mehr Optionen als möglich
 

Danke, ich habe es nachgeschlagen, aber nichts verstanden. Zum Beispiel:

Ein Geschäft wird nicht ausgeführt, wenn eine der genannten Anforderungen verletzt wird

SellLimit

1) OpenPrice-Gebot StopLevel

2) SL-OpenPrice ≥StopLevel(weiter im Beispiel)

3) OpenPrice-TP ≥ StopLevel

Was bedeutet "Handelsvorgang wird nicht ausgeführt"? Wenn ein schwebender Auftrag nicht erteilt (akzeptiert) wird oder wenn er bereits erteilt wurde, funktioniert er nicht (was passiert mit ihm - wird er vom Broker gelöscht)? Ich wiederhole die Frage: Wenn sich die Bedingungen geändert haben und eine erfolgreich platzierte Order eine Stunde später z.B. den SL-OpenPrice in hat, der sich in diesem Moment geändert hat StopLevel, was passiert dann mit ihr?

Und noch eine Frage. Nehmen wir an, die Spanne betrug 2 und hat sich auf 7 Punkte erhöht. Was bedeutet das - hat sich der Geld- oder Briefkurs geändert, oder wählt der Makler ihn willkürlich nach eigenem Ermessen?

 

Beim Versuch, eine Include-Datei (*.mqh) zu kompilieren, tritt der Fehler '\end_of_program' - no function defined auf. Was ist los und wie kann man es beheben?

extern double Lots = 0.0;
extern int Percent = 0;
extern int StopLoss = 100;
extern int TakeProfit = 40;
extern int TrailngStop = 100;

int Level_New;
int Level_Old;

 

Ich habe mir das Cover des STUDY-Buches von allen Seiten angesehen und verstehe immer noch nichts...))

Ich sehe es überall so geschrieben:

int Ticket = OrderSend(...);

Ist die folgende Schreibweise angemessen, wenn ich Price = OrderOpenPrice() für die weitere Verarbeitung und das Setzen von Stops erhalten möchte?

double Price = OrderSend(...);

Für mich funktioniert es, aber ist das akzeptabel?

 
Vinin:

Keine eingebauten Funktionen, Sie müssen nur Ihren eigenen Assistenten mit Berechnungszeitraum in Abhängigkeit vom Zeitrahmen schreiben
Kein Problem... Doch wie lässt sich der aktuelle Wert von TF im Code ermitteln?
 

Einen guten Tag an Sie alle!

Ich schreibe zum ersten Mal, falls etwas falsch ist, tut es mir leid.

Frage: Warum gibt die Funktion (siehe unten) den Fehler: 'A' - array item cannot be assigned?

double get_init_values(double A[], int index){

int size = 0;

size = ArraySize(A);

if (size < index){

return (0);

}else{

A [index] = Ask;

return (A);
}

}
Vielen Dank im Voraus!
 
Saltan:

Beim Versuch, eine Include-Datei (*.mqh) zu kompilieren, tritt der Fehler '\end_of_program' - no function defined auf. Was ist los und wie kann man es beheben?

Sie müssen sich nicht anstrengen! Die .mqh-Dateien werden im Include-Verzeichnis abgelegt und liegen dort einfach still und leise. Wenn Sie den EA kompilieren, in dem sie geschrieben sind, fügt der Compiler automatisch die erforderlichen Codeelemente zusammen und kompiliert sie gemeinsam.
Wenn Sie versuchen, .mqh separat zu kompilieren, versucht der Compiler, den Typ des Produkts (Expert Advisor, Indikator...) zu bestimmen und beginnt zu fragen: "Wo haben Sie angefangen?
Sie sollten sich mit .mqh befassen, wenn bei der ordnungsgemäßen Kompilierung Fehler auftreten.
 

Ich habe einen neuen Block in meinen EA eingefügt, um die Losgröße der zu eröffnenden Position zu berechnen. Die Idee ist die folgende:

1. Der Stop wird bei einer Verkaufsposition auf den Höchststand des aktuellen Tages und bei einer Kaufposition auf den Tiefststand des Tages gesetzt.

2. Wenn die Bedingung für die Eröffnung des Auftrags eintritt, wird dieser Block für die Losberechnung ausgeführt. Der Abstand zum Höchst-/Tiefstwert des Tages in Punkten wird berechnet, und ich durchlaufe die Lots ab 0,1, um das benötigte Lot zu finden (5%, wenn ein Stop ausgelöst wurde)

Im Protokoll erscheinen jedoch diese Zeilen:

2011.01.30 16:59:47 TestGenerator: Nicht übereinstimmende Datenfehler (Volumengrenze 1107 am 2011.01.13 14:45)

Sobald ich das Gerät ausschalte, ist alles in Ordnung. Wo liege ich falsch? Bitte beraten Sie mich.

Hier ist der Code selbst:

double Balance = AccountBalance();
    double DistanceToHighDay = MathAbs(HighDay-Ask)*10000;
    double DistanceToLowDay  = MathAbs(Bid-LowDay)*10000;
    double ExpectedSellLoss;
    double ExpectedBuyLoss;
    double ExpectedSellRisk;
    double ExpectedBuyRisk;
    double LotSell;
    double LotBuy;
    int     Risk = 5;
   
    // Расчёт лота для Sell
    for(int i=0.1; ExpectedSellRisk<Risk; i=i+0.1)
       {
        ExpectedSellLoss = DistanceToHighDay*i*10;         // ожидаемый убыток в $
        ExpectedSellRisk = (ExpectedSellLoss*100)/Balance; // ожидаемый убыток в %
        LotSell=i;
       }
       
    // Расчёт лота для Buy
    for(i=0.1; ExpectedBuyRisk<Risk; i=i+0.1)
       {
        ExpectedBuyLoss = DistanceToLowDay*i*10;         // ожидаемый убыток в $
        ExpectedBuyRisk = (ExpectedBuyLoss*100)/Balance; // ожидаемый убыток в %
        LotBuy=i;
       }
 
Ich lerne mql4, ich kann nicht schreiben, ein einfaches Volumen-Indikator, d.h. es berechnet, wie viele Ticks in jedem bar sind, wenn jemand eine hat, bitte teilen Sie es. Wenn jemand es speziell schreibt, vielen Dank.
Grund der Beschwerde: