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

 
Example2:


Es gibt jedoch eine Prüfungif(OrderOpenPrice()!=ma2)


Was istma2?
 
pu6ka:

Was ist ma2?

Bedeutung des Schlupfanzeigers
 
Example2:

Der Wert des Schiebebalkenanzeigers


Drucken Sie den Wert der Folien aus. Aufgrund der Ticks auf dem Null-Balken ändert sich der Wert des MA auf dem zweiten Balken nicht.

Hier kommt jedes Häkchen herein und ändert denselben Wert in der Reihenfolge.

 
pu6ka:


Drucken Sie den Wert der Folien aus. Aufgrund der Ticks auf dem Null-Balken ändert sich der Wert des MA auf dem zweiten Balken nicht.

Hier kommt jedes Häkchen herein und ändert denselben Wert in der Reihenfolge.


Ich habe die Prüfung einfach in if(OrderOpenPrice()!=NormalizeDouble(ma1,Digits) geändert und der Fehler ist verschwunden. Ich werde Ihren Kommentar jedoch berücksichtigen, danke.
 
artmedia70:
Achten Sie dann auf den Preis im Handelsauftrag. Kauf schließt zum Geldkurs, Verkauf schließt zum Briefkurs. Sie haben dort keine Prüfung der Auftragsart und daher keine Preisauswahl - entweder Ask oder Bid


Im EA werden nur Verkäufe eröffnet. Deshalb habe ich sie nicht ausdrücklich genannt. Oder Sie sollten es trotzdem angeben, vielleicht hat es einen Fehler verursacht. Ich habe einen Verkauf auf Ask abgeschlossen.
 
001:

Im EA werden nur Verkäufe eröffnet. Deshalb habe ich das auch nicht explizit angegeben. Oder sollte ich es trotzdem angeben, vielleicht ist es die Fehlerursache? Und ich schließe einen Verkauf bei Asc ab.

Versuchen Sie es vielleicht so:

//+------------------------------------------------------------------+
bool CheckForLongetivityClose_Sell(int symbol, int magic) {
   if(DayOfWeek()==0 || DayOfWeek()==6) return;
   for(int i=OrdersTotal()-1; i>=0; i--) {
      if(OrderSelect(i,SELECT_BY_POS)) {
         if(OrderMagicNumber()!=magic) continue;
         if(OrderSymbol()!=symbol)     continue;
         if(OrderType()!=OP_SELL)      continue;
         datetime openTime_S= OrderOpenTime();
         int timeDistance_S = TimeCurrent()-openTime_S;
         if(timeDistance_S>60*BarrierMinute_S) {
            if(OrderClose(OrderTicket(),OrderLots(),Ask,3,clrRed)) return(true);
            }
         }
      }
   return(false);
}
//+------------------------------------------------------------------+

Ich habe ein Symbol und eine Magie in die zu übergebenden Variablen eingegeben. Sie haben keinen Scheck für sie.

 
Example2:

Ich habe die Überprüfung einfach in if(OrderOpenPrice()!=NormalizeDouble(ma1,Digits) geändert und der Fehler ist verschwunden. Ich werde Ihren Kommentar aber berücksichtigen, danke.
Nun, es ist gut, dass Sie das herausgefunden haben. Obwohl es bei realen Zahlen besser ist, den Unterschied zu vergleichen, lesen Sie den Link. Zum Beispiel, wenn MathAbs(OrderOpenPrice() - ma1) >= _Point
 
Gestern habe ich eine Frage zum RSI mit mehreren Zeitskalen gestellt. Weiß denn niemand die Antwort darauf? Die Frage selbst ist hierhttps://www.mql5.com/ru/forum/145455/page619#972686
 

Ich versuche, die Datei programmatisch aus dem Skript zu kopieren. Das funktioniert nicht. Was ist der richtige Weg?

#import  "shell32.dll"
    int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); 
#import

int Copyini;

int start()
   {
    //-------------------------- Cкопируем ini файл в песочницу Тестера ----------
    //Copyini = ShellExecuteA(0, "Open", "xcopy", "\""+PuthTerminal+FileOptim1+"\" \""+PuthTester_h+"\" /y", "", 3);
    //Copyini = ShellExecuteA(0,"Open","xcopy","D:\Alpari_Terminal\MQL4\Files\optimise.ini D:\Alpari_Terminal_Tester\tester\optimise.ini /y","",3);
    //Copyini = ShellExecuteA(0,"Open","xcopy","D:\Alpari_Terminal\MQL4\Files\optimise.ini D:\Alpari_Terminal_Tester\tester /y","",3);
      Copyini = ShellExecuteA(0,"Open","xcopy","D:\Alpari_Terminal\MQL4\Files\optimise D:\Alpari_Terminal_Tester\tester /y","",3);

    return(0);
   }
 
Leo59:

Ich versuche, die Datei programmatisch aus dem Skript zu kopieren. Das funktioniert nicht. Was ist der richtige Weg?




#import "kernel32.dll"
  bool CopyFileW
       ( string lpExistingFileName,         // Имя файла источника
         string lpNewFileName,              // Имя нового файла
         bool   bFailIfExists );            // Не перезаписывать
#import




if (CopyFileW(srcFile , dstFile , False)) 
{

}
else
   ... ошибка



// под ваш случай

CopyFileW( "D:\\Alpari_Terminal\\MQL4\\Files\\optimise.ini" "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini", False);

// или 

string sFileSRC =  "D:\\Alpari_Terminal\\MQL4\\Files\\optimise.ini";
string sFileDST =  "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini;
if ( CopyFileW( sFileSRC,  sFileDST , False) )
{

}
else
{
   printf("error");
}