Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
mish
Tive um momento de tempo livre, e fiz uma tentativa de capturar sua intenção como eu a entendi.
Obrigado
Obrigado ralph.ronnquist
estas funções são exatamente o que eu preciso e seriam úteis para outros depois de uma mesma função
Eu fui pego de outra forma teria agradecido a você antes, especialmente porque foi preciso esforço
Existe uma maneira simples de mudar a função para trabalhar no testador de estratégias? Sei que o resultado de trabalhar com apenas uma moeda no testador é quase inútil, exceto que imita muito grosso modo o que eu preciso para fazer a matemática correta, qualquer ajuda é apreciada e eu nunca teria trabalhado o código em ordem curta, então mais uma vez obrigado!
DT_ZZ.mq4 baseada na EA
Estou tendo um pouco de dificuldade com este aqui.
Eu tenho o indicador DT_ZZ.mq4 e pelo que vejo é muito promissor. Eu sei que este indicador refile e aqui está como eu o vejo funcionando.
Se uma seta e uma seção forem iguais, então espere que a barra feche, então compre/venda de acordo.
Alguém acha que pode ajudar com isso? (O código está afixado abaixo)
//| DT_ZZ.mq4 |
+//+------------------------------------------------------------------+
// otimizado por Rosh
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 3
#indicador de propriedade_color1 Verde
#código de propriedade_color2 Azul
#indicador de propriedade_cores3 Vermelho
//---- parâmetros indicadores
externo int ExtDepth=12;
extern int calculateLevel=2;
//---- buffers indicadores
duplo zzL[];
duplo zzH[];
duplo zz[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
// IndicadorBuffers(3);
//---- definições de desenho
SetIndexStyle(0,DRAW_SECTION);
SetIndexStyle(1,DRAW_ARROW);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexArrow(2,159);
//---- indicator buffers mapping
SetIndexBuffer(0,zz);
SetIndexBuffer(1,zzH);
SetIndexBuffer(2,zzL);
SetIndexEmptyValue(0,0,0.0);
SetIndexEmptyValue(1,0,0.0);
SetIndexEmptyValue(2,0.0.0);
//---- indicador nome curto
IndicatorShortName("DT_ZZ("+ExtDepth+")");
//---- inicialização feita
retorno(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i,shift,pos,lasthighpos,lastlowpos,curhighpos,curlowpos;
duplo curlow,curhigh,lasthigh,lasthigh,lastlow;
duplo mínimo, máximo;
int counted_bars=IndicatorCounted();
se (counted_bars==0)
{
ArrayInitialize(zz,0.0);
ArrayInitialize(zzL,0.0.0);
ArrayInitialize(zzH,0.0.0);
lasthighpos=Bars; lastlowpos=Bars;
lastlow=Baixo; lasthigh=Alto;
Print("limit=",Bars-ExtDepth);
for(shift=Bars-ExtDepth; shift>=0; shift--)
{
curlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,shift);
curlow=Low[curlowpos];
curhighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,shift);
curhigh=High[curhighpos];
//------------------------------------------------
if( curlow>=lastlow ) { lastlow=curlow; }
senão
{
//???? ????
if( lasthighpos>curlowpos )
{
zzL[curlowpos]=curlow;
///*
min=100000; pos=lasthighpos;
for(i=lasthighpos; i>=curlowpos; i--)
{
se (zzL==0,0) continuar;
se (zzL<min) { min=zzL; pos=i; }
zz=0,0;
}
zz[pos]=min;
//*/
}
lastlowpos=curlowpos;
lastlow=curlow;
}
//--- alto
if( curhigh<=lasthigh ) { lasthigh=curhigh;}
senão
{
// ???? ?????
if( lastlowpos>curhighpos )
{
zzH[curhighpos]=curhigh;
///*
max=-100000; pos=lastlowpos;
for(i=lastlowpos; i>=curhighpos; i--)
{
se (zzH==0,0) continuar;
se (zzH>max) { max=zzH; pos=i; }
zz=0,0;
}
zz[pos]=max;
//*/
}
lasthighpos=curhighpos;
lasthigh=curhigh;
}
zz[0]=Fechar[0];
}
//----------------------------------------------------------------------
}
senão
{
int pos2;
i=0;
enquanto (pos2<calculateLevel && i<Bars-1)
{
se (zz!=0 && (zzH!=0||zzL!=0)) pos2++;
i++;
}
pos2=i-1;
para (i=pos2-1;i>=0;i--)
{
zzH=0;
zzL=0;
zz=0;
}
se (zzH[pos2]!=0)
{
lasthighpos=pos2;
lasthigh=High[pos2];
lastlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,pos2);
lastlow=Baixo[lastlowpos];
}
senão
{
lastlowpos=pos2;
lastlow=Low[pos2];
lasthighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,pos2);
lasthigh=High[lasthighpos];
}
//------------------------- ????????? ??????
Imprimir("limite=",pos2-1);
for(shift=pos2-1; shift>=0; shift--)
{
curlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,shift);
curlow=Low[curlowpos];
curhighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,shift);
curhigh=High[curhighpos];
//------------------------------------------------
if( curlow>=lastlow ) { lastlow=curlow; }
senão
{
//???? ????
if( lasthighpos>curlowpos )
{
zzL[curlowpos]=curlow;
///*
min=100000; pos=lasthighpos;
for(i=lasthighpos; i>=curlowpos; i--)
{
se (zzL==0,0) continuar;
se (zzL<min) { min=zzL; pos=i; }
zz=0,0;
}
zz[pos]=min;
//*/
}
lastlowpos=curlowpos;
lastlow=curlow;
}
//--- alto
if( curhigh<=lasthigh ) { lasthigh=curhigh;}
senão
{
// ???? ?????
if( lastlowpos>curhighpos )
{
zzH[curhighpos]=curhigh;
///*
max=-100000; pos=lastlowpos;
for(i=lastlowpos; i>=curhighpos; i--)
{
se (zzH==0,0) continuar;
se (zzH>max) { max=zzH; pos=i; }
zz=0,0;
}
zz[pos]=max;
//*/
}
lasthighpos=curhighpos;
lasthigh=curhigh;
}
}
//------------------------- ????????? ??????
zz[0]=Fechar[0];
}
retorno(0);
}
//+------------------------------------------------------------------+isto pode ser alterado 4 testador de estratégia?
ralph.ronnquist
tem me proporcionado generosamente uma grande função da qual muitos podem se beneficiar, que requer seu uso.
Meu problema é que estou tão mal na programação que parece que não consigo alterá-la o suficiente 4 testador de estratégia.
Para fins de teste, apenas uma moeda é satisfatória apenas para trabalhar a matemática dos negócios sob diferentes circunstâncias com diferentes moedas.
É possível alterar o trabalho do ralph para atender a esta necessidade?
Obrigado
Em princípio, você só precisaria mudar a string "EURCHF" para ser "EURUSD". Isto é, trabalhar com "EURUSD" longo versus "EURUSD" curto.
Eu tentei isso
Obrigado por sua resposta, mas eu tentei não ter sucesso. O código que você forneceu ensinou muito a mim e à minha namorada sobre o pouco que sabemos sobre programação!
Muito obrigado!
Hmm. A única "maldade" que posso ver à partida é o teste "v == corte", que compara dois números duplos para igualdade. Talvez funcione melhor olhar apenas para os valores totais de $, e assim mudar "euprofit", "ecprofit", "cut" e "v" para ser do tipo "int"?
Pergunta trivial: Estou escrevendo um novo Indicador Pessoal pela primeira vez. Não consigo visualizar meus logs que faço com o comando Print ("...") no método start{}. Onde eu posso visualizá-los no MetaTrader 4?
Ok, eu uso o comando Comentário().
Dumbo aqui
Olá a todos
Este é um grande fio condutor para alguém como eu, que não sabe nada de programação. Tem muitas informações úteis e muitos pequenos pedacinhos de código que eu poderia copiar e brincar.
Espero que alguém possa me ajudar com este peice. Quero fazer um EA baseado no preço. O que devo inserir no código para dizer o seguinte:
1) Quero que a EA olhe o preço às 20:00 no gráfico de horas e veja qual é a sua relação com os 100sma.
2) Se o preço estiver acima dos 100sma, quero que ele abra 2 ordens de compra em determinado nível.
3) Estes níveis são baseados no preço de fechamento da vela de 16:00, então se a vela de 16:00 for 1,2000, quero que ela abra uma compra em 1,1120 e 1,2080
Eu tenho as paradas e as paradas de arrasto e os níveis de lucro todos trabalhados e coisas assim, todos os códigos tirados deste thred. Portanto, agradeço àqueles que os postaram. I
Ficarei eternamente debatendo se alguém pudesse me ajudar aqui.
Cordiais cumprimentos
Susan
Ajuda
Oi, a todos
Tentei criar uma EA e recebi a seguinte mensagem de erro:
Fim_do_programa' - parêntese final '} esperado C:\...Minha_Primeira_EA.mq4(96,1)
Eu cliquei duas vezes, cheguei à linha, depois verifiquei com parênteses de abertura antes dela, e ainda não sei onde cometi um erro.
Esta foi a segunda EA que tentei, com a mesma mensagem de erro, com base no mesmo indicador.
Obrigado.