[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 362

 
Vinin >> :

Algo assim funcionou para mim.

>> MUITO OBRIGADO!

 

Boa tarde!

Fez uma demonstração na Alpari hoje e foi surpreendido por cinco casas decimais. Tive que refazer a EA, acrescentar um dez.

Se não for difícil explicar a diferença entre cinco e quatro casas decimais, ou me dê um link onde você possa ler sobre isso.

 
gvi2504 >> :

Boa tarde!

Fez uma demonstração na Alpari hoje e foi surpreendido por cinco casas decimais. Tive que refazer o Expert Advisor, adicionar um dez.

Se você não se importa em explicar a diferença entre cinco e quatro dígitos, ou me dê um link onde eu possa ler sobre isso.


Isto é o que eu faço - eu coloco o início() logo no início (provavelmente melhor no init() ?):

// ```````````````````````````````
   double PointX = 0;
   if(Digits==5 || Digits==3) {
      PointX = Point * 10;
   }
   if(Digits==4 || Digits==2) {
      PointX = Point;
   }
// ```````````````````````````````


E então uso "PointX" em vez de "Point".

 
chief2000 >> :


Isto é o que eu faço - eu ponho start() no início (provavelmente melhor no init() ?):


E então uso "PointX" em vez de "Point".





Muito obrigado.

 
Shniperson писал(а) >>
>> Cavalheiros. como fazer com que os valores das barras em H1 sejam levados em conta ao negociar em H4 ? por exemplo, if(......&&& Close[0](bar H1)>High[1](bar H1) ???????????

mais ou menos aqui... entretanto este é um exemplo de código de trabalho para macd & ) || ( este lugar sublinhado combina a condição do código específico

indicador>0 && indicador<==Indicador de sinal && indicador>Indicador de sinal une H4 com H1 no sentido de que a situação em H4 e em H1 é a mesma para MAKD (ou não - depende de <=0 (menor ou igual a zero / possível para MAKD) além de &&(simultaneamente) permitir complicar a relação)

MacdCurrent=indicator_MAIN,0);
MacdPrevious=indicator_MAIN,1);
SignalCurrent=indicator_SIGNAL,0);
Sinal Anterior= indicadorSIGNAL,1);

total=OrdensTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // verifique o símbolo
{
if(OrderType()==OP_BUY) // posição longa é aberta
{
if((indicador>0 && indicador<==Indicador de sinal && indicador>Indicador de sinal) ||| ( indicador<=0 && indicador>0))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // posição fechada

Mas este código é de outra pessoa e eu mesmo não sou capaz de mudá-lo, isso é certo.

 
JEKA писал(а) >>
Olá, eu acho que a pergunta é mais para programadores avançados do que para iniciantes como eu, embora minha idéia seja útil para ambos! Então a essência da pergunta, é possível escrever um indicador ou consultor baseado em dois indicadores? V-TBv6.ex4, 5_ZZ_Semafor.ex4 Eu mesmo gostaria de escrevê-lo, mas sozinha não possuo tais conhecimentos, e gostaria de buscar a ajuda daqueles que também interesesito esta idéia ou daqueles que possuem os conhecimentos necessários nesta área.

há um assessor comercial na ma e mcd.

Ma para abertura, Maqd para fechamento

Ma são usados simplesmente na abertura no código para a Posição Aberta (nos scripts que vêm junto com o terminal são Ma e Poppy), um bloco no qual um indicador (Ma) vai para o Fechado (Poppy).

se dois indicadores forem necessários ao mesmo tempo, dois indicadores são declarados no bloco exigido e seus valores são combinados através de

verificação nula CheckForClose()
{
duplo MacdCurrent, MacdPrevious, SignalCurrent;
Sinal Duplo Anterior;
int cnt, bilhete, total;

MacdCurrent=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_MAIN,0)
MacdPrevious=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_SIGNAL,1);

total=OrdensTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // verifique o símbolo
{
if(OrderType()==OP_BUY) // posição longa é aberta
{
if((*>0 && *<=* && *>* ) ||| (*<=0 && *>0))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // posição fechada
tek_mode=1;
retornar(0); // sair
}

}
senão // ir para a posição curta
{
if((Macd*<0 && Macd*>=* &&& *<* ) || (*>=0 &&& *<0))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // posição fechada
tek_mode=-1;
retornar(0); // sair
}
}
}
}
}
//+------------------------------------------------------------------+

onde tek_mode=-1; é usado para cortar o valor de repetição instantânea. ||| e && permitem usar dois grupos de condições como um único.

 

Por favor, informe.

Como obter os carrapatos do MT4 para o Matlab de minha própria DLL de forma inteligente e tão racional quanto possível?

Alguém provavelmente já fez tal coisa.

Da MT em termos gerais:

início()

{

fMyDll(Bid); // passar lance em função da minha dll com cada novo tick

}

o que vem a seguir? qual é o método de troca?

 
Ao testar estratégias, há um limite para o número de combinações de parâmetros? Ou seja, o número de passes do testador.
 
Retrabalhou o indicador VSI. É um pouco subdesenvolvido. Alguém pode me dizer onde está o erro?
Arquivos anexados:
vsi_twin.mq4  4 kb
 
nikost писал(а) >>
Retrabalhou o indicador VSI. É um pouco subdesenvolvido. Alguém pode me dizer onde está o erro?
Arquivos anexados: