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
Criar duas matrizes. Uma pelo número do bilhete, a segunda pelo preço. Em seguida, ordenar a matriz pelo preço, movendo os números dos bilhetes ao mesmo tempo (sem quebrar a conexão). Então, em uma extremidade da matriz estará o preço mais baixo, na outra o preço mais alto. Agora temos que mudar uma das ordens extremas.
>> Obrigado.
Eu ainda não trabalhei praticamente com arrays.
Suponha, por exemplo, que eu tenha 10 ordens BUYSTOP. Eu estabeleço seus preços de instalação:
Então, eu estabeleço um conjunto de preços de configuração, sendo o pedido 1 o preço mais próximo do preço atual.
int ArrayCents = { preço1,preço2,preço3,preço4,preço5,preço6,preço7,preço8,preço9,preço10 }
E como criar uma matriz por bilhete não é claro para mim. Onde posso obter as passagens de pedido?
O que é algo assim?
Não checou o código.Aparentemente, o funcionamento funciona assim:
MiniMaxOrderPrice(string lSymbol="", int lMagic=-1, int lOP=-1, int reversi=0)
Parâmetros:
lSymbol= - nome do símbolo ("" - qualquer símbolo, NULL - o símbolo atual)
lOP=-1 - operação (-1 - qualquer ordem, em nosso caso -OP_BUYSTOP )
lMagic=-1 - MagicNumber (-1 - qualquer mágico)
//---------------------------------------------------------------------------------------------
Mas o que significa "int reversi=0" - não é bem claro para mim!
A função foi copiada normalmente:
0 - preço mais baixo
1 - o maior ?
//-------------------------------------------------------------------
E também, - por que exatamente tomamos o stoploss como um preço?
E por que não podemos alterar o preço de abertura?
OP_BUYSTOP - porque estas são ordens pendentes (e não posições), e apenas o resultado final do evento é alterar o preço de abertura (acionamento) de uma ordem específica.
Aparentemente, o funcionamento funciona assim:
MiniMaxOrderPrice(string lSymbol="", int lMagic=-1, int lOP=-1, int reversi=0)
Parâmetros:
lSymbol= - nome do instrumento ("" - qualquer símbolo, NULL - símbolo atual)
lOP=-1-operação (-1 - qualquer ordem, em nosso caso -OP_BUYSTOP )
lMagic=-1 - MagicNumber (-1 - qualquer magik)
//---------------------------------------------------------------------------------------------
Mas o que significa "int reversi=0" - não é bem claro para mim!
A função foi copiada normalmente:
0 - o menor preço
1 - o maior ?
//-------------------------------------------------------------------
E também, - por que exatamente tomamos o stoploss como um preço?
E por que não podemos alterar o preço de abertura?
OP_BUYSTOP - são ordens pendentes (e não posições), o que significa que no final temos que alterar o preço de abertura da ordem escolhida.
Portanto, aceite o preço que precisar. O preço aberto para as ordens pendentes. Eu o fiz apenas como um exemplo.
Acho que é mais fácil montar uma matriz bidimensional e ordenar pela primeira dimensão. E aí, portanto, você pode armazenar o que precisa. No seu caso, o preço.
Acho que é mais fácil montar uma matriz bidimensional e ordenar pela primeira dimensão. E aí, portanto, você pode armazenar o que precisa. No seu caso, é o preço.
Portanto, aceite o preço que quiser. Para os pingentes, tome o preço de abertura. Estou apenas fazendo um exemplo.
Suponha que eu tenha 10 ordens bystop definidas. Elas não são colocadas em ordem, mas são separadas pelo tempo.
Preciso apagar o pedido que está atualmente mais distante do preço atual.
Esta é a maneira correta de encontrar esta ordem? -
//******************************
p.s.
Eu inseri uma função no comentário.
Comentário( MiniMaxOrderPrice(NULL, -1, OP_BUYSTOP, 1 );
Mas ele continua retornando "-1". Embora haja de 5 a 10 pedidos na tabela.
há um erro em algum lugar...
Eu tenho, digamos, 10 pedidos de compra de bystop feitos. Eles não são colocados em ordem, mas são separados pelo tempo.
Preciso apagar o pedido que está atualmente mais distante do preço atual.
Esta é a maneira correta de encontrar esta ordem? -
//******************************
p.s.
Coloco a função no comentário.
Comentário( MiniMaxOrderPrice(NULL, -1, OP_BUYSTOP, 1 ));
Mas a função retorna constantemente "-1". Embora haja de 5 a 10 pedidos na tabela.
Há um erro em algum lugar...
Comentário( MiniMaxOrderPrice("", -1, OP_BUYSTOP, 1 )); // qualquer símbolo
Comentário( MiniMaxOrderPrice(Symbol(), -1, OP_BUYSTOP, 1 )); // símbolo atual
OK! Obrigado Vinin !
A função parece estar funcionando! Vou investigar mais a fundo!