Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 620

 
Example2:


Mas há uma verificaçãose(OrderOpenPrice()!=ma2)


O que éma2 ?
 
pu6ka:

O que é ma2 ?

Significado do indicador de escorregamento
 
Example2:

O valor do indicador da barra deslizante


Imprima o valor dos slides. Por causa dos carrapatos na barra zero, o valor do MA na segunda barra não muda.

Aqui você tem cada carrapato entrando e mudando o mesmo valor na ordem.

 
pu6ka:


Imprima o valor dos slides. Por causa dos carrapatos na barra zero, o valor do MA na segunda barra não muda.

Aqui você tem cada carrapato entrando e mudando o mesmo valor na ordem.


Eu simplesmente mudei a verificação para if(OrderOpenPrice()!=NormalizeDouble(ma1,Digits) e o erro desapareceu. Mas vou levar em conta seu comentário, obrigado
 
artmedia70:
Em seguida, preste atenção ao preço na ordem comercial. Comprar fecha na Bid, Vender na Ask. Você não tem nenhum tipo de cheque para o tipo de pedido lá e, portanto, nenhuma escolha de preço - Pergunte ou Licite


Somente as vendas são abertas no EA. É por isso que eu não o especifiquei explicitamente. Ou você ainda deve especificá-lo. Talvez tenha causado um erro? Eu fechei uma venda no Ask.
 
001:

Na EA, apenas as vendas são abertas. É por isso que não especifiquei explicitamente. Ou devo especificá-lo de qualquer forma, talvez seja a causa do erro? E eu estou fechando uma venda no Asc.

Talvez tente desta forma:

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

Introduzi um símbolo e um magik nas variáveis a serem passadas. Você não tem um cheque para eles.

 
Example2:

Acabei de mudar a verificação para if(OrderOpenPrice()!=NormalizeDouble(ma1,Digits) e o erro desapareceu. Mas vou levar seu comentário em consideração, obrigado.
Bem, é bom que você tenha descoberto. Embora em números reais seja melhor comparar a diferença, leia o link. Por exemplo, se MathAbs(OrderOpenPrice() - ma1) >= _Point
 
Ontem eu fiz uma pergunta sobre a LER multitemporal. Será que ninguém sabe a resposta para isso? Na verdade, a pergunta em si está aquihttps://www.mql5.com/ru/forum/145455/page619#972686
 

Estou tentando copiar o arquivo programmaticamente, a partir do roteiro. Não funciona. Qual é o caminho certo?

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

Estou tentando copiar o arquivo programmaticamente, a partir do roteiro. Não funciona. Qual é o caminho certo?




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