Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 620

 
Example2:


Ma c'è un controllose(OrderOpenPrice()!=ma2)


Che cos'èma2?
 
pu6ka:

Che cos'è ma2?

Significato dell'indicatore di slittamento
 
Example2:

Il valore dell'indicatore della barra scorrevole


Stampa il valore delle diapositive. A causa dei tick sulla barra zero, il valore della MA sulla seconda barra non cambia.

Qui avete ogni tick che entra e cambia lo stesso valore nell'ordine.

 
pu6ka:


Stampa il valore delle diapositive. A causa dei tick sulla barra zero, il valore della MA sulla seconda barra non cambia.

Qui avete ogni tick che entra e cambia lo stesso valore nell'ordine.


Ho semplicemente cambiato il controllo in if(OrderOpenPrice()!=NormalizeDouble(ma1,Digits) e l'errore è scomparso. Terrò conto del tuo commento comunque, grazie
 
artmedia70:
Poi fai attenzione al prezzo nell'ordine di scambio. Compra chiude a Bid, Vendi chiude a Ask. Non c'è nessun controllo per il tipo di ordine e quindi nessuna scelta di prezzo - o Ask o Bid


Solo le vendite sono aperte nell'EA. Ecco perché non l'ho specificato esplicitamente. O forse dovresti comunque specificarlo e potrebbe causare un errore. Ho chiuso una vendita su Ask.
 
001:

Nell'EA, solo le vendite sono aperte. Ecco perché non l'ho specificato esplicitamente. O dovrei specificarlo comunque, forse è la causa dell'errore? E sto chiudendo una vendita su Asc.

Magari provate in questo modo:

//+------------------------------------------------------------------+
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);
}
//+------------------------------------------------------------------+

Ho inserito un simbolo e una magia nelle variabili da passare. Non hai un assegno per loro.

 
Example2:

Ho semplicemente cambiato la verifica in if(OrderOpenPrice()!=NormalizeDouble(ma1,Digits) e l'errore è scomparso. Però terrò conto del tuo commento, grazie.
Beh, è un bene che l'abbiate scoperto. Anche se sui numeri reali è meglio confrontare la differenza, leggi il link. Per esempio, se MathAbs(OrderOpenPrice() - ma1) >= _Point
 
Ieri ho fatto una domanda sulla RSI multitemporale. Nessuno conosce la risposta? In realtà, la domanda stessa è quihttps://www.mql5.com/ru/forum/145455/page619#972686
 

Sto cercando di copiare il file programmaticamente, dallo script. Non funziona. Qual è il modo giusto?

#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:

Sto cercando di copiare il file programmaticamente, dallo script. Non funziona. Qual è il modo giusto?




#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");
}

Motivazione: