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

 
Não consigo descobrir como implementá-lo no código. Você já viu o código pronto em algum lugar? Eu estaria bem se o código calculasse uma perda sem perdas em três direções: 1. em todas as ordens abertas 2. apenas ordens de compra 3. apenas ordens de venda
 
belck:
não consigo descobrir como implementar isto no código. você já viu o código pronto em algum lugar? Eu estaria OK se o código calcular um breakeven em três direções: 1. para todas as ordens abertas 2. apenas ordens de compra 3. apenas ordens de venda
https://www.mql5.com/ru/forum/103719
 

Como calcular a margem (fundos necessários para abrir uma ordem com lote N) com diferentes valores de AccountFreeMarginMode


 

Olá!

Você pode aconselhar se alguém souber:

o EA funciona tanto no testador como no real a um desvio de preço=2 pontos, e a um preço de mercado, ou seja, desvio=0, pode haver problemas ou não? A comunicação é boa - a fibra é realmente 60Mbit, se eu apenas abrir manualmente - a execução é normalmente de 1-2 segundos em real. Meu consultor especializado tem uma repetição até que uma ordem seja aberta com sucesso. Estou perguntando porque eu estava negociando na plataforma de quatro dígitos e quero experimentar o de cinco dígitos. Eu tentei em uma demonstração de cinco dígitos, mas a ordem não abriu, o sinal parecia ser apenas "tentando abrir uma ordem...", e foi isso. Não há mudanças ou erros no registro. O que você aconselha?

Por experiência própria, quantos pontos de desvio do preço de mercado devem ser definidos ao abrir (fechar) uma ordem? É necessário prescrever algo no EA para negociação com cinco casas decimais? Ao abrir um pedido no testador, o SL e TP pré-definidos diminuirão exatamente dez vezes - em exatamente uma casa decimal?

P.S. Eu mesmo escrevi meu EA para a MQL4.

Sinceramente.

 

Eu fiz algo com o arquivo editável <indicator.mq4>, ou o movi para algum lugar ou o copiei com um nome diferente, mas após a compilação, na lista de indicadores do terminal, o nome ficou cinza e inativo.

No entanto, o indicador está disponível através do menu lateral na barra da janela esquerda na "árvore da lista" e é arrastado para o gráfico.

Se você encontrou tal situação, por favor, informe como remediá-la?

Sinceramente.

 
prorab:

Eu fiz algo com o arquivo editável <indicator.mq4>, ou o movi para algum lugar ou o copiei com um nome diferente, mas após a compilação, na lista de indicadores do terminal, o nome ficou cinza e inativo.

No entanto, o indicador está disponível através do menu lateral na barra da janela esquerda na "árvore da lista" e é arrastado para o gráfico.

Se você já encontrou tal situação, por favor, informe como corrigi-la?


Clique com o botão direito do mouse na cor cinza do travessão do terminal, depois clique com o botão esquerdo do mouse no menu "mudar", depois compile no meta-editor, depois recarregue o terminal e aproveite a vida...:-)
 
Roman.:

Clique com o botão direito do mouse na cor cinza do indicador no terminal, depois clique com o botão esquerdo do mouse no menu "mudar", depois compile no meta-editor, depois recarregue o terminal e aproveite a vida...:-)
Isso não vai ajudar. O código fonte está perdido.
 
Zhunko:
Não vai. A fonte está perdida.

Hoje fiz o mesmo procedimento com minha EA - sua cor ficou azul no terminal, era cinza.
 
Roman.:

Hoje fiz o mesmo procedimento com minha EA - sua cor ficou azul no terminal, era cinza.
Se houver uma fonte, mas ela foi alterada, é possível. Isto é, alterar o conteúdo da fonte. Se a fonte for perdida ou renomeada, ela não será encontrada.
 

Помогите исправить ошибку в коде советника. Попытался написать советник на основе индикатора Laguerre.mq4. При компиляции выдает ошибку. Место ошибки в коде выделено жирным. Сам индикатор находится в теле советника.

//+------------------------------------------------------------------+
//| Laguerre+.mq4 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+

//---- parâmetros de entrada
TrailingStop=0;
externo int StopLoss=0;
lotes duplos externos=0,1;
gama dupla externa = 0,7;
preço interno externo Tipo_Type=0;
//---- buffers
duplo filtro[];
duplo L0[];
duplo L1[];;
duplo L2[];
duplo L3[];

//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5);
//---- indicadores
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, 1);
SetIndexLabel(0, "LaguerreFilter");
SetIndexBuffer(0, Filtro);
SetIndexBuffer(1, L0);
SetIndexBuffer(2, L1);
SetIndexBuffer(3, L2);
SetIndexBuffer(4, L3);
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicatorShortName(short_name);
retorno(0);
}

//+------------------------------------------------------------------+
//| Função de desinicialização do indicador do cliente |
//+------------------------------------------------------------------+
int deinit()
{
retorno(0);
}

//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
limite int;
int counted_bars = IndicatorCounted();
CU duplo, CD;
//---- última barra contada será recontada
se (contado_barras>0)
barrinhas_contadas..;
senão
counted_bars = 1;
limite = Barras - contadas_barras;
//---- computações para RSI
para (int i=limite; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,0,Price_Type,i);

L0[i] = (1,0 - gama)*Preço + gama*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1];
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1];
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1];

CU = 0;
CD = 0;
se (L0[i] >= L1[i])
CU = L0[i] - L1[i];
senão
CD = L1[i] - L0[i];
se (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i];
senão
CD = CD + L2[i] - L1[i];
se (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i];
senão
CD = CD + L3[i] - L2[i];

se (CU + CD != 0)
Filtro[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0;
}
retorno(0);

//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{
se (OrdensTotal()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
se (OrderSymbol()==Symbol())
{
se (OrderType()== OP_BUY)
{
se ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])
OrderClose(OrderTicket(),OrderLots());
senão CU++;
}
se (OrderType()== OP_SELL)
{
se (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots())
mais CD++;
}
}
}

se (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
se (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,);
}



//----
retorno(0);
}
//+------------------------------------------------------------------+

Razão: