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 1101

 
AlexeyVik:
Um bilhete pode ser igual a zero?

A partir da documentação sobre OrderSend():

.......

Valor de retorno

Retorna o número do ticket atribuído ao pedido pelo servidor comercial ou -1 em caso de falha. Para obter as informações de erro, ligue para GetLastError().

 
Sepulca:

A partir da documentação sobre OrderSend():

.......

Valor retornado

Devolve o número do ticket atribuído ao pedido pelo servidor comercial ou -1 em caso de falha. Para obter as informações de erro, ligue para GetLastError().

Meu ponto exato... O número do bilhete não pode ser 0 mesmo no testador, e em caso de erro a função retorna -1, que é inferior a 0. Por isso perguntei, em que caso o bilhete pode ser igual a zero. Porque a condição diz >= ou seja, maior ou igual a...
 
h-l


Você pode me dizer se existe um indicador para mt4 que conta a volatilidade no período de tempo selecionado?

Por exemplo, para dias( H-L)n, onde n-número de dias.

 
lempopo:


Você pode avisar se existe um indicador para MT4 que calcula a volatilidade em um período de tempo selecionado?

Por exemplo, para dias( H-L)n, onde n-número de dias.

É volatilidade?

"Volatilidade é uma medida estatística da tendência da volatilidade dos preços". - Isso é o que a definição parece.

A volatilidade histórica é um valor igual ao desvio padrão do valor de um instrumento financeiro durante um determinado período de tempo, calculado com base em dados históricos sobre seu valor.

E como um indicador de volatilidade no terminal há um indicador de desvio padrão - Desvio padrão.

 
AlexeyVik:
É o que eu estou dizendo... O número do bilhete não pode ser 0 mesmo no testador, e na função de erro retorna -1, que é inferior a 0. Por isso perguntei, em que caso o bilhete pode ser igual a zero... Porque a condição diz >= ou seja, maior ou igual a...

Com o bilhete tudo está claro. Eu tenho uma função para determinar a última ordem aberta (de acordo com o bilhete) mesmo por OrderTupy dividido.

if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0, "first buy order set",Magik,0)== verdadeiro)

