[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 583
// verificar se há aumento de ADX > 20, ou apenas aumento de ADX ---- verificar se há força. se (x<20 && x0>20) {f3 = 1; }
não é atendida e o comércio é aberto.
A julgar pelo comentário na captura de tela - você está controlando a barra zero para tomar decisões.
Isto não é bom... Em uma barra zero, os indicadores podem ir e voltar muitas vezes durante a formação da barra, criando assim sinais falsos (tagarelice).
Para evitar isso, verifique a primeira barra já formada.
Há muito tempo venho trabalhando nisto. Muitas vezes eu noto no gráfico que o preço parece estar atingindo um nível onde normalmente o alto ou o baixo da vela é quase igual ao do outro. Mas eu não sei como fazê-lo matematicamente. Estive cavando o fórum e o banco de dados por 3 dias, mas não consigo encontrar nada parecido.
Estou tentando exibir informações sobre uma vela anterior (barra não zerada) - vela em alta ou em baixa, tamanho de seu corpo e sombras e proporção de sombras em relação ao corpo da vela.
Mas não produz uma flor de pedra. Ela produz valores errados.
int start()
{
int counted_bars=IndicatorCounted();
if (counted_bars<0) return(-1); //---- check for possible errorsif (counted_bars>0) counted_bars--; //---- last counted bar will be recountedint limit=Bars-counted_bars;
double kerzen_typ; //тип свечиstring kerzen_name; //наименование свечиdouble kerzen_body; //размер тела свечиdouble kerzen_shadow_up; //размер верхней тениdouble kerzen_shadow_down; //размер нижней тениdouble kerzen_shadow2body_up; //отношение верхней тени к размеру телаdouble kerzen_shadow2body_down; //отношение нижней тени к размеру тела//---- main loopfor(int bar=0; bar<limit; bar++)
{
//определение контрольной свечки - белая, черная или додж и сбор информацииif (Close[bar]>Open[bar])
{
kerzen_typ=1;
kerzen_name="бычья или белая свеча";
kerzen_shadow_up=High[bar]-Close[bar];
kerzen_shadow_down=Open[bar]-Low[bar];
kerzen_body=Close[bar]-Open[bar];
}
if (Open[bar]>Close[bar])
{
kerzen_typ=-1;
kerzen_name="медвежья или черная свеча";
kerzen_shadow_up=High[bar]-Open[bar];
kerzen_shadow_down=Close[bar]-Low[bar];
kerzen_body=(Open[bar]-Close[bar]);
}
if (Open[bar]==Close[bar])
{
kerzen_typ=0;
kerzen_name="додж";}
kerzen_shadow_up=High[bar]-Open[bar];
kerzen_shadow_down=Close[bar]-Low[bar];
}
//определение соотношения тени к телу свечки if (kerzen_body==0)
{
kerzen_shadow2body_up=kerzen_shadow_up;
kerzen_shadow2body_down=kerzen_shadow_down;
}
if (kerzen_body!=0)
{
kerzen_shadow2body_up=kerzen_shadow_up/kerzen_body;
kerzen_shadow2body_down=kerzen_shadow_down/kerzen_body;
}
//---- doneComment (
"Контрольный бар типа ",kerzen_name,"\n",
"Верхняя тень - ",kerzen_shadow_up*10000," в ",kerzen_shadow2body_up, " раз больше","\n",
"Тело - ",kerzen_body*10000,"\n",
"Нижняя тень - ",kerzen_shadow_down*10000," в ",kerzen_shadow2body_down, " раз больше"
);
return(0);
}
Estou tentando exibir informações sobre uma vela anterior (barra não zerada) - vela em alta ou em baixa, tamanho de seu corpo e sombras e proporção de sombras em relação ao corpo da vela.
Mas não produz uma flor de pedra. Ela produz valores errados.
Por que preciso de um ciclo se eu tomar apenas 1 barra? Basta usar 1 em vez de "barra". Verifique apenas se há novas barras para que não tenha que recalcular tudo em cada tic.
O bilhete permanece como estava
????
Como posso verificar se o pedido está fechado ou não?
Muito obrigado pela recomendação, eu quase descobri, só não consigo lembrar se o pedido é acionado, o bilhete leva um valor de -10?
O bilhete não muda. Só tem um OrderCloseTime maior que zero
E se uma parada ou lucro for acionada, ela também se torna menor que zero, se não estou enganado -1 ?
Como posso definir a condição corretamente? Por favor, informe.
E se uma parada ou lucro for acionada, será menos do que zero, se não estou enganado -1 ?
Como posso definir a condição corretamente? Por favor, me dê uma dica.
Não se tornará diferente, permanecerá o mesmo. As posições fechadas vão para a lista do histórico de negócios com as mesmas passagens.
Veja esta mesma lista de histórico de transações e procure o pedido lá.
Por quê? Comente todas as bandeiras de uma só vez".
Aí mesmo:
não houve aumento no ADX, o que significa que a condição
// verificar se o ADX > 20, ou apenas o ADX ---- verificar a força de movimento.
se (x<20 && x0>20) {f3 = 1; }
não é atendida, mas o comércio é aberto
não houve aumento no ADX, ou seja, a condição
// verificar se há aumento de ADX > 20, ou apenas aumento de ADX ---- verificar se há força.
se (x<20 && x0>20) {f3 = 1; }
não é atendida e o comércio é aberto.
A julgar pelo comentário na captura de tela - você está controlando a barra zero para tomar decisões.
Isto não é bom... Em uma barra zero, os indicadores podem ir e voltar muitas vezes durante a formação da barra, criando assim sinais falsos (tagarelice).
Para evitar isso, verifique a primeira barra já formada.
Saudações!
Estou tentando exibir informações sobre uma vela anterior (barra não zerada) - vela em alta ou em baixa, tamanho de seu corpo e sombras e proporção de sombras em relação ao corpo da vela.
Mas não produz uma flor de pedra. Ela produz valores errados.
Saudações!
Estou tentando exibir informações sobre uma vela anterior (barra não zerada) - vela em alta ou em baixa, tamanho de seu corpo e sombras e proporção de sombras em relação ao corpo da vela.
Mas não produz uma flor de pedra. Ela produz valores errados.
Por que preciso de um ciclo se eu tomar apenas 1 barra? Basta usar 1 em vez de "barra". Verifique apenas se há novas barras para que não tenha que recalcular tudo em cada tic.
E se uma parada ou lucro for acionada, ela irá abaixo de zero, se não estou enganado - -1 ?
Como posso definir a condição corretamente? Você pode me dar uma dica?
mais uma vez.
A variante mais simples (esquemática)