Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 89
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
como posso determinar a hora do dia de negociação em futuros?
MarketInfo(Símbolo(),MODE_STARTING)
MarketInfo(Símbolo(),MODE_EXPIRATION)
devolve zeros
qual corretor?
Portanto, antes de mais nada, você deve verificar com seu corretor.
Caros membros do fórum, como escrever a condição de atravessar a linha do canal pelo preço em seu consultor especializado, por exemplo, o preço atravessa a linha do canal de cima e o comércio é aberto ou fechado? Por favor, note que estou interessado no momento deste crossover. Eu ficaria feliz em ajudar.
double price0=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 0),Digits)); - valor de sua linha na barra 0.
double price1=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 1),Digits)); - valor de sua linha na barra 1.
E a maneira mais simples de determinar o momento da quebra na barra de zero: if(High[0]>price0 && High[1]<=preço1) {a linha rompeu para cima}, if(Low[0]<price0 && Low[1]>=preço1) {a linha rompeu para baixo}. Os ifs serão VERDADEIROS desde o momento da descoberta até o final da barra atual. É desejável que sua linha de canal tenha a propriedade OBJPROP_RAY===True
Caros membros do fórum, como fazer uma condição em um EA para atravessar a linha do canal, por exemplo, se o preço atravessa a linha do canal de cima e um negócio é aberto ou fechado? Por favor, note que estou interessado no momento deste crossover. Eu ficaria feliz em ajudar.
De duas maneiras:
Se Ask > linha de canal e Low[1] <=linha de canal, atravessar para cima
Se Bid < linha de canal e High[1] >=linha de canal, cruzar para baixo
Você pode verificar com MA com o período 1
. Devo ter colocado a pergunta incorretamente, eu deveria ter anexado parte do código. Eu estou corrigido.
Como sugerido por
artmedia70 indicou a interseção a ser fechada da seguinte forma Ele fecha o negócio de acordo com a captura de tela. Mas precisamos fechar o negócio onde a cruz está
verificação nula CheckForClose()
{
preço duplo alto, preço baixo;
//---- go trading only for first tiks of new bar
if(Volume[0]>1) voltar;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0);
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continua;
//---- check order type
if(OrderType()==OP_BUY)
{
if(Baixo[1]<=PriceHigh && Ask>==PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
pausa;
}
if(OrderType()==OP_SELL)
{
if(High[1]>=PriceLow && Bid<==PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
pausa;
}
}
//----
}
como selecionar o último pedido FECHADO no software e obter informações a partir dele?
Você pode encontrar o que quiser.
Obrigado por sua ajuda
. Devo ter colocado a pergunta incorretamente, eu deveria ter anexado parte do código. Eu estou corrigido.
Como sugerido por
artmedia70 indicou a interseção a ser fechada da seguinte forma O negócio está sendo fechado de acordo com a captura de tela. Mas precisamos fechar o negócio onde a cruz está
verificação nula CheckForClose()
{
preço duplo alto, preço baixo;
//---- go trading only for first tiks of new bar
if(Volume[0]>1) voltar;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0);
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continua;
//---- check order type
if(OrderType()==OP_BUY)
{
if(Baixo[1]<=PriceHigh && Ask>==PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
pausa;
}
if(OrderType()==OP_SELL)
{
if(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
pausa;
}
}
//----
}
ExtremeTMA - ExtremeTMA - ExtremeTMA - ExtremeTMA É um grande pedaço de história - as últimas 30 barras, se não mais. Eu o usei para escrever um Expert Advisor - é uma droga. Imagine: aparece um sinal, eu o alcancei, mas algum tempo depois o sinal não existe na história - o indicador redesenhado e acontece que eu entrei por nada.
Você cometeu um erro ao determinar a travessia: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ... você deve escrever if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... E pelo contrário, por analogia.
Insira o código com o botão SRC no painel na parte superior da janela de entrada de sua mensagem
ZZZY Então, onde está a imagem da tela com a cruz?
ExtremeTMA - eles são impiedosos. E um enorme pedaço de história - as últimas 30 barras, se não mais. Eu o usei para escrever um Expert Advisor - é uma droga. Imagine: recebi um sinal, entrei nele, e algum tempo depois o sinal não existe na história - o indicador fez demasiados ruídos e acontece que entrei no mercado em vão.
Você cometeu um erro ao determinar a travessia: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ... você deve escrever if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... E pelo contrário, por analogia.
SZY O código deve ser colado pressionando o botão SRC no painel na parte superior da janela de entrada de texto
Corrigido, fechou o comércio da mesma forma que na captura de tela acima, e deve estar onde está a cruz vermelha.
Concordo que ExtremeTMA redraws, mas acho que não afeta a busca por pontos de entrada, o principal aqui são os filtros. Eu usei o indicador TDI. Anexei o que fiz (não tenho boas mãos, é por isso que esta EA deve ser tratada adequadamente). Tenho apenas um problema com ele, leva cerca de 5 horas no testador durante 1 ano (cometi um erro em algum lugar). Se não for difícil procurar por erros.
Corrigido, fechou o comércio da mesma forma que na foto acima, mas onde a cruz vermelha deveria estar.
Eu concordo que o ExtremeTMA está com um desenho a mais, mas acho que isso não afeta a busca por pontos de entrada, o principal aqui são os filtros. Eu usei o indicador TDI. Anexei a ponta (minhas mãos não são direitas, o projeto Expert Advisor é como minhas mãos). Tenho apenas um problema com ele, leva cerca de 5 horas no testador durante 1 ano (cometi um erro em algum lugar). Se não for difícil procurar por erros.
Ainda não procurei por erros - muito o que fazer.
Para fechar Sell onde está a cruz vermelha, você precisa verificar a barra atual. Se Ask<== nível fechado && Alto[1]> nível fechado