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

 
sergeev:

rechts erscheint es.

Sie müssen Bid und Ask aus der MarketInfo-Funktion übernehmen

wie - ask= MarketInfo(OrderSymbol(), MODE_ASK);

und vergessen Sie nicht zu normalisieren
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS));

 

Bitte sagen Sie mir, dass Sie den Normalisierungsprozess durchführen,

Erläutern Sie das bitte, wenn es Ihnen nichts ausmacht.

 
iv_danko:

Sagen Sie mir bitte, dass Sie hier den Normalisierungsprozess durchführen,

Und wozu dient es? Erklären Sie es uns, wenn es Ihnen nichts ausmacht.


double NormalizeDouble( double value, int digits)

Rundung einer Fließkommazahl auf die angegebene Genauigkeit.
Die berechneten StopLoss- und TakeProfit-Werte sowie die Eröffnungskurse der Pending Orders sollten auf die Genauigkeit normalisiert werden, deren Wert in der vordefinierten Variable Digits gespeichert wird.

Ein Fehler kann auftreten, wenn die Preise nicht normalisiert sind.

 
Vinin:

Entschuldigung. Ganz vergessen.

Danke für den Hinweis, aber das ist nicht dasselbe. Die Bedingung (ma13_0-ma55_0)*(ma13_1-ma55_1)<0 zeigt an, ob es eine Überkreuzung zwischen den Klappen gab oder nicht (ich habe dafür einen eigenen Indikator erstellt). Sie haben Eingaben durch Kreuzen, und das ist nicht ganz dasselbe. Ich möchte die Pfeile so filtern, dass nur der erste Pfeil nach der Richtungsänderung angezeigt wird.

Die Pfeile in Ihrem Indikator sind groß. Die kleinen sind von einem Indikator, der noch optimiert werden muss.

 
gince:


Ich füge hinzu. Es ist nicht gerade ein Kauf und Verkauf. Es handelt sich auch um eine Preisberechnung von Stop-Aufträgen.

 
iv_danko:

Bitte sagen Sie mir, dass Sie den Normalisierungsprozess durchführen,

Erläutern Sie das bitte, wenn es Ihnen nichts ausmacht.

 

Warum funktioniert diese Prüfung nicht?

for(int i=limit-1;i>=0;i--){ 
   flag[i] == flag[i+1];   
   if ( flag[i] == 1  &&   
        условие продажи){              
       Продажа[i] = High[i]+point*Point; 
       flag[i] == -1 ;
    }                     
    if (flag[i] == - 1  &&     условие покупки){          
              Покупка[i] = Low[i]-point*Point; 
              flag[i] == 1 ;}
    }
}    
 
Ich würde eine temporäre Rendering von flag[] Puffer tun und sehen, was darin ist. Auf einen Blick sind alle Werte darin gleich.
 
gince:

Warum funktioniert diese Prüfung nicht?

Ich denke, sie haben das Richtige getan.
 
granit77:
Ich würde eine temporäre Rendering von flag[] Puffer tun und sehen, was darin ist. Auf den ersten Blick wären alle Werte darin gleich.
Habe einen temporären Render des Puffers flag[] gemacht - er ist leer, warum? Wo liegt mein Fehler?
Dateien:
cross1_2.mq4  5 kb