Aqui está meu código EA: Onde eu quero inserir a função Breakeven?
int tp externo = 0;
sl int externo = 0;
int int externo Hora de início = 0;// hora de início
Exterior inttern EndHour = 0;// hora final
int start()
{
//----
if(OrderTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[1]<Open[1] && High[1]<Bid)// verificar se o preço da barra anterior é inferior ao da barra aberta. Ordem de compra quando o preço de atingir o preço de licitação da barra atual, o alto nível da barra anterior.
if(OrderTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[1]>Open[1] && Low[1]>Bid)// verificar se o pedido é aberto e o preço de fechamento da barra anterior é menor que o preço aberto. Pedido de compra quando o preço atingir o preço atual da barra Proposta,alto nível da barra anterior.
nível de lucro externo int LevelWLoss = 100; // Nível de rentabilidade em pips nível de rentabilidade externo int LevelProfit = 300; // Nível de rentabilidade em pips
Tenho dúvidas de que você resolva este problema por si mesmo :)
DmitriyN: Você pode. Também é possível gerenciar uma conta a partir de um computador que é instalado no trabalho, ou vice-versa, quando você está em casa.
Eu tentei refazer a função de outra pessoa, e "um pouco" estragou tudo, aqui está um pedaço de código:
string FileName = test.txt;
int FileHandle=FileOpen(FileName,FILE_READ);
if (FileHandle < 0)
{
Print("Файл не найден.");
}
string strInfo;
int i;
if (FileHandle>0)
{
while (i<20)
{
if (FileHandle == 1)
{
string strInfo1=FileReadString(FileHandle);
}else{
if (FileHandle == 2)
{
string strInfo2=FileReadString(FileHandle);
}else{
if (FileHandle == 3)
{
string strInfo3=FileReadString(FileHandle);
}else{
if (FileHandle == 4)
{
string strInfo4=FileReadString(FileHandle);
}else{
if (FileHandle == 5)
{
string strInfo5=FileReadString(FileHandle);
}else{
if (FileHandle == 6)
{
string strInfo6=FileReadString(FileHandle);
}else{
if (FileHandle == 7)
{
string strInfo7=FileReadString(FileHandle);
}else{
if (FileHandle == 8)
{
string strInfo8=FileReadString(FileHandle);
}else{
if (FileHandle == 9)
{
string strInfo9=FileReadString(FileHandle);
}else{
if (FileHandle == 10)
{
string strInfo10=FileReadString(FileHandle);
}else{
Print("Ошибка! В файле должно быть не более 10 записей!");
}
}
}
}
}
}
}
}
}
}
if (StrToInteger(strInfo1)==12345||StrToInteger(strInfo2)==12345||
StrToInteger(strInfo3)==12345||StrToInteger(strInfo4)==12345||
StrToInteger(strInfo5)==12345||StrToInteger(strInfo6)==12345||
StrToInteger(strInfo7)==12345||StrToInteger(strInfo8)==12345||
StrToInteger(strInfo9)==12345||StrToInteger(strInfo10)==12345)
{
isNumInFile = TRUE;
}
if (FileIsEnding(FileHandle) && isNumInFile == FALSE)
{
Print("Достигнут конец файла, искомое значение не найдено");
break;
}
i++;
if (i>100) break;
}
FileClose(FileHandle);
}
Eu queria que ele encontrasse um certo valor nas primeiras 10 linhas do arquivo test.txt e se o número de linhas for superior a 10 ele dará o erro "Erro! Não deve haver mais de 10 registros no arquivo", mas por alguma razão ele ainda passa por todos os registros, por favor me ajude a corrigi-lo, e se você puder simplificar o código e torná-lo como uma função separada.
Pessoas, por favor, expliquem de forma simples, o que é transferência de parâmetros por referência. Eu li a documentação, mas entendi apenas que é possível e após a identificação da variável é obrigatório colocar um modificador &. Seria ótimo se a explicação fosse acompanhada de um pequeno programa com explicações... Qual é a diferença entre os parâmetros habituais de passagem e os parâmetros de passagem por referência?
ver aqui: https://www.mql5.com/ru/forum/135030
Por favor, diga-me como escrever um simples comando:
- transferir um pedido para uma posição sem perdas para um determinado número de pips
Você pode me dizer como escrever um simples comando?
- Definido em uma ordem em aberto, o stoploss para obter um certo lucro no comércio (considerando o spread).
aqui está uma função para converter todas as ordens com o mesmo número mágico para p/b, tente experimentá-lo
IgorM
Aqui está meu código EA: Onde eu quero inserir a função Breakeven?
int tp externo = 0;
sl int externo = 0;
int int externo Hora de início = 0; // hora de início
Exterior inttern EndHour = 0; // hora final
int start()
{
//----
if(OrderTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[1]<Open[1] && High[1]<Bid) // verificar se o preço da barra anterior é inferior ao da barra aberta. Ordem de compra quando o preço de atingir o preço de licitação da barra atual, o alto nível da barra anterior.
OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-sl*Point,Ask+tp*Point,"",777,0,Red);
if(OrderTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[1]>Open[1] && Low[1]>Bid) // verificar se o pedido é aberto e o preço de fechamento da barra anterior é menor que o preço aberto. Pedido de compra quando o preço atingir o preço atual da barra Proposta , alto nível da barra anterior.
OrderSend(Symbol(),OP_SELL,1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",777,0,Red);
//----
retorno(0);
}
Aqui está meu código EA: Onde devo colocar a função Breakeven?
Acho que nesta fase é suficiente adicionar minha função ao final de seu código e fazer o seguinte em seu código, pelo menos:
if(OrdersTotal()>0) MovingInWL(777);
Acrescente ao início de seu código
nível de lucro externo int LevelWLoss = 100; // Nível de rentabilidade em pips
nível de rentabilidade externo int LevelProfit = 300; // Nível de rentabilidade em pips
Tenho dúvidas de que você resolva este problema por si mesmo :)
Você pode. Também é possível gerenciar uma conta a partir de um computador que é instalado no trabalho, ou vice-versa, quando você está em casa.
Eu tentei refazer a função de outra pessoa, e "um pouco" estragou tudo, aqui está um pedaço de código:
string FileName = test.txt; int FileHandle=FileOpen(FileName,FILE_READ); if (FileHandle < 0) { Print("Файл не найден."); } string strInfo; int i; if (FileHandle>0) { while (i<20) { if (FileHandle == 1) { string strInfo1=FileReadString(FileHandle); }else{ if (FileHandle == 2) { string strInfo2=FileReadString(FileHandle); }else{ if (FileHandle == 3) { string strInfo3=FileReadString(FileHandle); }else{ if (FileHandle == 4) { string strInfo4=FileReadString(FileHandle); }else{ if (FileHandle == 5) { string strInfo5=FileReadString(FileHandle); }else{ if (FileHandle == 6) { string strInfo6=FileReadString(FileHandle); }else{ if (FileHandle == 7) { string strInfo7=FileReadString(FileHandle); }else{ if (FileHandle == 8) { string strInfo8=FileReadString(FileHandle); }else{ if (FileHandle == 9) { string strInfo9=FileReadString(FileHandle); }else{ if (FileHandle == 10) { string strInfo10=FileReadString(FileHandle); }else{ Print("Ошибка! В файле должно быть не более 10 записей!"); } } } } } } } } } } if (StrToInteger(strInfo1)==12345||StrToInteger(strInfo2)==12345|| StrToInteger(strInfo3)==12345||StrToInteger(strInfo4)==12345|| StrToInteger(strInfo5)==12345||StrToInteger(strInfo6)==12345|| StrToInteger(strInfo7)==12345||StrToInteger(strInfo8)==12345|| StrToInteger(strInfo9)==12345||StrToInteger(strInfo10)==12345) { isNumInFile = TRUE; } if (FileIsEnding(FileHandle) && isNumInFile == FALSE) { Print("Достигнут конец файла, искомое значение не найдено"); break; } i++; if (i>100) break; } FileClose(FileHandle); }Eu queria que ele encontrasse um certo valor nas primeiras 10 linhas do arquivo test.txt e se o número de linhas for superior a 10 ele dará o erro "Erro! Não deve haver mais de 10 registros no arquivo", mas por alguma razão ele ainda passa por todos os registros, por favor me ajude a corrigi-lo, e se você puder simplificar o código e torná-lo como uma função separada.
Pessoas, por favor, expliquem de forma simples, o que é transferência de parâmetros por referência. Eu li a documentação, mas entendi apenas que é possível e após a identificação da variável é obrigatório colocar um modificador &. Seria ótimo se a explicação fosse acompanhada de um pequeno programa com explicações... Qual é a diferença entre os parâmetros habituais de passagem e os parâmetros de passagem por referência?