[Arquivo!] Escrever um assessor de graça - página 25

 
for (int i=Bars-2; i>=0; i--)
{
 double dc=Close[ i]-Close[ i+1];
 if ( dc>=0) dc_D[ i]= dc; else dc_U[ i]=- dc;
 if ( mr==1) { U[ i]= mov( dc_U[ i], n, s);  D[ i]= mov( dc_D[ i], n, s); }
 if ( mr==2) { U[ i]= U[ i+1]*( n-1)+ dc_U[ i])/ n;  D[ i]= D[ i+1]*( n-1)+ dc_D[ i])/ n;  }
 if ( D[ i]!=0 && 1+ U[ i]/ D[ i]!=0)
 {
  if ( mru==1) MyRSI[ i]= mov(100/(1+ U[ i]/ D[ i]), n1, s); 
  if ( mru==2) MyRSI[ i]= mov(100/(1+ U[ i]/ D[ i]), n1, e);
 }
}

É isso. Não tenho bem a certeza do que é movimento. Parece-me ser um cálculo de média móvel

dc_D,  dc_U, D, U, MyRSI - // это индикаторные буфера
 

Sim, U[i]=mov(dc_U[i], n, s) média móvel simples.

Então, acontece que ainda não preenchemos todas as matrizes, mas já estamos nos referindo a elas, ou não?

nesta linha?

se (mr===2) { U[i]=U[i+1]*(n-1)+dc_U[i])/n; D[i]=D[i+1]*(n-1)+dc_D[i])/n; }

 

Desculpe. Posso não ter um indicador, mas apenas um código a ser inserido em um EA para obter um valor?

 
Olá, você poderia escrever um EA para uma estratégia sem indicadores, eu posso descrever tudo em detalhes, e até mesmo anexar uma foto se necessário. Estou ansioso para ouvir de vocês. Eu até anexarei uma foto, se necessário.
 
Gigabyte >>:
Здравствуйте, скажите, а Вы можете написать советника по без индикаторной стратегии, я могу подробно все описать, и даже картинку если надо прикреплю. Жду ответа. Спасибо.

leia o primeiro post deste tópico.

 
Olá, muito bom Expert Advisor de 10 pips para EURUSD & GBPUSD, Breaking high & low do dia anterior, Pode ser ligeiramente modificado, se eu abrir BUYSTOP, EA abrirá uma posição com H+spread+0,00003 pontos e se eu abrir SELLSTOP, EA abrirá uma posição com L-0,00003 pontos.


Exemplo, ao abrir uma ordem de compra: ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,H+Spred+Spred,0,H-SL+Spred+Spred,H+TP+Spred+Spred,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);-Dados existentes.

Alterar para: ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,H+Spred+0.00003,0,H-SL+Spred+0.00003,H+TP+Spred+0.00003,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);-Dados alterados.

Exemplo na abertura de uma ordem de venda:ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,L-Spred,0,L-Spred+SL,L-Spred-TP,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);- dados existentes.

Mudança para:ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,L-0,00003,0,L-0,00003+SL,L-0,00003-TP,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);- dados trocados

H - máximo do dia anterior

L - mínimo do dia anterior

0,00003 - número de pontos para MT4 com cotações de cinco dígitos( E para mudar sempre o número de pontos
Arquivos anexados:
expertq10.mq4  5 kb
 
Se eu quiser obter uma posição inversa em minha conta, em vez de vender - comprar, em vez de TP - SL, em vez de SL - TP, com negócios pendentes de acordo com o mesmo esquema, ficarei muito grato, mas dentro de limites razoáveis.
 
sigma_sura >>:
Господа программисты, знатоки MQL очень хочется копировщик сделок с реверсом, т.е. чтобы была возможность открывать противоположные образцовому счету ордера, очень пригодится для сливающих советников ну и всяких сливаторов, чтобы был полный переворот: например если сигнал на sell c TP и SL на образцовом счете, а на моем счете чтобы открывалась полностью обратная позиция вместо sell - buy, вместо TP - SL, вместо SL - TP, с отложенниками все по такой же схеме, буду очень признателен, но в разумных пределах.


Acho que Kim tem um desses, verifique seu website.
 
Vinin >>:

А в какой зигзаг? а то их много.

Olá, muito bom Expert Advisor de 10 pips para EURUSD & GBPUSD, Breaking high & low do dia anterior, Pode ser ligeiramente modificado, se eu abrir BUYSTOP, EA abrirá uma posição com H+spread+0,00003 pontos e se eu abrir SELLSTOP, EA abrirá uma posição com L-0,00003 pontos.


Exemplo, ao abrir uma ordem de compra: ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,H+Spred+Spred,0,H-SL+Spred+Spred,H+TP+Spred+Spred,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);-Dados existentes.

Alterar para: ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,H+Spred+0.00003,0,H-SL+Spred+0.00003,H+TP+Spred+0.00003,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);-Dados alterados.

Exemplo na abertura de uma ordem de venda:ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,L-Spred,0,L-Spred+SL,L-Spred-TP,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);- dados existentes.

Mudança para:ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,L-0,00003,0,L-0,00003+SL,L-0,00003-TP,NULL,MagicNumber,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);-dados trocados

H - máximo do dia anterior

L - mínimo do dia anterior

0,00003 - número de pips para MT4 com cotações de cinco dígitos.( E para sempre alterar o número de pips

Arquivos anexados:
expertu10.mq4  5 kb
 
vasilii8-85 >>:

Então, qual é o seu problema? Você escreveu o que quer mudar (e como quer mudá-lo:)). Tudo que você precisa fazer é abrir o MetaEditor e corrigir o código. Para que você possa mudar o número de pontos, faça o seguinte

extern double delta=0.00003;//вставить перед start()
E em qualquer lugar do código onde você queira colocar 0,00003 escreva delta 
PS. Escrever a mesma pergunta em vários tópicos não é bom:)