[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 501

 
baykanur:

src eingefügt

Ich weiß nicht, was kommentiert wurde

es gibt eine Diskrepanz in der Anzahl der profitablen Geschäfte im Strategy Tester.

In dieser Form (ohne Kontrolle der Eröffnung eines neuen Balkens) testen Sie NUR nach dem Modell: "Alle Ticks..." im Strategietester.

Verwenden Sie die Indikatorwerte am 0. Balken nicht, wenn Sie nicht die Eröffnungskurse, sondern die Schlusskurse verwenden, d.h. ändern Sie diesen Teil des Codes - setzen Sie 1 statt 0

 
      MA2 = iMA(NULL,0,2,0,MODE_SMA,PRICE_CLOSE,1);
      MA3 = iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1);
      Fr = iForce(NULL,0,2,MODE_SMA,PRICE_CLOSE,1);

oder offene Preise verwenden, d.h.

 
      MA2 = iMA(NULL,0,2,0,MODE_SMA,PRICE_OPEN,0);
      MA3 = iMA(NULL,0,5,0,MODE_SMA,PRICE_OPEN,0);
      Fr = iForce(NULL,0,2,MODE_SMA,PRICE_OPEN,0);
 
griha:
Guten Tag,
1. ich möchte eine Position für 3-4% meines Kontos entsprechend meiner Geldverwaltung eröffnen. Gibt es einen Rechner zur Berechnung der erforderlichen Losgröße für jedes Paar (oder zumindest für die gängigsten Paare)? Oder wie berechne ich manuell die Losgröße, zum Beispiel für EURUSD?
2. In der Terminal-Hilfe wird nicht erklärt, was der auf der Registerkarte "Terminal/Handel" berechnete "Level" ist. Wer kann erklären, was das bedeutet?

Maximales Lot, das Sie auf alle Einlagen eröffnen können (siehe Code). Im Allgemeinen ist es richtiger, mit zwei Parametern zu beginnen: Stopps und Hebelwirkung.

double MaxmaxLots(int cmd) 
{
    double result = 0;
    double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
    double v = MarketInfo(Symbol(), MODE_MINLOT);
    double mult = 100;
    
    while (true) {
        if (AccountFreeMarginCheck(Symbol(), cmd, v + lotStep * mult) > 0) { 
            v = v + lotStep * mult;
        } else {
            mult = mult / 10;
            
            if (mult < 1) {
                if (AccountFreeMarginCheck(Symbol(), cmd, v) > 0) { 
                    result = v;
                }
                break;
            }
        }
    }
    
    return(result);
}         
 
Ein kleiner Vorschlag an die Admins: eine Schaltfläche zu machen - beantwortet Frage (wenn jemand es beantwortet), und wenn nicht beantwortet, die Priorität Fragen waren an der Spitze der Bewertung. Obwohl es wahrscheinlich schwierig ist - Programmieren im Allgemeinen ist nicht einfach :) Ich kann, natürlich, unbeantwortete Frage, duplizieren 10 mal, aber was gut - das Forum wird nicht von der semantischen Inhalt wachsen, und unnötige Duplikate.
 

Hallo !!!! Helfen Sie mir, ein Problem zu lösen. Zwei Indikatoren in einem Fenster CCI und MACD, einer mit festen Werten, der andere mit gleitenden Höchst- und Mindestwerten. Wie kann man beides in Bezug auf den CCI-Nullpunkt automatisieren?

 

Können Sie mir sagen, wie ich nur einen Auftrag pro Zeitraum eröffnen kann? Zum Beispiel gibt es einen Abschnitt zwischen Balken 1 und Balken 20. In diesem Zeitraum sollte für jedes Fraktal ein Auftrag eröffnet werden, und zwar ein Auftrag für jedes Fraktal. Wie lässt sich das bewerkstelligen?

 
sss2019:

Können Sie mir sagen, wie ich nur einen Auftrag pro Zeitraum eröffnen kann? Zum Beispiel gibt es einen Abschnitt zwischen Balken 1 und Balken 20. In diesem Zeitraum sollte für jedes Fraktal ein Auftrag eröffnet werden, und zwar ein Auftrag für jedes Fraktal. Wie lässt sich das bewerkstelligen?

