Assista a como baixar robôs de negociação gratuitos

Roteiro interessante?
Então poste um link sobre isto -
deixe que outros avaliem

Você gostou do roteiro? Experimente no terminal MetaTrader 5

Visualizações:
2559
Classificação:
votos: 48
Publicado:
2014.01.14 14:12
Atualizado:
2016.11.22 07:33

Biblioteca de funções de negociação feitas para utilizar no código de Scripts e Expert Advisors dependendo do broker.

Você pode se familiarizar com os Expert Advisors desenhadas sobre a base desta biblioteca no artigo "Sistema de negociação simples com o uso de indicadores semáforo".

Como um grande número de Expert Advisors usando esta biblioteca se encontram na Base de Código, decidiu-se realizar quatro variantes de seu código de programa para usar estes Expert Advisors com qualquer broker que ofereça negociações em mercados financeiros usando o Terminal cliente MetaTrader 5:

  1. Para os brokers que oferecem spread diferente de zero e a capacidade de definir Stop Loss e Take Profit simultaneamente ao abrir uma posição;
  2. Para os brokers que oferecem spread zero e a capacidade de definir Stop Loss e Take Profit simultaneamente ao abrir uma posição;
  3. Para os brokers que oferecem spread diferente de zero e a capacidade de definir Stop Loss e Take Profit após ao abrir uma posição;
  4. Para os brokers que oferecem spread zero e a capacidade de definir Stop Loss e Take Profit após ao abrir uma posição;

Todos os arquivos colocados no ficheiro possuem um único nome - TradeAlgorithms.mqh. Para os Expert Advisors na Base de Código que usa esta biblioteca, apenas uma variante do arquivo TradeAlgorithms.mqh é permitido utilizar em terminal_data_folder\MQL5\Include\ do Terminal Cliente!

Depois de mover o arquivo de biblioteca todos os Expert Advisors que o utilizam devem ser compilados. Para isso, reinicie o MetaEditor, abra a janela do navegador, clique com o botão direito no rótulo MQL5 e selecione "Compilar" no menu pop-up.

Funções

A biblioteca contêm as seguintes funções de negociação principais:

bool BuyPositionOpen
(
    bool &BUY_Signal,          // permissão para negociação
    const string symbol,       // par de negociação
    const datetime &TimeLevel, // tempo seguinte que será realizado uma negociação
    double Money_Management,   // MM
    int Margin_Mode,           // cálculo do valor do lote
    uint deviation,            // desvio
    int StopLoss,              // Stop Loss em pontos
    int Takeprofit             // Take Profit em pontos
);

bool SellPositionOpen
(
    bool &SELL_Signal,         // permissão para negociação
    const string symbol,       // par de negociação
    const datetime &TimeLevel, // tempo seguinte que será realizado uma negociação 
    double Money_Management,   // MM
    int Margin_Mode,           // cálculo do valor do lote
    uint deviation,            // desvio
    int StopLoss,              // Stop Loss em pontos<
    int Takeprofit             // Take Profit em pontos
);

bool BuyPositionOpen
(
    bool &BUY_Signal,          // permissão para negociação
    const string symbol,       // par de negociação
    const datetime &TimeLevel, // tempo seguinte que será realizado uma negociação
    double Money_Management,   // MM
    int Margin_Mode,           // cálculo do valor do lote
    uint deviation,            // desvio
    double dStopLoss,          // Stop Loss em pontos
    double dTakeprofit         // Take Profit em pontos
);

bool SellPositionOpen
(
    bool &SELL_Signal,         // permissão para negociação
    const string symbol,       // par de negociação
    const datetime &TimeLevel, // tempo seguinte que será realizado uma negociação
    double Money_Management,   // MM
    int Margin_Mode,           // cálculo do valor do lote
    uint deviation,            // desvio
    double dStopLoss,          // Stop Loss em pontos
    double dTakeprofit         // Take Profit em pontos
);

bool BuyPositionClose
(
    bool &Signal,        // permissão para negociação
    const string symbol, // par de negociação
    uint deviation       // desvio
);

bool SellPositionClose
(
    bool &Signal,        // permissão para negociação
    const string symbol, // par de negociação
    uint deviation       // desvio
);

bool BuyPositionModify
(
    bool &Modify_Signal, // permissão para modificação
    const string symbol, // par de negociação
    uint deviation,      // desvio
    int StopLoss,        // Stop Loss em pontos
    int Takeprofit       // Take Profit em pontos
);

bool SellPositionModify
(
    bool &Modify_Signal, // permissão para modificação
    const string symbol, // par de negociação
    uint deviation,      // desvio
    int StopLoss,        // Stop Loss em pontos
    int Takeprofit       // Take Profit em pontos
);

Traduzido do russo por MetaQuotes Software Corp
código original: https://www.mql5.com/ru/code/1578

ATR ratio ATR ratio

Indicador usando uma proporção entre uma Average True Range (ATR) rápida com uma ATR lenta.

MinPriceChange MinPriceChange

O indicador do montante mínimo das alterações de preços que formam sinais após movimentos laterais anteriores ao potencial rompimento de preços para um dos lados.

WeeklyPivot WeeklyPivot

Indicador de pontos de reversão desenhado em velas semanais.

DailyPivotShift_Full DailyPivotShift_Full

O indicador DailyPivot_Shift difere do indicador comum DailyPivot, os principais níveis podem ser calculados com o deslocamento do início do dia. Esta variante do indicador DailyPivot_Shift_Full pode ser construído para qualquer gráfico de barras e permite ver claramente o comportamento do mercado em relação aos níveis dos indicadores em cada barra.