Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 608
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
Bom dia a todos!
Você poderia me dizer qual é a melhor maneira de codificar a seguinte condição
Se todos os castiçais de 1 a 20 são de baixa sem exceção (o número de pontos entre a abertura e o fechamento de cada candelabro não importa)
Para abrir um pedido.
A única maneira de fazer isso é escrever uma ordem de "fazer trabalho".
Se eu pudesse simplesmente escrevê-lo "à mão".
Bem, a menos que esteja escrito no local.
Cidadãos, vocês podem me dizer por que o terminal Alpari não consegue fazer um pedido?
A função OrderSend tem este aspecto
Não há parâmetros iguais a zero. Eu o verifiquei.
A distância mínima de parada e de lucro de acordo com as condições do terminal = 0,1.
O terminal gera erro 130 e escreve sobre um lucro ou parada inválida.
Os parâmetros SL e TP são 11 e 1 (após a normalização), respectivamente.
Nos terminais Aforex, Diven FX, ForexClub, AlfaForex - sem problemas com o mesmo código.
Para Buy Stop and Take são contados a partir do preço da Licitação - este é um deles.
Segundo - como os preços de parada são calculados, eles precisam ser normalizados. A anterior normalização do SL e TP não é nada. Em seguida, na ordem comercial você substitui o valor não-normalizado da expressão.
Em terceiro lugar, todos os preços devem estar de acordo com as exigências e restrições comerciais. O nível StopLevel, por exemplo, pode ser maior do que o tamanho da ordem de parada.
Por favor, informe porque este é o caso.
Há três condições (em negrito), quando executada simultaneamente, uma ordem é aberta com sucesso.
int start()
{
int ot = OrderTotal();
int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);
if(Low[index1]==Low[1])
if(High[index]==High[20])
if(Low[index3]==Low[40]
se ( Bid==Low[40])
se (ot==0)
OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 )
PROBLEMA
Uma vez acrescentada uma quarta condição (marcada em vermelho), a ordem é aberta SOMENTE quando a quarta condição é cumprida.
Astrês condições anteriores são ignoradas pelo programa.
Eu tentei escrever as condições através de &&.... não funciona
Como fazer para que o mandado seja aberto quando todas as quatro condições forem cumpridas simultaneamente.
Obrigado.
Por favor, informe porque este é o caso.
Há três condições (destacadas em negrito) que, quando executadas ao mesmo tempo, abrem uma ordem com sucesso.
int start()
{
int ot = OrderTotal();
int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);
if(Low[index1]==Low[1])
if(High[index]==High[20])
if(Low[index3]==Low[40]
se ( Bid==Low[40])
se (ot==0)
OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 )
PROBLEMA
Assim que eu acrescentar uma quarta condição (marcada em vermelho), a ordem abre quando a quarta condição é cumprida SOMENTE.
O programa ignoraas três condições anteriores.
Eu tentei escrever as condições através de &&.... não funciona
Como fazer para que o mandado fosse aberto de uma só vez, com a execução das quatro condições.
Obrigado.
Para Comprar, parar e levar são calculados a partir do preço de Licitação - este é um deles.
Em segundo lugar, se você calcular os preços de parada de pedidos, eles precisam ser normalizados. O fato de que SL e TP foram normalizados antes não é nada demais. Em seguida, na ordem comercial você substitui o valor não-normalizado da expressão.
Em terceiro lugar, todos os preços devem cumprir com os requisitos e restrições para as operações comerciais. O nível do StopLevel, por exemplo, pode ser maior do que o tamanho da ordem de parada.
na alpari desde ontem passou para a execução no mercado, ou seja
Primeiro comprar/vender sl=0;tp=0; depois modificar sl=100;tp=300;
Expandir os suportes encaracolados como o algoritmo deve funcionar.
na alpari desde ontem passou para a execução no mercado, ou seja
primeiro comprar/vender sl=0;tp=0; depois modificar sl=100;tp=300;
Isto também está no mesmo lugar. É claro - uma não contradiz a outra. Conta as ordens de parada para comprar da Ask. Ela não os normaliza. Não verifica o limite de distância StopLevel.
Em resumo - um hodgepodge.
A Alpari mudou para a execução do mercado desde ontem, ou seja
primeiro comprar/vender sl=0;tp=0; depois modificar sl=100;tp=300;
Obrigado pelos conselhos. Vou investigar isso. A mudança para execução no mercado significa que as ordens pendentes também devem ser colocadas com zero paradas e lucros e depois modificadas?