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 178

 
tara:

Não sei o que os camaradas vão dizer, mas me parece bem. Ele desenha as setas, mas não os objetos.
A mim me parece a mesma coisa. Setas podem ser desenhadas como parte do buffer indicador, enquanto os objetos são criados via ObjectCreate()
 
pu6ka:
A mim me parece a mesma coisa. As setas podem ser desenhadas como parte do buffer indicador, e os objetos são criados através de ObjectCreate()


Eu não vou discutir.
 
tara:

Não sei o que os camaradas vão dizer, mas me parece bem. Ele desenha setas, mas sem objetos.

Percebo que fiz uma pergunta tola, então como o indicador desenha setas através dos amortecedores, e como interpretá-las em sinais comerciais?
 

bistreevseh:

Percebo que fiz uma pergunta tola, então como o indicador atravessa as setas através dos amortecedores e como interpretá-las em sinais comerciais?
muito provavelmente quando não há sinal o valor do tampão indicador é EMPTY_VALUE

como pegar um sinal - aqui estão as idéias e a implementação


 
bool Stochastic () {
double Sig_Buy = zoneBUY; 
double Sig_Sell = zoneSELL;
bool Exit_UrBuy = TRUE;
bool Exit_UrSell = TRUE;
double sM0,sM1,sS0, sS1;
bool Bar_BuyCross = FALSE;
bool Bar_SellCross = FALSE;
int bar_b, bar_s;


   sM0  = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,1);
   sM1  = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,2);
   sS0 = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,1);
   sS0 = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,2);


bool CrossBuy = (sS0<Sig_Buy && sM0<Sig_Buy && sM1<sS1 && sM0>=sS0);
bool CrossSell = (sS0>Sig_Sell && sM0>Sig_Sell && sM1>sS1 && sM0<=sS0);

if (UseExitUr) {
if (sM0 >Sig_Buy && sM1 <= Sig_Buy) Exit_UrBuy = TRUE;
else Exit_UrBuy = FALSE;
if (sM0 <Sig_Sell && sM1 >= Sig_Sell) Exit_UrSell = TRUE;
else Exit_UrSell = FALSE;
}

if (CrossBuy) { TimeCrossB =  iOpen( NULL, 0, 1); }

  for (int cnt = 1 ; cnt < Finder ; cnt++) {
bar_b = iBarShift(NULL, 0, TimeCrossB, cnt); 
if (bar_b > 0) Bar_BuyCross = TRUE; 
}

if (Bar_BuyCross && Exit_UrBuy) {
     Li_24 = TRUE;
     TimeCrossB = -1;
 }

if (CrossSell) {TimeCrossS = iOpen( NULL, 0, 1);}

for (int cnm = 1 ; cnm < Finder ; cnm++) {
bar_s = iBarShift(NULL, 0, TimeCrossS, cnm); 
if (bar_s > 0) Bar_SellCross = TRUE; 
}


if (Bar_SellCross && Exit_UrSell) {
    TimeCrossS = -1;
    Li_28 = TRUE;
   }

   return(false);
}

Caros profissionais, por favor, ajudem-me com esta idéia. Quero pegar um sinal do estocástico quando ele sair da zona de sobre-compra (sobre-vendido), se suas linhas cruzarem estas zonas. Também quero que esta travessia não seja além de um certo número de barras - o parâmetro Finder. Mas eu não posso implementá-lo. Se você tiver alguns olhos frescos, por favor, veja onde há erros.

Nota: Parâmetros:

Li_28 = TRUE; и Li_24 = TRUE; 

coruja lê como bom para abrir pedidos

 
dr.Vasgenich:

Olhe o código com novos olhos e veja onde estão os erros.

Desculpe, não sou um profissional, mas um código deste tamanho sem um único comentário

1) prolonga o tempo necessário para a análise e busca do erro;

2) desencoraja você de analisar e procurar o erro.

 

Amigos, entendo que para muitos isto será trivial e simples, mas vocês poderiam me ajudar a escrever um EA no qual aparecerá um sinal audível quando o histograma MAKD cruzar o "0" em H4 e D1. É isso aí.

Talvez eu já tivesse tais perguntas, desculpe nesse caso. Mas eu preciso muito do código ...

 
CAYANNE:

Amigos, entendo que para muitos isto será trivial e simples, mas vocês poderiam me ajudar a escrever um EA no qual aparecerá um sinal audível quando o histograma MAKD cruzar o "0" em H4 e D1. É isso aí.

Talvez eu já tivesse tais perguntas, desculpe nesse caso. Mas eu preciso muito do código ...


É por aqui.
 

Você pode me dizer como implementar uma proibição de instalar um segundo indicador do mesmo tipo em uma janela, se um já está instalado lá?

Eu gostaria de fazê-lo diretamente no código indicador, mas não sei como fazê-lo.

A única coisa que me ocorre é verificar o indicador no init(), mas o init() é chamado depois que o indicador é instalado...

 

Por favor, ajude!

 OrderClose( OrderTicket(), 0.1, NormalizeDouble(Bid,2), 1 );  
      Alert("Маємо помилку ",GetLastError());

Erro 0 e o pedido não fecha! O que está errado?

Razão: