Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado pela resposta ... Assim, para buscar ordens no histórico comercial, usamos a funçãoOrdersHistoryTotal, que, depois de descartar tudo o que não precisamos, se parece com isto
for(int i=OrdersHistoryTotal()-1; i>=0; i--) // - a questão aqui é o que significa "accTotal"no modelo de função que descartamos, e por que você tomou "i--" e não "i++"como no modelo?
- a segunda funçãoOrderComment retorna o comentário da ordem selecionada se ela for selecionada pela função anteriorOrderHistoryTotal, toma a forma
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //- onde "i", este é "i>=0" da função anterior, e "SELECT_BY_TICKET" foi substituído por "SELECT_BY_POS" e "MODE_HISTORY"foi adicionado- por quê?
- A terceira linha é a definição, na verdade não precisamos verificar a ordem necessária, uma vez que só temos ordens de mercado fechadas por TP e SL nesta história (podemos ter uma ordem pendente fechada, mas será rara), todos os outros parâmetros de ordem não são importantes para nós. A única coisa importante é que a quantidade de ordens fechadas na história aumentará constantemente, é possível fazer com que nosso recálculo não leve todas as ordens fechadas, mas uma certa quantidade das últimas, por exemplo, 5-10?
- As últimas quatro linhas são bastante claras, a única questão é sobre a função PlaySound, cujo código deve ser inserido após cada linha"Print("..." como esta
OrderComment retorna o comentário da ordem selecionada, se ela for selecionada pela função anteriorOrdersHistoryTotal - esta função não seleciona nada - ela retorna o número total de ordens fechadas e excluídas(O número de ordens fechadas e excluídas no histórico da conta corrente, carregadas no terminal do cliente). O tamanho da lista do histórico depende das configurações atuais da guia "Histórico de contas" do terminal. Citação do tutorial).
accTotal no exemplo do tutorial:
int i,accTotal=OrdensHistóriaTotal(); - Esta é uma variável int - tomando valor OrdensHistóriaTotal
for(i=0;i<accTotal;i++)// Como percorrer a lista do histórico não é importante da primeira à última ordem ou vice-versa, ela ainda percorre toda a lista em seqüência.
Mas no caso anterior, há 1 variável a menos, mas o pedido OrderHistoryTotalé processado em cada ciclo.
SELECT_BY_POS - o parâmetro índice contém o número do índice da ordem na lista, a lista em si é o segundo operador - MODE_HISTORY é a lista de fechado, MODE_TRADES - aberto ou pendente. SELECT_BY_TICKET - o número do bilhete é passado no parâmetro de índice. O que deve ser levado a algum lugar antes de selecionar a ordem.
- Asúltimas quatro linhas são geralmente claras, a única questão é sobre a função PlaySound, cujo código deve ser inserido após cada linha "Print(
"..." na seguinte forma:
bool PlaySound(
string payment // file name
)
; ..
.Ou também é convertido de alguma forma?
Declare
então o que será impresso? E sob quais condições?
Qual é o objetivo desta ação? Tocar um som quando o pedido é fechado e escrever o comentário (por TP ou SL)?
Graças aVitalie Postolache pela ajuda, graças aos conselhos, e as informações sobre estes livros didáticos provavelmente é um pouco tarde para eu estudar na minha sexta década, provavelmente não posso fazer tanto, deveria ter feito mais cedo, mas não houve tempo. Estou realmente aborrecendo você aqui, desculpe se isso, eu não vou continuar, vou embora.
A propósito, eu também tenho uma pergunta.
Preciso passar um cheque de spread.
Tenho utilizado uma simples solicitação de seu valor e proibição para abrir um pedido se o spread exceder o valor especificado.
Mas o que aconteceu é que quando a propagação está diminuindo, a EA abre uma ordem e essa propagação aumenta.
Agora não consigo encontrar a maneira correta de levar isso em conta: se adicionarmos o spread à matriz a cada tick, qual será o tamanho da matriz? Então, por quanto tempo vai durar?
É claro que não podemos usar valores semelhantes ou usar apenas valores menores e maiores, mas neste caso temos que zerá-lo de alguma forma.
E o mais importante, não consigo entender se devo levar em conta o spread mínimo e máximo ou uma indicação de seus saltos.{
datetime time; // время начала периода
double open; // цена открытия
double high; // наивысшая цена за период
double low; // наименьшая цена за период
double close; // цена закрытия
long tick_volume; // тиковый объем
int spread; // спред
long real_volume; // биржевой объем
};
{
datetime time; // время начала периода
double open; // цена открытия
double high; // наивысшая цена за период
double low; // наименьшая цена за период
double close; // цена закрытия
long tick_volume; // тиковый объем
int spread; // спред
long real_volume; // биржевой объем
};
int spread;// spread
ou seja, não
{
datetime time; // время начала периода
double open; // цена открытия
double high; // наивысшая цена за период
double low; // наименьшая цена за период
double close; // цена закрытия
long tick_volume; // тиковый объем
int spread; // спред
long real_volume; // биржевой объем
};
Se você perguntar pela barra atual, então o spread atual, se da história, então no momento do fechamento.
Entendo corretamente, que para escrever dados na matriz, você precisa atribuir a cada célula uma matriz de valores diferentes1[i] = x; indicando um número de célula específico
ou a matriz pode ser preenchida sequencialmente a partir de i=0?
Entendo corretamente, que para escrever dados na matriz, você precisa atribuir a cada célula uma matriz de valores diferentes1[i] = x; indicando um número de célula específico
ou a matriz pode ser preenchida sequencialmente a partir de i=0?
Qual é a diferença? Eu acho que são apenas dois caminhos diferentes.