{
TicketB = FindLastTicket(OP_BUY);
if(TicketB >0)
{
SL = priseBuy + NormalizeDouble(TakeP1 * Ponto,Dígitos);
TP = priseBuy - NormalizeDouble(stopL1 * Ponto,Dígitos);
if(OrderModify(TicketB,priseBuy,SL,TP,0)== verdadeiro)
Comentário ("hooraaaaahhhh");
}
 

Onde posso encontrar um feiticeiro que possa escrever um pequeno roteiro para experimentá-lo de graça?

 
burbur87:

Eu tenho a função de determinar a última ordem aberta (por bilhete) mesmo por OrderTupy.guys a pergunta é a seguinte: o complimator não dá erros e no testador nenhum erro, mas a ordem não é modificada....why????? se eu não consigo entender meu erro eu não consigo perceber


if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0,"первый ордер бай установлен",Magik,0)== true)
      { 
          TicketB = FindLastTicket(OP_BUY);
          if(TicketB >0)
          {
             SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
             TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
             if(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
             Comment("урааааааа");
            
          }

Use o botão SRC no painel acima da janela de entrada de texto.

Basicamente: só porque o compilador não atira erros, não significa nada. Você precisa verificar o registro para verificar se há erros e imprimir as condições e parâmetros. Estas são recomendações gerais.

Exatamente em seu código: a função OrderSend() devolve o número do bilhete ou -1 em caso de erros. Se você ler cuidadosamente a documentação para tipos de dados, particularmente o tipo bool, você pode entender que o valor falso é 0. Todo o resto é verdade. Portanto, não importa como a função OrderSend() termine, o valor booleano será sempre verdadeiro.

No exemplo acima, não há necessidade de procurar um pedido de bilhete usando uma função adicional, uma vez que ele será devolvido pela OrderSend().

Os pedidos limitados não são colocados ao preço atual. De que tipo de modificação estamos falando se a ordem não deve ser aberta por tal comando?

 
virginvl:

Onde posso encontrar um feiticeiro que possa escrever um pequeno roteiro para experimentá-lo de graça?


Em qualquer fórum, alguns tópicos com ofertas para escrever de graça. As pessoas aprendem a escrever ...
 
virginvl:   Onde posso encontrar um feiticeiro para escrever um pequeno roteiro para experimentar de graça?

O assistente está em MetaEditor: File --> Create. O que o roteiro deve fazer? Vamos lá, vamos escrever juntos!!! Explicarei passo a passo...


 
AlexeyVik:

Use o botão SRC no painel acima da janela de entrada de texto.

Em essência: O fato de o compilador não gerar erros não significa nada. Você precisa verificar o registro para verificar se há erros e imprimir as condições e parâmetros. Estas são recomendações gerais.

Exatamente em seu código: a função OrderSend() devolve o número do bilhete ou -1 em caso de erros. Se você ler cuidadosamente a documentação para tipos de dados, particularmente o tipo bool, você pode entender que o valor falso é 0. Todo o resto é verdade. Portanto, não importa como a função OrderSend() termine, o valor booleano será sempre verdadeiro.

No exemplo acima, não há necessidade de procurar um pedido de bilhete usando uma função adicional, uma vez que ele será devolvido pela OrderSend().

Os pedidos limitados não são colocados ao preço atual. De que tipo de modificação estamos falando se a ordem não deve ser aberta por tal comando?


E o testador abriu uma posição... Além disso, esta ordem era como uma bandeira que mais tarde abriria uma grade...

nulo OnTick()

{

if(tendência == 1)

Comentário ("Dentro de sete meses, a tendência está definida para a compra");

else Comment("a tendência é de queda por sete meses");

double priseBuy = FindLastOrderPrise (OP_BUY);

double priseSel = FindLastOrderPrise (OP_SELLL);


double frezeelevl = MarketInfo(OrderSymbol(),MODE_FREEZELEVEL);

rsi = iRSI(Symbol(),PERIOD_D1,7,PRICE_CLOSE,0);

tendência = WhatTrend();

se (CountTrades() == 0)

{

if(trend === 1 && rsi <=30)

{ double vtoroilimt = NormalizeDouble (priseBuy - Vtoroilimit * Ponto,Dígitos);

tretiilimit duplo = NormalizeDuplo (priseBuy - Tretiilimit * Ponto,Dígitos);

duplo hetvertiilimit = NormalizeDouble (priseBuy - Hetvertiilimit * Ponto,Dígitos);

duplo pervstop = NormalizeDouble (priseBuy + Pervstop * Ponto,Dígitos);

duplo vtoroistop = NormalizeDouble (priseBuy + Vtoroistop * Ponto,Dígitos);

if(OrderSend(Symbol(),OP_BUYLIMIT,0.04,Ask,Slippage,0,0, "first buy order set",Magik,0)== verdadeiro)

{

OrderSend(Symbol(),OP_BUYLIMIT,0.06, Ask - vtoroilimt,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.08, Ask - tretiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask - hetvertiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.02,Ask - pervstop,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.01,Ask - vtoroistop,Slippage,0,0,",Magik,0);

}

}// se(tendência == 1 && rsi <=30)

senão se(tendência == 2 && rsi >= 70)

{ double vtoroilimt = NormalizeDouble (priseSel + Vtoroilimit * Ponto,Dígitos);

tretiilimit duplo = NormalizeDuplo (priseSel + Tretiilimit * Ponto,Dígitos);

duplo hetvertiilimit = NormalizeDouble (priseSel + Hetvertiilimit * Ponto,Dígitos);

duplo pervstop = NormalizeDouble (priseSel - Pervstop * Ponto,Dígitos);

duplo vtoroistop = NormalizeDouble (priseSel - Vtoroistop * Ponto,Dígitos);

if(OrderSend (Symbol(),OP_SELLLIMIT,0.04,Bid,Slippage,0,0, "primeira ordem está definida",Magik,0)== verdadeiro)

{

OrderSend(Symbol(),OP_SELLLIMIT,0.06, Bid + vtoroilimt,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLLIMIT,0.08, Bid + tretiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid + hetvertiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLSTOP,0.02,Bid + pervstop,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid + vtoroistop,Slippage,0,0,",Magik,0);

}// if(OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid,Slippage,0,0, "primeira ordem está definida",Magik,0)== verdadeiro)


}/// senão se(tendência == 2 && rsi >= 70)

}// if(CountTrades() == 0)


}

//+------------------------------------------------------------------+

o código cresce com muita agonia.mas sem modificação de ordem não há em lugar nenhum.eu modificarei a primeira ordem.mas o que é o botão cp???

Razão: