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 1133

 
o comércio está desativado .oshıbka
 
--danger--:

prıvet .podzajajajte pojalusta pogu na demo schete ne mogu otkrıt zdelkı

--perigo..:
o comércio está desativado .oshıbka
O botão é avtotorgovly ne najata? Favor indicar o nomer osibki, v jurnale dolzen byti.
 
Alekseu Fedotov:

Sem pecados, o que jura.

Quais são os erros do compilador

Algo a ver com o fato de que a função deve ser global e esperar por vírgulas em lugares onde não faz sentido colocá-las! Por exemplo, no separador entre as informações sobre o corretor e o par negociado

 
GoldenGod:
Uma palavra de conselho para um boneco. Como posso abrir uma conta ativa?
Depende do corretor, você vai ao site dele e procura o botão "Abrir uma conta real" ou algo semelhante. Ou no escritório particular do corretor "Criar uma nova conta".
 
Vitalie Postolache:
O que você quer dizer com "nenhum"? Ordenar por bilhete - sempre haverá uma ordem e nenhuma contradição com a documentação, diz sobre ordenação por número de série, não por bilhete, são coisas diferentes.
Se você fizer uma pergunta a si mesmo:
Temos esta lista de pedidos em um momento (por bilhete)
  1. Comprar nº 1
  2. Comprar nº 2
  3. ComprarStop #3
  4. Venda #4
A ordem dos bilhetes na lista é: #1,#2,#3,#4

Após a BuyStop #3, qual será a ordem de compra dos bilhetes na lista?

É #1,#2,#4,#3?

Portanto, os bilhetes também não garantem a regularidade.
 
Anton Sokolov:

Outro problema que eu encontrei! Não julgue, estou estudando o idioma há 2-3 semanas, talvez eu seja apenas burro!

A tarefa no Expert Advisor é notificar o trader via e-mail a cada 4 horas, se a margem livre na conta tiver acrescentado um certo valor.

No assunto da mensagem você tem que escrever o nome do corretor e do par negociado, e no corpo da mensagem "Perigo! O saque está acima do limite. Tomar as medidas necessárias".

O compilador está com defeito de funcionamento, não sou bom em inglês e não consigo descobrir qual é o erro!

input  double MessageMail     = 50.0;
double Sag;

void OnTick()
  {
   Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1);  //находим процент просадки и округляем до 1 знака
    if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3)                                       //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
     {
     Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ",  MessageMail, " % ");                 //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит                          
     }
  }


PS: Talvez em geral haja uma solução mais fácil para este tipo de problema, mas até agora só vejo desta maneira)

//+------------------------------------------------------------------+
//|                                               exTestSendMail.mq4 |
//|              Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict

input  double MessageMail     = 50.0;
//---
double Sag=0;
string MailSubject="";
datetime PrevTime=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   MailSubject="Mail from EA "+MQLInfoString(MQL_PROGRAM_NAME);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   //--- Находим процент просадки и округляем до 1 знака
   Sag=NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_MARGIN_FREE)/AccountInfoDouble(ACCOUNT_BALANCE)),1);
   //--- Если открыт новый бар на H4
   if(iTime(Symbol(),PERIOD_H4,0) !=PrevTime) {
      //--- если просадка больше заданного
      if(Sag>MessageMail) {
         Alert(Symbol(), ": Просадка = ", DoubleToString(Sag,1), " % ", " > ",  MessageMail, " % ");              //вывести предупреждение в терминале
         string MailText=AccountInfoString(ACCOUNT_COMPANY)+" > Опасность! Просадка ("+DoubleToString(Sag,1)+"%) привысила допустимое значение. Примите необходимые меры.";
         SendMail(MailSubject,MailText);
         }
      PrevTime=iTime(Symbol(),PERIOD_H4,0);
      }
  }
//+------------------------------------------------------------------+
Em geral, é melhor fazer verificações deste tipo em um temporizador.
 

Obrigado! Prepare-se para enviar cartas!

 

como fixaro valor de retorno '' OrderClose deve ser verificado??????????????????????????????

 
Vielleicht xamp neu starten
 

Caros programadores, por favor, ajudem um novato neste negócio.

A EA está abrindo ordens de compra e venda seqüencialmente após um certo período de tempo. Quero que ele modifique todas as ordens anteriores (especificamente, todas as anteriores devem ser fechadas por Take Profit da última. Isto é, se a última ordem de compra e a ordem de venda anterior, então o stop loss da ordem anterior é definido para o nível de take profit da última,

Se a compra anterior for efetuada, então seu TakeProfit será fixado no nível do último TakeProfit. A questão é que quando chega o takeprofit do último pedido, todos os pedidos devem ser fechados).

Espero ter explicado claramente, embora seja difícil entender como deve ser implementado. Agradecemos antecipadamente.

Entendo que podemos passar por todas as ordens abertas e modificá-las, mas como podemos pular a última ordem?

Razão: