[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 39

 
Cod:

E aqui, a AG está aumentando o número de corridas? Isso é possível?

Oops!

Um caso extremamente interessante...)

 
DhP:

Uau!

Um caso extremamente interessante...)


Não mais opções do que possíveis
 

Obrigado, eu procurei, mas não entendi nada. Por exemplo:

Uma negociação não é executada se qualquer um dos requisitos especificados for violado

SellLimit

1) OpenPrice-Bid StopLevel

2) SL-OpenPrice ≥StopLevel(mais adiante no exemplo)

3) OpenPrice-TP ≥ StopLevel

O que significa "A operação comercial não é executada"? Se uma ordem pendente não for colocada (aceita) ou se já estiver colocada, ela não aciona (o que acontece com ela - ela é apagada pelo corretor)? Eu repito a pergunta, se as condições mudaram e um pedido feito com sucesso uma hora depois, por exemplo, o SL-OpenPrice em mudou até aquele momento StopLevel, o que acontecerá com ele?

E outra pergunta. Suponha que o spread fosse 2 e se tenha tornado 7 pontos. O que significa - o preço de compra ou de venda mudou, ou o corretor seleciona arbitrariamente como ele acha conveniente?

 

Ao tentar compilar um arquivo de inclusão (*.mqh), um erro '\i_end_of_program' - nenhuma função definida. O que está errado e como consertá-lo?

double Lots externos = 0,0;
extern int Percentual = 0;
extern int StopLoss = 100;
extern int TakeProfit = 40;
extern int TrailngStop = 100;

int Level_New;
int Level_Old;

 

Eu olhei a capa do livro STUDY de todos os lados e ainda não entendi nada...))

Em todos os lugares que eu vejo escrito assim:

int Ticket = OrderSend(...);

A escrita abaixo é justa se eu quiser obter Price = OrderOpenPrice() para processamento e ajuste de paradas posteriores?

double Price = OrderSend(...);

Funciona para mim, mas isto é aceitável?

 
Vinin:

Sem funções integradas, você só precisa escrever seu próprio assistente com período de cálculo, dependendo do período de tempo
Sem problemas... Mas como determinar o valor atual da TF no código?
 

Bom dia a todos vocês!

Escrevendo pela primeira vez, se algo está errado, desculpe.

Pergunta, por que a função (ver abaixo) dá erro: 'A' - item de matriz não pode ser atribuído?

double get_init_values(double A[], int index){

int size = 0;

size = ArraySize(A);

if (size < index){

return (0);

}else{

A [index] = Ask;

return (A);
}

}
Obrigado de antemão!
 
Saltan:

Ao tentar compilar um arquivo de inclusão (*.mqh), um erro '\i_end_of_program' - nenhuma função definida. O que está errado e como consertá-lo...?

Você não tem que tentar! Os arquivos .mqh são colocados em formato .mqh e eles simplesmente ficam ali em silêncio. Quando você compila a EA na qual eles estão escritos, o compilador junta automaticamente os elementos de código necessários e os compila juntos.
Quando você tenta compilar .mqh separadamente, o compilador tenta determinar o tipo do produto (Expert Advisor, indicador...) e começa a perguntar "por onde você começou?
Você deve começar a lidar com .mqh se ocorrerem erros durante a compilação adequada.
 

Inseri um novo bloco no meu EA para calcular o tamanho do lote da posição a ser aberta. A idéia é a seguinte:

1. A parada é definida para a Alta do dia atual no caso de uma posição de Venda, e para a Baixa do dia no caso de uma posição de Compra.

2. Quando a condição de abertura da ordem é acionada, este bloco para o cálculo do lote começa a ser executado. A distância para o alto/baixo do dia em pontos é calculada e eu passo através dos lotes começando de 0,1 para encontrar o lote necessário (5% quando uma parada é acionada)

Mas no registro, estas linhas aparecem:

2011.01.30 16:59:47 TestGenerator: erro de dados incomparável (limite de volume 1107 em 2011.01.13 14:45)

Assim que eu desligar esta unidade, tudo estará bem. Onde eu estou errado? Por favor, informe.

Aqui está o próprio código:

double Balance = AccountBalance();
    double DistanceToHighDay = MathAbs(HighDay-Ask)*10000;
    double DistanceToLowDay  = MathAbs(Bid-LowDay)*10000;
    double ExpectedSellLoss;
    double ExpectedBuyLoss;
    double ExpectedSellRisk;
    double ExpectedBuyRisk;
    double LotSell;
    double LotBuy;
    int     Risk = 5;
   
    // Расчёт лота для Sell
    for(int i=0.1; ExpectedSellRisk<Risk; i=i+0.1)
       {
        ExpectedSellLoss = DistanceToHighDay*i*10;         // ожидаемый убыток в $
        ExpectedSellRisk = (ExpectedSellLoss*100)/Balance; // ожидаемый убыток в %
        LotSell=i;
       }
       
    // Расчёт лота для Buy
    for(i=0.1; ExpectedBuyRisk<Risk; i=i+0.1)
       {
        ExpectedBuyLoss = DistanceToLowDay*i*10;         // ожидаемый убыток в $
        ExpectedBuyRisk = (ExpectedBuyLoss*100)/Balance; // ожидаемый убыток в %
        LotBuy=i;
       }
 
Estou aprendendo mql4, não consigo escrever um simples indicador de volume, ou seja, ele calcula quantos carrapatos há em cada barra, se alguém tem um, por favor, compartilhe-o. Se alguém o escrever especificamente, muito obrigado.