[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 505

 
eugggy:
barra é o deslocamento da barra atual em relação ao tempo definido nas configurações externas(Start_Point).

bar = ?? na hora de apagar o quê?
 
ask: Você tem que ser mal-educado?

Você está sendo rude agora: ainda não há nenhuma declaração de problema, e o que você rabiscou não é nada, nem mesmo um pseudo-código.

E você acha que eu o enviei para os telepatas incorretamente?

 
sergeev:

bar = ??? no momento de apagar o quê?
Esperemos que para seu valor anterior. Isto é, se eu não precisar do documento quando a barra expirar, tenho que apagá-lo.
 
eugggy:
Espero que seu valor anterior

Bem, só espero que dê certo.

 
sergeev:

Bem, você só espera que dê certo.



:-) Você não pode simplesmente apontar o erro?
 
eugggy:
:-) Você não pode apenas apontar o erro?

:) mas para responder à pergunta que bar=???, você não pode fazer isso?
 
sergeev:

:) mas você não pode responder à pergunta que bar=???, você pode fazer isso ?
Bem, o tópico é para iniciantes, e se eu tivesse certeza de qual é a barra no momento da eliminação, então talvez a EA funcionasse. Acho que sim: quando o documento é fechado, ou seja, aparece uma nova barra, a barra variável aumenta seu valor em 1. Na função excluir, eu coloco a barra-1, ou seja, o número de documento já fechado e se a barra anterior não atender aos critérios especificados, o documento, em cujo valor o número = o valor atual da barra variável menos 1, é excluído. O erro pode ser porque eu estou apagando um documento já apagado?
 

ninguém notou o erro, portanto, mais uma vez.

Você poderia me dizer o erro no código? obrigado.

//+
+
//| line.mq4 |
//| |
||
//+
+
//--- parâmetros de entrada venda externa de bool = 1; // permissão de venda
compra externa de bool = 1; lotes duplos externos = 0.1;
extern int sl = 50;
extern int tp = 150;

extern int order = 10; //

extern double bez = 15;
extern double tral_step = 15;
extern double tral_start = 10;

//+ +
//| expert initialization function |
//+ +
int init()
{
return(0);
}
//+

+
//| função de desinicialização especializada |
//+------------------------------------------------------------------+
int deinit()
{
// //
return(0);
}
//+
+ //| expert start function |
//+ +
int start()
{
//


string sell_stop ="ss"; //name a linha manualmente
string buy_stop ="bs"; //buy

// encontre a linha e faça um pedido quando o preço tocar
if (ObjectFind (buy_stop) > 0 ) // se houver linha buy_stop
if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )// toque na linha
{
OrderSend (Symbol(),OP_BUYSTOP, lots, Ask+Point*order,3, Bid-sl*Point, Bid+tp*Point );// envie o pedido
ObjectDelete (buy_stop); // a linha é removida
}


return(0);
}
//+-------------------------

 
TESKATLIPOKA:

Ninguém notou o erro, portanto, mais uma vez.

você pode me dizer o erro no código? obrigado.


Aqui estão eles (há muito mais erros em seu código, mas estes nem sequer passam pelo compilador):

.
if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )// касание линии
E mesmo se você mudar o código para algo mais são do ponto de vista do compilador:

if ( ObjectGet (buy_stop, OBJPROP_PRICE1) == Ask )// касание линии

Se você não conhece o erro, ele ainda estará teoricamente errado sem a normalização prévia dos valores reais antes da comparação. Pior ainda, a normalização pode falhar se o preço mudar em mais de uma tubulação de uma só vez e sua condição deslizar.

É mais correto encontrar a condição de cruzamento da seguinte maneira:

if (ObjectGet (buy_stop, OBJPROP_PRICE1) <= High[0]) && (ObjectGet (buy_stop, OBJPROP_PRICE1) >= Low[0]))//  на текущей свече касание линии уже имело место


P.S. No MetaTrader, encontrar o ponto de erro após a compilação é bastante fácil:

1. Na aba "Toolbox", no campo "File", especifique o número da linha e o número do símbolo no qual o compilador detectou um erro, separado por vírgulas.

2. Se você clicar duas vezes na mensagem de erro na coluna "Descrição" da mesma aba, o cursor no editor saltará para o local onde o compilador detectou o erro.

 
eugggy:
Bem, o tópico é para iniciantes, e se eu tivesse certeza de qual era a barra no momento da eliminação, talvez a EA funcionasse.
Então me pergunte como descobrir o que é o bar.