Der Auftrag wird auf dem aktuellen Balken eröffnet. Haben Sie ein Fraktal auf dem aktuellen Balken gesehen?
 
artmedia70:
Der Auftrag wird auf dem aktuellen Balken eröffnet. Haben Sie ein Fraktal auf dem aktuellen Balken gesehen?

Es können mehrere Aufträge auf der aktuellen Leiste geöffnet werden. Die schwebenden Aufträge werden zu den Preisen der Fraktale eröffnet, die innerhalb einer bestimmten Zeitspanne gefunden wurden: die unteren sind zum Verkauf und die oberen zum Kauf bestimmt. Wir sollten einen Auftrag für ein Fraktal eröffnen.
 
sss2019:

In der aktuellen Leiste können mehrere Aufträge geöffnet werden. Die schwebenden Aufträge werden zu den Fraktalpreisen eröffnet, die während des Zeitraums gefunden wurden, die unteren sind zum Verkauf und die oberen zum Kauf. Wir sollten einen Auftrag für ein Fraktal eröffnen.

Wenn Sie davon sprechen, dass Sie schwebende Aufträge erteilen wollen, verstehe ich Sie nicht. Einen Auftrag zu eröffnen bedeutet, eine Marktposition zu eröffnen, wie ich es verstehe. Einen Auftrag zu erteilen, bedeutet, einen schwebenden Auftrag zu erteilen.

Stellen Sie auf diese Weise einen Scheck aus. Finden Sie ein Fraktal, finden Sie seinen Preis und seine Zeit.
Prüfen Sie, ob es einen schwebenden Auftrag gibt, dessen Preis dem Fraktalpreis entspricht, und ob der Auftrag zum Zeitpunkt des Balkens mit dem Fraktal erteilt wird.
Wenn nicht, legen Sie eine fest.

 
artmedia70:

Wenn Sie von der Platzierung schwebender Aufträge sprechen, kann ich Sie nicht verstehen. Einen Auftrag zu eröffnen bedeutet, eine Marktposition zu eröffnen, wie ich es verstehe. Einen Auftrag zu erteilen, bedeutet, einen schwebenden Auftrag zu erteilen.

Stellen Sie auf diese Weise einen Scheck aus. Finden Sie ein Fraktal, finden Sie seinen Preis und seine Zeit.
Prüfen Sie, ob es einen gesetzten Auftrag mit dem Preis gleich dem Fraktalpreis und der Zeit des Balkens mit dem Fraktal gibt.
Wenn nicht, platzieren Sie es.


Wenn es zwei Fraktale mit dem gleichen Preis gibt, sollten wir zwei Aufträge eröffnen, aber nur ein Auftrag wird eröffnet. Und wenn wir nur nach der Zeit prüfen, dann werden bei der Eröffnung einer neuen Kerze die wiederholten Aufträge durch dieselben Fraktale eröffnet.
 
sss2019:

Und wenn es zwei Fraktale mit demselben Preis gibt, sollten wir zwei Orders eröffnen, wobei nur eine Order eröffnet wird. Und wenn wir nur nach der Zeit prüfen, dann werden bei der Eröffnung einer neuen Kerze die wiederholten Aufträge durch dieselben Fraktale eröffnet.

Deshalb müssen wir uns den Preis und die Zeit des Fraktals merken. Wenn der Zeitpunkt des Fraktals, für den bereits eine Bestellung aufgegeben wurde, mit dem Zeitpunkt des Fraktals übereinstimmt, müssen wir nichts mehr aufgeben; die Bestellung liegt bereits vor. Wenn der Zeitpunkt des gefundenen Fraktals nicht mit dem Zeitpunkt des Fraktals übereinstimmt, für das bereits eine Bestellung aufgegeben wurde, handelt es sich um ein neues Fraktal und es muss eine weitere Bestellung aufgegeben werden, auch wenn die Preise der beiden Fraktale gleich sind.

Wir verwenden die Zeit eines Fraktals, um festzustellen, ob ein Auftrag für dieses Fraktal erteilt wird oder nicht. Und wir verwenden den Preis des Fraktals, um den Eröffnungskurs des schwebenden Auftrags zu bestimmen