AlexeyVik: Eu já lhe disse, use o que quiser. Deixe seu código verificar se a hora atual é menor do que ontem, caso o tempo tenha recuado. E deixá-lo ter variáveis estáticas em nível de variável global. E o resto não é novidade. Afinal, o aparecimento de um novo bar só pode ser determinado pelo tempo de abertura do bar atual e pelo tempo do bar anterior. Todo o resto só pode ser determinado através do furo analógico. Você estava esperando algo sobrenatural? A única diferença é que eu uso meu código, que eu edito quando e como eu quero, e você compila códigos a partir de dados com uma advertência de que este código é antigo, como era e funciona e você não pode tocar no código de trabalho, porque existe uma regra de ferro de merda.
evillive: parabéns, é o mesmo na lógica do trabalho. usei-o dessa maneira também, sem diferença. deveria ter lutado por ele...
Rapazes, imho, vocês dois estão errados. O modo de gerenciamento de memória estática na MQL funciona de uma forma muito peculiar. As variáveis são inicializadas SOMENTE uma vez durante todo o período de execução do programa - pouco antes da primeira chamada do init().
Daí, inevitavelmente, segue-se que seus programas estão sempre errados no momento em que os parâmetros da EA mudam, por exemplo.
Rapazes, acho que estão ambos errados. Na MQL, o modo de gerenciamento de memória estática funciona de uma forma muito peculiar. A inicialização das variáveis ocorre SOMENTE uma vez durante todo o período de trabalho do programa - pouco antes da primeira chamada do init().
Daí, inevitavelmente, segue-se que seus programas estão sempre errados no momento em que os parâmetros da EA mudam, por exemplo.
É por isso que eu agora uso a função de nova definição de barra deste artigo
CJIeCaPb: Ei pessoal, como sei a distância mínima para fazer um pedido pendente?
int lv=(int)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
int sp=(int)SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
int stopLevel=(lv==0)?sp*2:lv;
Bem, ou uma função:
//+------------------------------------------------------------------+int StopLevel(string sy) {
int lv=(int)SymbolInfoInteger(sy,SYMBOL_TRADE_STOPS_LEVEL);
int sp=(int)SymbolInfoInteger(sy,SYMBOL_SPREAD);
return((lv==0)?sp*2:lv);
}
//+------------------------------------------------------------------+
borilunad: Você tem que colocar as vírgulas, é difícil entender o que você está tentando dizer!
+100500. Não quero nem mesmo responder a tais operações. Tenho a sensação de que terei que explicar por um longo, longo tempo nos dedos a um aluno completamente analfabeto da terceira série.
Como "o homem não pode falar inteligentemente, quero mandá-lo de volta para a escola em vez de dizer-lhe o que ele deve fazer corretamente" ...
Eu já lhe disse, use o que quiser. Deixe seu código verificar se a hora atual é menor do que ontem, caso o tempo tenha recuado. E deixá-lo ter variáveis estáticas em nível de variável global. E o resto não é novidade. Afinal, o aparecimento de um novo bar só pode ser determinado pelo tempo de abertura do bar atual e pelo tempo do bar anterior. Todo o resto só pode ser determinado através do furo analógico. Você estava esperando algo sobrenatural? A única diferença é que eu uso meu código, que eu edito quando e como eu quero, e você compila códigos a partir de dados com uma advertência de que este código é antigo, como era e funciona e você não pode tocar no código de trabalho, porque existe uma regra de ferro de merda.
parabéns, é o mesmo na lógica do trabalho. usei-o dessa maneira também, sem diferença. deveria ter lutado por ele...
Rapazes, imho, vocês dois estão errados. O modo de gerenciamento de memória estática na MQL funciona de uma forma muito peculiar. As variáveis são inicializadas SOMENTE uma vez durante todo o período de execução do programa - pouco antes da primeira chamada do init().
Daí, inevitavelmente, segue-se que seus programas estão sempre errados no momento em que os parâmetros da EA mudam, por exemplo.
Rapazes, acho que estão ambos errados. Na MQL, o modo de gerenciamento de memória estática funciona de uma forma muito peculiar. A inicialização das variáveis ocorre SOMENTE uma vez durante todo o período de trabalho do programa - pouco antes da primeira chamada do init().
Daí, inevitavelmente, segue-se que seus programas estão sempre errados no momento em que os parâmetros da EA mudam, por exemplo.
Ei pessoal, como sei a distância mínima para fazer um pedido pendente?
Bem, ou uma função:
Bem e chame-o em cada tique, por exemplo:
int stopLevel=StopLevel(symbol);símbolo de corda - uma variável que armazena o nome do símbolo requerido, ou a corrente: Symbol()
Por favor, avise-me quando meu pedido for fechado, ele terá sido reaberto no mesmo local.
ou seja, estava pendente no fechamento tornou-se pendente no mesmo nível em que estava.
Por favor, avise-me quando meu pedido for fechado, ele terá sido reaberto no mesmo local.
ou seja, estava pendente no fechamento tornou-se pendente no mesmo nível em que estava.
Você tem que colocar as vírgulas, é difícil entender o que você está tentando dizer!
+100500. Não quero nem mesmo responder a tais operações. Tenho a sensação de que terei que explicar por um longo, longo tempo nos dedos a um aluno completamente analfabeto da terceira série.
Como "o homem não pode falar inteligentemente, quero mandá-lo de volta para a escola em vez de dizer-lhe o que ele deve fazer corretamente" ...
SZZ. Recurso técnico, especializado, maldição...
Bem, ou uma função:
Bem e chame-o em cada tique, por exemplo:
símbolo de corda - uma variável que armazena o nome do símbolo desejado, ou o símbolo atual: Symbol()
Soletre as vírgulas, não está claro o que você quer!
camaradas, digam-me, eu quero que quando meu pedido for fechado, ele abra novamente no mesmo lugar. através de qual operação e como????
o essencial agora está claro????