Aprender e escrever juntos em MQL5 - página 16

 
AUser:
Gente! Algumas dicas para principiantes na programação, como trabalhar com a pega. O que é isso - algum ficheiro num buffer? Como extrair dela informação para trabalhar com ela?

Dêem uma vista de olhos:

Guia de Referência MQL5 / Indicadores Técnicos

Guia de referência MQL5 / Acesso a séries cronológicas e indicadores / CopyBuffer

Em resumo, o cabo é um certo ponteiro (link) para o programa criou uma cópia do indicador, para ser utilizado na função CopyBuffer.

Veja também os artigos para principiantes, que estão aí descritos.

 
AUser:

Pode dizer-me como atribuir o valor do preço actual a uma variável?

O artigo "Migração de MQL4 para MQL5" pode ser mais fácil de ler.

Deve também verificar a documentação com mais frequência.

Esta é a resposta à pergunta do exemplo da função SymbolInfoDouble

double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
 

AUser:

Também me pergunto se é possível carregar dados históricos no manípulo do indicador?

Para ser mais preciso, os dados não são carregados no cabo indicador, os dados são carregados em matrizes especiais utilizando as funções da secção "Acesso a séries cronológicas e dados indicadores".

Pelo menos estas funções deveriam ser mais estudadas.

CopyBuffer

Obtém dados de um buffer especificado a partir de um indicador especificado para uma matriz

CopyRates

Obtém dados históricos da estrutura de Tarifas para um símbolo e período especificados numa matriz

CopyTime

Obtém dados do histórico sobre o tempo de abertura do bar para um símbolo e período especificados numa matriz

CopyOpen

Obtém dados históricos sobre o preço de abertura de bares para um símbolo e período especificados numa matriz

CopyHigh

Obtém dados do histórico sobre o preço máximo da barra para um símbolo e período especificados numa matriz

CopyLow

Obtém dados do histórico sobre o preço mínimo da barra para um símbolo e período especificados numa matriz

CopyCloseFechar

Obtém dados históricos sobre o preço de fecho de barra para um símbolo e período especificados numa matriz

 

AUser:

E com a história do indicador, nem tudo é claro. O problema é o seguinte: antes de comparar os valores dos indicadores nas barras, estes devem ser recolhidos nas matrizes de indicadores. Os valores das barras de 15 minutos podem ser esperados, mas e os valores semanais? Dei uma vista de olhos no manual - não compreendo)))) Suponhamos que este: CopyClose(Coloca os dados do histórico dos preços de fecho de barras para o símbolo e período apropriados numa matriz) Os dados que obtemos, mas como fazer com que o indicador os calcule? Não compreendo nada.


Compreendo que está a escrever um Expert Advisor utilizando indicadores?

Se o cabo for recebido e não houver problemas óbvios, os dados do indicador personalizado são obtidos utilizando o CopyBuffer, para os indicadores técnicos padrão é melhor aplicar as seguintes funções

Este código deve escrever os dados de 20 barras do buffer 0 na matriz do buffer e devolver o número de elementos efectivamente copiados da matriz ou -1

int Res = CopyBuffer(MyHandle,0,0,20,buffer[]);

Além disso, 20 barras são contadas a partir da barra 0, pelo que não devemos esquecer a seriedade (para mais detalhes ver aqui). Pode ler sobre a obtenção de dados adicionais aqui.

 
AUser:
Está a explodir... o que tem de mal?

afixar aqui a ajuda para a função OrderSend

 
AUser:
Está tão escrito, que é difícil de compreender sem formação)

afixar aqui a ajuda para a função OrderSend

Só espero que o faça ler, caso contrário não poderá fazer nada.

 

AUser, - Sergeev está certo. A funçãoOrderSend tem apenas dois parâmetros. Precisa de passar algum tempo a estudar MQL5.

 
AUser:

Escrito por:

OrderSend(TRADE_ACTION_DEAL,Symbol(),1,SL,TP,10,ORDER_TYPE_BUY,ORDER_FILLING_CANCEL);

Correu mal. O que é que se passa?

Quero comprar a um preço real.

Quero obter um código mais detalhado desta área ou um exemplo de trabalho. 2;

2. gostaria de decidir de imediato em que língua está escrito este código;

3. gostaríamos que as pessoas aprendessem a ler a ajuda, neste caso, ler a descrição da função OrderSend.

Neste caso, este fragmento será suficiente!!!

A função OrderSend() destina-se à execução de operações comerciais através do envio de pedidos para o servidor comercial.

boolOrderSend(
MqlTradeRequest&request, //request structure
MqlTradeResultado&resultado// estrutura da resposta
);

Quero que as pessoas aprendam mais sobre as estruturas MqlTradeRequest eMqlTradeResult

5. Quero que as pessoas se familiarizem com uma coisa tão maravilhosa como o CTrade (o preenchimento desta classe está localizado no ficheiro MQL5).

Um exemplo da sua utilização num Expert Advisor pode ser encontrado no Expert Advisor padrão - MACD Sample.

Além disso, seria bom saber o que acontece com a ordem, desde a classe CSampleExpert até à função seguinte do código CTrade:

a) PositionOpen - Abre uma posição com parâmetros especificados

b) PositionModify - Altera os parâmetros de posição através do símbolo especificado

b) PositionClose -Fecha a posição através do símbolo especificado.

PS

Em conclusão, quero que as pessoas não só leiam a ajuda, mas também saibam como procurar informação nos ficheiros da biblioteca padrão (nada mal para se familiarizarem com a combinação de teclas Ctrl+Shift+F) e nos exemplos localizados neste site (Code Base - uma coisa poderosa, se souberem como utilizá-la).

 

Pergunta sobre a função Sleep(). Compreendo correctamente que a utilização desta função num Expert Advisor interrompe apenas a execução dessa EA, e transfere recursos da CPU (kernel) para as tarefas seguintes na lista de tarefas desse kernel? Por outras palavras, é correcto que a função Sleep() não abranda o fio em si onde o Expert Advisor está a ser processado, mas actua como um interruptor entre o Expert Advisor actual e outros programas captados por um kernel em particular?

Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Общие функции / Sleep - Документация по MQL5
 

Pergunta sobre a estrutura MqlTradeResult. Alguém se lembra se havia uma pergunta sobre a introdução de um campo de tempo adicional na estrutura MqlTradeResult? Necessidade de retirar uma ordem pendente se esta entrar subitamente na história.

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса - Документация по MQL5