Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1017

 
Boa tarde Amigos, estou atualmente negociando com a ajuda de um EA,
Você pode informar se eu posso usar esses parâmetros para escrever minha própria EA?
------------------------------------------------------------------------------
GridA=verdadeiro
GridB=verdadeiro
GridC=verdadeiro
OrdensLadoOptimize=verdadeiro
StopTradeAfterTP_GridA=falso
StopTradeAfterTP_GridB=falso
StopTradeAfterTP_GridC=falso
MaxTrades_GridA=15
MaxTrades_GridB=15
MaxTrades_GridC=15
MagicNumber_GridA=7771
MagicNumber_GridB=7772
MagicNumber_GridC=7773
MaxLots=100.0
AutoMM=3.0
T6="Lots Settings" (Configurações de Lotes)
BaseOrderLevel=1
LotExponent=1,33
T7="TakeProfit settings".
TakeProfit=125.0
Slippage=3,0
T10="Step settings" (Ajustes dos degraus)
Step_GridA=170.0
Passo_GridB=170.0
Step_GridC=200.0
DistanceExponent=1,18
BaseDistanceOrder=10

Cumprimentos a você Nobre Selvagem
 

Boa tarde. Você pode me dizer algo?


Ao compilar, um erro é lançado para cima.

if(flag_Cl_Buy = "on" && Ask>=BB)

&&' - uso de operação ilegal

Este personagem é um AND lógico. A tradução de '&&' é uso ilegal da operação. )))

O que está errado? ))

Ramificação padrão. Faça o que está na condição 1(flag_Cl_Buy = "on") e o valor do preço é maior do que o especificado. O que há de errado com isto AND???


 
Gilmor:

Boa tarde. Você pode me dizer algo?


Ao compilar, um erro é lançado para cima.

&&' - uso de operação ilegal

Este personagem é um AND lógico. A tradução de '&&' é uso ilegal da operação. )))

O que está errado? ))

Ramificação padrão. Faça o que está na condição 1(flag_Cl_Buy = "on") e o valor do preço é maior do que o especificado. O que há de errado com isto AND???


==

Então a comparação é "==", você perdeu um sinal.

 
Gilmor:

Boa tarde. Você pode me dizer algo?


Ao compilar, um erro é lançado para cima.

&&' - uso de operação ilegal

Este personagem é um AND lógico. A tradução de '&&' é uso ilegal da operação. )))

O que está errado? ))

Ramificação padrão. Faça o que está na condição 1(flag_Cl_Buy = "on") e o valor do preço é maior do que o especificado. O que há de errado com isto AND???


Você não está comparando, você está atribuindo.

if(flag_Cl_Buy = "on" && Ask>=BB)

A comparação se parece com isto:

if(flag_Cl_Buy == "on" && Ask>=BB)
 
dodon_:
Boa tarde Caros amigos, estou atualmente negociando com a ajuda de meu consultor especializado,
Você pode me dizer se eu posso escrever minha própria EA com base nestes parâmetros?

Com base no pouco das respostas que vi, você pode escrever qualquer coisa, e até pessoas boas lhe dirão onde estão as perguntas e os erros. Mas, ninguém simplesmente escreverá para você e, com perguntas tão vagas na maioria das vezes, eles o enviam para a bolsa de valores.

https://www.mql5.com/ru/job

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Добрый день. Нужно написать советника на основе мартингейла работающего в обе стороны с усреднениями на ТФ м1/м5/м15/Н1/Н4/D1 , с тейк профитом но без стоп лоса, для центового счета, с функцией привязки советника на определенные счета. Требуются данные входные параметры для управления советником: Стратегия GridA: включить/выключить стратегию...
 
Vladimir Karputov:

Você não está comparando, você está atribuindo.

A comparação se parece com isto:

Muito obrigado. =)

 

Peço desculpas antecipadamente. Apenas mais algumas perguntas.

Por favor, informe onde eu não consigo entender. MQL4


void OnTick()
  {
//---
............
тело самого советника
.........
return;
  }

Quais são os erros? Ele gera.

OnTick' - declarações de função são permitidas somente em âmbito global, de espaço de nomes ou de classe

OnTick' - função já definida e com corpo

ver declaração anterior da função 'OnTick'.

'}' - O seguinte é um erro no final do programa

Uma vez que destaca os parênteses, eu verifiquei duas vezes. É o parêntese final da função 'OnTick'.

Antes desta função só há declaração de variável e int OnInit(), nula OnDeinit(const int razão)

-----------------------------

Eu roubei uma solução simples deste fórum para fechar todos os pedidos.

for(z=OrdersTotal()-1; z>=0; z--)    // закрытие всех ордеров.
        {
         if(OrderSelect(z,SELECT_BY_POS)==true && OrderSymbol() == Symbol())
           {
            OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red);
           }
        }

Ele me dá um ícone amarelo e pede para checar novamente o valor retornado. Eu não preciso verificar o valor de retorno. O que está insinuando?

------------------------------

Operador de interruptor

Bela coisa de troca. Expressão feita

switch(flag_1)

Como o nome diz a bandeira. Ele muda para 1 dos valores da bandeira durante o cálculo, dependendo da solução. Marcadores. Os marcadores, ou seja, os valores desta bandeira são 3. Estes são "zero", "COMPRAR", "VENDER".

string flag_1 = "zero";

void OnTick()
  {
switch(flag_1)
     {

      case "zero":
  .............
...............
break;
     case "BUY":
 .............
...............
 break;
    case "SELL":
 .............
...............
 break;
return;
}
}

