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

 
vadynik:

Ich brauche die Formel), ich werde es morgen versuchen, danke!

Es war schon einmal hier, und zwar mehr als einmal. Das sollte helfen, sich zurechtzufinden:

Ich versuche herauszufinden, um wie viele Pips (in Pins) der Preis ins Minus gehen kann.
Formel: Lot=Geld/(Heftklammern*Tick)
Geld - verdient/verloren
Stoplos - Pips des Brokers
Tick - MarketInfo( MODE_TICKVALUE)
Von hier aus können Sie sich nach Belieben drehen:
Stopplus=Geld/(Lot*Tick)
Geld=Lot*Stoppplus*Tick


 
vitali-attila:
Hallo. Können Sie mir bitte sagen, wo die Datei mit den Kontoinformationen gespeichert ist? Ich muss die Stoplevel und die Streuung für den Strategietester ändern. Wenn es eine andere Möglichkeit gibt, teilen Sie mir diese bitte mit.
Das StopLevel ändert sich nicht, aber der Spread lässt sich in den Einstellungen des Strategy Testers leicht ändern - unter der Auswahl der Periode gibt es eine Auswahl der Spread-Größe
 
Mr.Profit:

Grüße, liebe Freunde!

Woher kenne ich den vollständigen Namen der Datei (mit Pfad), in die mein Expert Advisor/Skript mit FileOpen/FileWrite schreibt?

TerminalPath() + "\\\experts\\files\" auf Win7 x64 mit aktivierter UAC zeigt auf "C:\Program Files (x86)\Alpari Limited MT4\experts\files\", während ich gerne "C:\Benutzer\<AktuellerBenutzer>AppData\Local\VirtualStore\Programme (x86)\Alpari Limited MT4\experts\files\"

Taki - niemand weiß es?
 

Ich würde es mit fileopen("%userprofile%\AppData\Local\VirtualStore "+ die Zeile TerminalPath()+"\\experts\\files\\" abkürzen.

Besser noch, Sie schließen die Virtualisierung ab.

 
splxgf:

Ich würde es mit fileopen("%userprofile%\AppData\Local\VirtualStore "+ die Zeile TerminalPath()+"\\experts\\files\\" abkürzen.

Und es ist besser, mit der Virtualisierung abzuschließen.

Ich verstehe nichts von Virtualisierung... Dies alles geschieht auf einem normalen Win7-Computer, wenn überhaupt (nicht auf einer Virtualisierung).

Einen Teil des Pfades aus TerminalPath() auslesen und zu %userprofile% hinzufügen - Perversion, und es wird nur funktionieren, wenn Terminal in Programme installiert ist. Aber wenn es in X:\a\b\c\d installiert ist - welcher Teil des Pfades sollte zu %userprofiles% hinzugefügt werden?

 
artmedia70:

Es war schon einmal hier, und zwar mehr als einmal. Es sollte helfen, wenn Sie klug sind:

Wie kann man auf der Grundlage der verfügbaren Mittel und des Lots berechnen, um wie viele Pips (in Punkten) der Kurs ins Minus gehen kann??? hat jemand einen solchen Code???
Formel: Lot=Geld/(Heftklammern*Tick)
Geld - verdient/verloren
Stoplos - Pips des Brokers
Tick - MarketInfo( MODE_TICKVALUE)
Von hier aus können Sie sich nach Belieben drehen:
Stopplus=Geld/(Lot*Tick)
Geld=Lot*Stoppplus*Tick




Ja, es hat alles geklappt, danke!
 
Mr.Profit:

Über Virtualisierung - ein Missverständnis... Das alles findet auf einem normalen Win7-PC statt, wenn überhaupt (nicht auf einer Virtualisierung).

Einen Teil des Pfades aus TerminalPath() auslesen und zu %userprofile% hinzufügen - Perversion, und es wird nur funktionieren, wenn Terminal in Programme installiert ist. Aber wenn es in X:\a\b\c\d installiert ist - welcher Teil des Pfades sollte zu %userprofiles% hinzugefügt werden?

п.1. Deaktivieren Sie die UAC oder führen Sie das Programm als Administrator aus.

Was ist das Problem und warum benötigen Sie den vollständigen Pfad? Die Dateifunktionen in MT4 sind per se virtualisiert und auf das Verzeichnis experts\files beschränkt.

Wenn Sie die volle Funktionalität wünschen, gehen Sie zu windows api https://www.mql5.com/ru/forum/112692 oder siehe Punkt 1.

 
splxgf:

п.1. Deaktivieren Sie die UAC oder führen Sie das Programm als Administrator aus.

Was ist das Problem und warum benötigen Sie den vollständigen Pfad? Die Dateifunktionen in MT4 sind per se virtualisiert und auf das Verzeichnis experts\files beschränkt.

Wenn Sie die volle Funktionalität benötigen, gehen Sie zu windows api https://www.mql5.com/ru/forum/112692 oder siehe Punkt 1.

Mein Skript erzeugt eine Art von HTML-Bericht. Ich habe den unwiderstehlichen ( ;-) ) Wunsch, den Bericht automatisch in einem Browser zu öffnen, indem ich ShellExecuteA() aus shell32.dll aufrufe - dafür brauche ich den vollständigen Pfad.

Der Grund, warum ich Schritt 1 nicht anwenden will, ist, dass ich eine universelle Lösung möchte.

 
Nun, dann vielleicht versuchen, eine Datei mit win api (CreateFileA) zu erstellen, wird es höchstwahrscheinlich im Profilordner des Benutzers erstellt werden, und berechnen Sie dann den vollständigen Pfad aus dem Handle.
 

Leute, bitte überprüft die Funktion, ich habe einige Zweifel daran

void CloseHalfOrders(int otype) // ф-ция закрытия половины ордеров сетки
{
  int count = 0; double CTbuy = CountTrades(OP_BUY); double CTsell = CountTrades(OP_SELL);
  double n = NormalizeDouble (CTbuy/2,1); double k = NormalizeDouble (CTsell/2,1); 
  for (int i =0; i<OrdersTotal();)
  {
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
    {
       if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
       {
         if (otype == OP_BUY)
         {
           if (count<n)
           OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime);
           count++;
           Sleep(1000);
         } //if (otype == OP_BUY)
           if (otype ==OP_SELL)
           {
             if (count<k)
             OrderClose(OrderTicket(),OrderLots(),Ask,0,Lime);
             count++;
             Sleep(1000);
           }//if (otype ==OP_SELL)
         }//if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
           else i++;    
         }//if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       }//for (int i =0; i<OrdersTotal();)
     }//void CloseHalfOrders(int otype)