[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 314
Eu mesmo cometi o maldito erro. Na verdade, não há lógica alguma. Para abrir um pedido pendente de acordo comhttps://book.mql4.com/ru/appendix/limits, o preço de abertura deve ser abaixo de Bid (para venda) ou acima de Ask (para compra). Estou fazendo o que é necessário.
De vez em quando eu recebo 0 e 130 erros. Embora 130 seja um erro de parada errada, que pode acontecer durante a modificação, mas não durante a abertura do pedido.
Na imagem da tela, a situação e a impressão exibida pela função pr.
Por favor, informe como se livrar deste bug. Estou realmente farto e cansado deste erro. Logicamente, não se trata de forma alguma do assunto.
Victor, além da conformidade acima-abaixo, você precisa usar a liberação preventiva, porque enquanto o pedido está sendo enviado, o preço não está parado, então você recebe um degrau ou um passo para a área restrita! Insira como em modificação e um deslizamento maior, e você ficará bem! Trabalhando no Real sem erros! Boa sorte!
borilunad: Victor, além de acima-abaixo, você precisa usar uma lacuna preventiva, porque enquanto o pedido está sendo enviado, o preço não está parado, então você recebe um degrau ou um passo para a zona proibida! Insira como em modificação e um deslizamento maior, e você ficará bem! Trabalhando no Real sem erros! Boa sorte!
Boris, então o escorregamento já vale 3, isto, como eu entendo 3 pontos. De quanto mais você precisa?
Você quer dizer assim:
bool OpenBuy()
{
int ticket = -1;
double OOP = High[1] + i_thresholdToUp * pt;
pr ("ND(OOP) = " + ND(OOP) + " ; Ask = " + Ask);
pr ("g_stopLevel = " + g_stopLevel);
if ((ND(OOP) - g_stopLevel)> Ask)
ticket = OrderSend(Symbol(), OP_BUYSTOP, 0.1, ND(OOP), 3, 0, 0, NULL, i_magic, 0, CLR_NONE);
else pr ("Ордер послать не удалось " + GetLastError());
if (ticket > 0)
{
// lastBarTime = Time[0]; // На текущем баре все необходимые действия..// .. успешно выполненыreturn (true);
}
}
Estou me perguntando como implementá-la de uma maneira melhor, para não colocar funções extras aqui.
Mas 1=cnt/cnt, a -cnt=cnt/(-1), a única diferença é o denominador. Agora lembre-se que x^0=1, x^1=x, ou seja, podemos colocar nossa variável booleana _if no expoente, ou seja,step=cnt/a*(cnt^_if); onde
if(_if) a=1;
}else{ a=-1;
}
Mas ±a é supostamente 2*_if-1, ou seja
bool _if=((2*trend-1)*Δ≥const);//аналогично _if=(±Δ≥const)int step=cnt/(2*_if-1)*(cnt^_if);//принимает два значения: 1 и -cnt
cnt=cnt+step;
Rapazes, por favor, avisem um roteiro que dê uma mensagem de que o mercado está aberto e que o mercado está fechado.
Isto é, quando a segunda-feira chega às 0.00.01 dá uma mensagem de que o mercado abre, depois a mensagem de que "o mercado está aberto", de forma semelhante, que o mercado fechou.
Eu escrevi um roteiro, mas não funciona (( Ajude-me a descobri-lo.
// определяем начало и конец торгов.// начало торгов в понедельник в 0.00.01if(DayOfWeek()==1 && Hour()== 0 && Minute()== 0 && Seconds()==01)
{
Alert("Рынок открылся.");
}
// конец торгов в Пятницу в 23.59.59if(DayOfWeek()==5 && Hour()== 23 && Minute()== 59 && Seconds()==59)
{
Alert("Пятница, Рынок закрылся.");
}
Existe algum robô capaz de fazer pedidos pendentes BAY STOP e SELL STOP? Em um determinado momento, com um passo mínimo de disparo do preço naquele momento. Em resumo, sob as notícias. Eu não tenho tempo com minhas mãos.
Eu mesmo cometi o maldito erro. Na verdade, não há lógica alguma. Para abrir um pedido pendente de acordo comhttps://book.mql4.com/ru/appendix/limits, o preço de abertura deve ser abaixo de Bid (para venda) ou acima de Ask (para compra). Estou fazendo o que é necessário.
De vez em quando eu recebo 0 e 130 erros. Embora 130 seja um erro de parada errada, que pode acontecer durante a modificação, mas não durante a abertura do pedido.
Na captura de tela a situação e a impressão exibida usando a função pr.
Por favor, informe como se livrar deste bug. Estou realmente farto e cansado deste erro. Logicamente, não se trata de forma alguma do assunto.
O 130º erro não é necessariamente uma ordem de parada. É também uma distância de colocar ordens pendentes pelo menos em MarketInfo(Symbol(), MODE_STOPLEVEL)
borilunad: Espero que deslize 3 por 4 dígitos, se você precisar de 30 por 5!
Portanto, não há nenhum deslize no testador... Corrigido a 30.
artmedia70: 130º erro não é necessariamente parar ordens. É também uma distância de ordens pendentes pelo menos igual a int MarketInfo(Symbol(), MODE_STOPLEVEL)
Aqui está:
//+-------------------------------------------------------------------------------------+//| Открытие длинной позиции |//+-------------------------------------------------------------------------------------+bool OpenBuy()
{
int ticket = -1;
double OOP = High[1] + i_thresholdToUp * pt;
pr ("ND(OOP) = " + ND(OOP) + " ; Ask = " + Ask);
pr ("g_stopLevel = " + g_stopLevel);
if (ND(OOP)> (Ask + g_stopLevel))
ticket = OrderSend(Symbol(), OP_BUYSTOP, 0.1, ND(OOP), 30, 0, 0, NULL, i_magic, 0, CLR_NONE);
else pr ("Ордер послать не удалось " + GetLastError());
if (ticket > 0)
{
// lastBarTime = Time[0]; // На текущем баре все необходимые действия..// .. успешно выполненыreturn (true);
}
}
Está escrito da mesma forma que o seu Artem. Ontem foi a mesma coisa pela lógica. Mas os erros estão se acumulando. Não faz sentido acrescentar pontos extras para que funcione no testador, onde não há nenhuma solicitação ou escorregamento.
O que devo fazer de uma forma mais universal para evitar cometer os mesmos erros? Já vi tantos Expert Advisors que nunca adicionaram 2-3 pontos extras, exceto por deslizamento. Afinal de contas, neste caso haverá um desvio de 6pp em relação ao preço exigido. E isto não está certo. Os Conselheiros Especialistas são escritos tanto para carrapatos como para atas. E parece que pode haver precisão no comércio. Portanto, quero que seja preciso, que não tenha travessões enormes.
Rapazes, por favor, avisem um roteiro que dê uma mensagem de que o mercado está aberto e que o mercado está fechado.
ou seja, quando na segunda-feira 0.00.01 dá a mensagem de que o mercado abre, então a mensagem de que "o mercado está aberto", de forma semelhante, que o mercado fechou.
escreveu um roteiro, mas por alguma razão ele não funciona (( ajude-me a descobri-lo.
Se for um roteiro e estiver localizado na pasta de scpirts, então funcionou uma vez e foi removido do gráfico. A fim de mantê-lo permanentemente, escreva seu código dentro deste
int start()
{
while(!IsStopped())
{
// вот сюдаSleep(500);
}
}
Eu mesmo cometi o maldito erro. Na verdade, não há lógica alguma. Para abrir um pedido pendente de acordo comhttps://book.mql4.com/ru/appendix/limits, o preço de abertura deve ser abaixo de Bid (para venda) ou acima de Ask (para compra). Estou fazendo o que é necessário.
De vez em quando eu recebo 0 e 130 erros. Embora 130 seja um erro de parada errada, que pode acontecer durante a modificação, mas não durante a abertura do pedido.
Na imagem da tela, a situação e a impressão exibida pela função pr.
Por favor, informe como se livrar deste bug. Estou realmente farto e cansado deste erro. Logicamente, não se trata de forma alguma do assunto.
Victor, além de acima-abaixo, você precisa usar uma lacuna preventiva, porque enquanto o pedido está sendo enviado, o preço não está parado, então você recebe um degrau ou um passo para a zona proibida! Insira como em modificação e um deslizamento maior, e você ficará bem! Trabalhando no Real sem erros! Boa sorte!
Boris, então o escorregamento já vale 3, isto, como eu entendo 3 pontos. De quanto mais você precisa?
Você quer dizer assim:
Estou me perguntando como implementá-la de uma maneira melhor, para não colocar funções extras aqui.
hoz, em eu estava me perguntando como encurtar ainda mais o prazo.Veja: se colocarmos uma variável
temos cnt=cnt+step, onde
Mas 1=cnt/cnt, a -cnt=cnt/(-1), a única diferença é o denominador. Agora lembre-se que x^0=1, x^1=x, ou seja, podemos colocar nossa variável booleana _if no expoente, ou seja,step=cnt/a*(cnt^_if); onde
Mas ±a é supostamente 2*_if-1, ou seja
Ou simplificamos
Boris, então o escorregamento já é 3, é o que eu entendo por 3 pontos. De quanto mais você precisa?
Você quer dizer assim:
Estou me perguntando como implementar isto de forma mais inteligente para não colocar funções extras aqui.
Rapazes, por favor, avisem um roteiro que dê uma mensagem de que o mercado está aberto e que o mercado está fechado.
Isto é, quando a segunda-feira chega às 0.00.01 dá uma mensagem de que o mercado abre, depois a mensagem de que "o mercado está aberto", de forma semelhante, que o mercado fechou.
Eu escrevi um roteiro, mas não funciona (( Ajude-me a descobri-lo.
Existe algum robô capaz de fazer pedidos pendentes BAY STOP e SELL STOP? Em um determinado momento , com um passo mínimo de disparo do preço naquele momento. Em resumo, sob as notícias. Eu não tenho tempo com minhas mãos.
Eu mesmo cometi o maldito erro. Na verdade, não há lógica alguma. Para abrir um pedido pendente de acordo comhttps://book.mql4.com/ru/appendix/limits, o preço de abertura deve ser abaixo de Bid (para venda) ou acima de Ask (para compra). Estou fazendo o que é necessário.
De vez em quando eu recebo 0 e 130 erros. Embora 130 seja um erro de parada errada, que pode acontecer durante a modificação, mas não durante a abertura do pedido.
Na captura de tela a situação e a impressão exibida usando a função pr.
Por favor, informe como se livrar deste bug. Estou realmente farto e cansado deste erro. Logicamente, não se trata de forma alguma do assunto.
Espero que deslize 3 por 4 dígitos, se você precisar de 30 por 5!
Portanto, não há nenhum deslize no testador... Corrigido a 30.
130º erro não é necessariamente parar ordens. É também uma distância de ordens pendentes pelo menos igual a int MarketInfo(Symbol(), MODE_STOPLEVEL)
Aqui está:
Onde:
g_stopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL) * pt;Está escrito da mesma forma que o seu Artem. Ontem foi a mesma coisa pela lógica. Mas os erros estão se acumulando. Não faz sentido acrescentar pontos extras para que funcione no testador, onde não há nenhuma solicitação ou escorregamento.
O que devo fazer de uma forma mais universal para evitar cometer os mesmos erros? Já vi tantos Expert Advisors que nunca adicionaram 2-3 pontos extras, exceto por deslizamento. Afinal de contas, neste caso haverá um desvio de 6pp em relação ao preço exigido. E isto não está certo. Os Conselheiros Especialistas são escritos tanto para carrapatos como para atas. E parece que pode haver precisão no comércio. Portanto, quero que seja preciso, que não tenha travessões enormes.
Amigos!
Surgiu uma questão global
É possível fazer o tick stream no terminal nos fins de semana, para que eu possa escrever e depurar EAs tranquilamente?
Já tenho algumas dicas de como utilizá-lo em meu robô comercial.
não posso usar um carrapato acionando a EA, preciso de um fluxo de carrapatos em uma determinada faixa
existe tal coisa na natureza?
servidores mt4 que imitam citações de streaming nos fins de semana ?
Rapazes, por favor, avisem um roteiro que dê uma mensagem de que o mercado está aberto e que o mercado está fechado.
ou seja, quando na segunda-feira 0.00.01 dá a mensagem de que o mercado abre, então a mensagem de que "o mercado está aberto", de forma semelhante, que o mercado fechou.
escreveu um roteiro, mas por alguma razão ele não funciona (( ajude-me a descobri-lo.
Se for um roteiro e estiver localizado na pasta de scpirts, então funcionou uma vez e foi removido do gráfico. A fim de mantê-lo permanentemente, escreva seu código dentro deste