[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 253

 
DDFedor >> :

kogda je budet MQL5?

Se não, pergunte-nos. Nem todos gostam de ler a transliteração, então a transliteração também limita sua capacidade de responder a você.

Obrigado, DDFedor, e quando eu tinha que encontrar algo no google costumava fazer aplicação das letras do texto em russo.

 

ajude-me a colorir o indicador, quero que seja verde se o valor subir, vermelho se descer

Aqui está o código:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green


int BarsCount = 10000;

//---- buffers
double buf_1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
//    SetIndexStyle(1,DRAW_HISTOGRAM);
//    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        buf_1[ i] = High[ i]-Low[ i];
   
        
        
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Quero que um pedido pendente seja feito às 15:00, se não houver uma vaga em aberto nesse horário,

Eu escrevo o seguinte:

se (Hora()=15 || Minuto()=0)

double max_level=Highest[iHighest(NULL,0,MODE_HIGH,13,0)]; //definir preço máximo para as últimas 13 barras
double min_level=Low[iLowest(NULL,0,MODE_LOW,13,0)]; //defina o preço mínimo para as últimas 13 barras
int Dist_SL =60; // Conjunto SL (pt)
int Dist_TP =60; // conjunto TP (pt)
//--------------------Цикл установки ордера BUY STOP---------------------------------------------------------------------
enquanto (verdadeiro) / Ciclo de ordem de abertura.
{
int Min_Dist1=MarketInfo(Symbol(),MODE_STOPLEVEL); // Min_Dist.
double Price_B=max_level; // Preço do lance

//----------------Устанавливаем ордер на покупку---------------------------------------------------------------------------
if (NormalizeDouble(Price_B,Digits)< // Se menos que o permitido.
NormalizeDouble(Ask+Min_Dist1*Point,Dígitos))
{ // Somente para BuyStop!
Price_B=Ask+Min_Dist1*Point; // não pode chegar mais perto
Alerta("Preço de compra declarado foi alterado: Preço = ", Price_B);
}
duplo SL_B=Preço_B - Dist_SL*Point; // Preço declarado do SL para comprar
duplo TP_B=Preço_B + Dist_TP*Ponto; // O preço TP declarado para comprar
Alerta("Ordem comercial foi enviada ao servidor. Aguardando resposta...");
int ticket1=OrderSend(Symbol(), OP_BUYSTOP, 0.1, Price_B, 0, SL_B, TP_B); //Set Buy order
se (ticket1>0) // Funcionou :)
{
Alerta ("Buy order opened ",ticket1);
pausa; // Sair do laço
}

Eu devo estar escrevendo algo errado, você pode me dizer como abrir uma posição em um determinado momento?

 

Bem, ponto por ponto:

1. Se o tique estiver no minuto zero, o roteiro começará. É melhor definir o minuto zero como o minuto inicial, e depois colocar uma bandeira para evitar que o roteiro comece novamente. Mas, em princípio, isto não é crítico.

2. Você só verifica quando o nível de preço é inferior ao permitido, e quando é mais, você não o faz.

3. Você usa a normalização ao verificar o preço, mas não ao substituí-lo, pode haver erros.

 
Roger >> :

Bem, ponto por ponto:

1. Se o tique estiver no minuto zero, o roteiro começará. É melhor definir o minuto zero como o minuto inicial, e depois colocar uma bandeira para evitar que o roteiro comece novamente. Mas, em princípio, isto não é crítico.

2. Você só verifica quando o nível de preço é inferior ao permitido, e quando é mais, você não o faz.

3. Você usa a normalização ao verificar o preço e não ao substituí-lo, pode haver erros.

Obrigado por sua resposta. Sou um completo iniciante em programação, comecei a estudar o arquivo de ajuda e decidi escrever minha EA. Entendo que a moldura.

se (Hora()=15 || Minuto()=0) não estiver nada correto, cada caractere causa um erro na compilação, por favor me diga como escrevê-lo corretamente?

 
albon >> :

Quero que um pedido pendente seja feito às 15:00, se não houver uma vaga em aberto nesse horário,


Eu devo estar escrevendo algo errado, você pode me dizer como abrir uma posição em um determinado momento?

Procure no fórum, eu pedi emprestado da KimiV, há uma função ali que limita a operação pelo tempo

 
albon писал(а) >>

Obrigado pela resposta. Sou um completo novato em programação, apenas comecei a estudar o arquivo de ajuda e imediatamente decidi escrever minha EA. Eu entendo que a moldura

se (Hora()=15 || Minuto()=0) não estiver nada correto, na compilação de cada caractere causa um erro, por favor, informe como escrevê-lo corretamente...

Altere-o para

se (Hora()==15 || Minuto()==0)

PS Se você não sabe de nada, por que se preocupar, é melhor mandar para outra pessoa.

 
dmmikl86 >> :

Ajude-me a colorir o indicador, quero que o valor suba em verde, e desça em vermelho.

aqui está o código:

Isto deve ser feito com dois amortecedores de cores diferentes.

Se o preço subir, então o valor é atribuído a um buffer se cair para outro,

e o segundo é mantido no corpo preto (por exemplo, SetIndexEmptyValue(0,0.0);)

0 é atribuído a ambos os amortecedores antes de encher, e depois disso, você distribui amortecedores a quem você quer bancar e a quem você não quer incomodar.

A vinina parece ter tido tal indicador, pesquisar através do perfil da base de código.

 
Você pode me dizer se é possível inserir uma pequena imagem na janela principal do terminal?
 
IlyaA >> :
Você pode me dizer se é possível inserir uma pequena imagem na janela principal do terminal?

Ainda não em 5 eles prometem (pelo menos por meios padrão)