Europa: Pode dizer-me porque é que o alerta está a dar ordens_Total=1, quando na realidade há uma posição e uma ordem, ou seja, em teoria deve dar 2, e não 1
Tente fazer o ciclo andar para trás, a partir do fim.
A data (ano, mês, data) ou a hora (horas, minutos, segundos) ou todos juntos podem ser omitidos. O intervalo de valores é de 1 de Janeiro de 1970 a 31 de Dezembro de 3000.
Exemplos:
D'2004.01.01.01 00:00' // Ano Novo D'1980.07.19 12:30:27' D'19.07.1980 12:30:27' D'19.07.1980 12' //novo ano d'1980.07.19 12:00:00' D'01.01.2004' //equivalente D'01.01.2004 00:00:00' D'12:30:27'//equivalente a D'[data de compilação] 12:30:27' D' '//equivalente a D'[data de compilação] 00:00:00''.
...
Ou será que estou a interpretar isto mal?
A ajuda será emendada para que tais questões não surjam no futuro. Obrigado.
Porque está a adicionar moscas e costeletas e depois a determinar a quantidade de costeletas que existem?
As encomendas contam separadamente, as posições separadamente. PositionGetSymbol() retorna apenas a presença de uma posição por símbolo, e não diz nada sobre ordens. Uma vez que só há uma posição, dá 1. E ainda tem sorte, uma vez que o parâmetro de laço vai além dos valores aceitáveis (PositionsTotal), pode obter tudo o que quiser.
Não consegui encontrar nenhuma função ou propriedade interna para dar a propriedade seleccionável a um objecto gráfico (por defeito, o objecto é desenhado programmaticamente sem a possibilidade de o seleccionar com o rato). Obviamente, a questão é: é possível dar a um objecto gráfico uma tal propriedade normalmente, sem bibliotecas adicionais e outras feitiçarias?
x100intraday: Não consegui encontrar nenhuma função ou propriedade interna para dar a propriedade seleccionável ao objecto gráfico (por defeito o objecto é desenhado programmaticamente sem o seleccionar com o rato), encontrei-o apenas na biblioteca gráfica incluída. Obviamente, a questão é: é possível dar a um objecto gráfico uma tal propriedade normalmente, sem bibliotecas adicionais e outras feitiçarias?
bool ExtFunc (string str, int P, int i)
{
if (high[i] < high[i-1]) return(false);
return(true);
}
intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int i=0;
if ExtFunc("s",60,i) == 1)
Buffer[i] = high[i];
}
NaOnCalculate posso facilmente utilizar elementos de matriz como alta por índice. É também possível aceder aos elementos de índice desta matriz em ExtFunc? Ao chamar a minha função, devo passar o array-argument por referência, através do ponteiro ou outra coisa? Até agora consegui minimizar as mensagens de erro para: "'alto' - a conversão de parâmetros não é permitida" e "'alto' - variável constante não pode ser passada como referência" em relação à mesma linha da minha chamada de função com o argumento de matriz da OnCalculate. É inútil ou existe uma solução?
Até agora, na OnCalculate, recorri à cópia em alta para outra matriz:
ArrayCopy(CopyOfHigh,high,0,0,WHOLE_ARRAY);
e depois utilizando CopyOfHigh em ExtFunc, em vez de utilizar directamente a alta radiação.
Pode dizer-me porque é que o alerta está a dar ordens_Total=1, quando na realidade há uma posição e uma ordem, ou seja, em teoria deve dar 2, e não 1
Tente fazer o ciclo andar para trás, a partir do fim.
Tente fazer o ciclo andar para trás, a partir do fim.
Não funcionou;(
Ah, só tem uma verificação de posição:
É aí que apenas são contadas as posições.Ah, só tem uma verificação de posição:
É aí que só contam as posições.A referência diz isso:
A data (ano, mês, data) ou a hora (horas, minutos, segundos) ou todos juntos podem ser omitidos. O intervalo de valores é de 1 de Janeiro de 1970 a 31 de Dezembro de 3000.
Exemplos:
D'2004.01.01.01 00:00' // Ano Novo
D'1980.07.19 12:30:27'
D'19.07.1980 12:30:27'
D'19.07.1980 12' //novo ano d'1980.07.19 12:00:00'
D'01.01.2004' //equivalente D'01.01.2004 00:00:00'
D'12:30:27' //equivalente a D'[data de compilação] 12:30:27'
D' '//equivalente a D'[data de compilação] 00:00:00''.
Ou será que estou a interpretar isto mal?
Não ajudou;(
Porque está a adicionar moscas e costeletas e depois a determinar a quantidade de costeletas que existem?
As encomendas contam separadamente, as posições separadamente. PositionGetSymbol() retorna apenas a presença de uma posição por símbolo, e não diz nada sobre ordens. Uma vez que só há uma posição, dá 1. E ainda tem sorte, uma vez que o parâmetro de laço vai além dos valores aceitáveis (PositionsTotal), pode obter tudo o que quiser.
P.S. Já respondeu, estou atrasado.
Não consegui encontrar nenhuma função ou propriedade interna para dar a propriedade seleccionável ao objecto gráfico (por defeito o objecto é desenhado programmaticamente sem o seleccionar com o rato), encontrei-o apenas na biblioteca gráfica incluída. Obviamente, a questão é: é possível dar a um objecto gráfico uma tal propriedade normalmente, sem bibliotecas adicionais e outras feitiçarias?
ObjectSetInteger
com prop_id=OBJPROP_SELECTABLE
ObjectSetInteger
com prop_id=OBJPROP_SELECTABLE
NaOnCalculate posso facilmente utilizar elementos de matriz como alta por índice. É também possível aceder aos elementos de índice desta matriz em ExtFunc? Ao chamar a minha função, devo passar o array-argument por referência, através do ponteiro ou outra coisa? Até agora consegui minimizar as mensagens de erro para: "'alto' - a conversão de parâmetros não é permitida" e "'alto' - variável constante não pode ser passada como referência" em relação à mesma linha da minha chamada de função com o argumento de matriz da OnCalculate. É inútil ou existe uma solução?
Até agora, na OnCalculate, recorri à cópia em alta para outra matriz:
e depois utilizando CopyOfHigh em ExtFunc, em vez de utilizar directamente a alta radiação.