E não gosta de tudo. Nem a própriabandeira_1 nem seus valores. Como podemos consertá-lo? Eu não quero ser forçado a entrar em números. Visualmente, é mais difícil de compreender se haverá apenas dígitos x = 1, 2, ou 3. ( As etiquetas de texto não são permitidas?

-------------------------------

// Удалить старую отложку
            OrderDelete(OrderBufer_B[i].ticket,clrRed);
            if(OrderSelect(OrderBufer_B[i].ticket,SELECT_BY_TICKET,MODE_TRADES) = true)
              {
               OrderDelete(OrderBufer_B[i].ticket,clrRed);
              }  // повторить

Erros

o valor de retorno da 'OrderDelete' deve ser verificado

OrderSelect' - valor l necessário

'=' - valor l necessário

Este processo faz algum sentido? É necessário colocar todas as minhas ações ligadas às ordens em um loop até que elas estejam prontas? Ou o servidor, mesmo que esteja ocupado neste momento, ainda processará seu pedido?

Entendo que se estamos falando de ordens no mercado para comprar / vender agora, então no momento da notícia quando o servidor estará livre, o preço já pode ir longe e então a ordem não será executada.




 
Gilmor:

Peço desculpas antecipadamente. Apenas mais algumas perguntas.

Você pode me dizer onde eu simplesmente não consigo entender. MQL4


Quais são os erros? Ele gera.

OnTick' - declarações de função são permitidas somente em âmbito global, de espaço de nomes ou de classe

OnTick' - função já definida e com corpo

ver declaração anterior da função 'OnTick'.

'}' - O seguinte é um erro no final do programa

Uma vez que destaca os parênteses, eu verifiquei duas vezes. É o parêntese de fechamento da função 'OnTick'.

Antes desta função há apenas declaração variável e int OnInit(), nula OnDeinit(const int razão)

-----------------------------

Eu roubei uma solução simples deste fórum para fechar todos os pedidos.

Ele me dá um ícone amarelo e pede para checar novamente o valor retornado. Eu não preciso verificar o valor de retorno. O que está insinuando?

------------------------------

Operador de interruptor

Bela coisa de troca. Expressão feita

Como o nome diz a bandeira. Ele muda para 1 dos valores da bandeira durante o cálculo, dependendo da solução. Marcadores. Os marcadores, ou seja, os valores desta bandeira são 3. Estes são "zero", "COMPRAR", "VENDER".

E não gosta de tudo. Nem a própriabandeira_1 nem seus valores. Como podemos consertá-lo? Eu não quero ser forçado a entrar em números. Visualmente, é mais difícil de compreender se haverá apenas dígitos x = 1, 2, ou 3. ( As etiquetas de texto não são permitidas?

-------------------------------

Erros

o valor de retorno da 'OrderDelete' deve ser verificado

OrderSelect' - valor l necessário

'=' - valor l necessário

Este processo faz algum sentido? É necessário colocar todas as minhas ações ligadas às ordens em um loop até que elas estejam prontas? Ou o servidor, mesmo que esteja ocupado neste momento, ainda processará seu pedido?

Entendo que se estamos falando de pedidos para comprar / vender o mercado agora, então no momento da notícia, quando o servidor estará livre, o preço já pode ir longe e então o pedido não será executado.




Os resultados de OrderSend, OrderDelete, OrderClose, OrderModify devem ser verificados. Estas são apenas regras de decência elevadas ao grau de advertência.

E os erros "lvalue" são suas comparações favoritas e misturas de atribuições.

PS/ bem, você não aprende programação de MT. O MT é uma aplicação dura.

 
Gilmor:

Peço desculpas antecipadamente. Apenas mais algumas perguntas.

Por favor, informe onde eu não consigo entender. MQL4


Quais são os erros? Ele gera.

OnTick' - declarações de funções são permitidas somente em âmbito global, de espaço de nomes ou de classe

OnTick' - função já definida e com corpo

ver declaração anterior da função 'OnTick'.

'}' - O seguinte é um erro no final do programa

Uma vez que destaca os parênteses, eu verifiquei duas vezes. É o parêntese de fechamento da função 'OnTick'.

Antes desta função só há declaração de variável e int OnInit(), nula OnDeinit(const int razão)

-----------------------------

Eu roubei uma solução simples deste fórum para fechar todos os pedidos.

Ele me dá um ícone amarelo e pede para checar novamente o valor retornado. Eu não preciso verificar o valor de retorno. O que está insinuando?

------------------------------

Operador de interruptor

Bela coisa de troca. Expressão feita

Como o nome diz a bandeira. Ele muda para 1 dos valores da bandeira durante o cálculo, dependendo da solução. Marcadores. Os marcadores, ou seja, os valores desta bandeira são 3. Estes são "zero", "COMPRAR", "VENDER".

E não gosta de tudo. Nem a própriabandeira_1 nem seus valores. Como podemos consertá-lo? Eu não quero ser forçado a entrar em números. Visualmente, é mais difícil de compreender se haverá apenas dígitos x = 1, 2, ou 3. ( As etiquetas de texto não são permitidas?

-------------------------------

Erros

o valor de retorno da 'OrderDelete' deve ser verificado

OrderSelect' - valor l necessário

'=' - valor l necessário

Este processo faz algum sentido? É necessário colocar todas as minhas ações ligadas às ordens em um loop até que elas estejam prontas? Ou o servidor, mesmo que esteja ocupado neste momento, ainda processará seu pedido?

Se estamos falando de ordens de compra/venda agora, então no momento da notícia quando o servidor estará livre, o preço pode ir muito longe e a ordem não será executada.




Você tem 2 funções OnTick


A expressão do operador do interruptor deve ser do tipo inteiro.

 
Artyom Trishkin:

Sim, criar um tópico separado. Basta tentar escolher a seção correta do fórum na qual criar o tópico.

Sim, ok. A"MQL4 e MetaTrader 4" está bem? Ou é melhor em "Indicadores"?
Razão: