56 lines
No EOL
6 KiB
MQL5
56 lines
No EOL
6 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| info-operacao.mq5 |
|
|
//| Copyright 2020, MetaQuotes Software Corp. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2020, MetaQuotes Software Corp."
|
|
#property link "https://www.mql5.com"
|
|
#property version "1.00"
|
|
//+------------------------------------------------------------------+
|
|
//| Script program start function |
|
|
//+------------------------------------------------------------------+
|
|
void OnStart()
|
|
{
|
|
//---
|
|
Print("---------------------- TIPOS DE ORDENS ----------------------");
|
|
Check_SYMBOL_ORDER_MODE(Symbol());
|
|
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| A função imprime tipos de ordens permitidas para um símbolo |
|
|
//+------------------------------------------------------------------+
|
|
void Check_SYMBOL_ORDER_MODE(string symbol) {
|
|
//--- receber o valor da propriedade descrevendo os tipos de ordens permitidas
|
|
int symbol_order_mode=(int)SymbolInfoInteger(symbol,SYMBOL_ORDER_MODE);
|
|
//--- verificar se há ordens de mercado (Execução de Mercado)
|
|
if((SYMBOL_ORDER_MARKET&symbol_order_mode)==SYMBOL_ORDER_MARKET)
|
|
Print(symbol+": Ordens de mercado são permitidas (Buy e Sell)");
|
|
//--- verificar se há ordens de Limite
|
|
if((SYMBOL_ORDER_LIMIT&symbol_order_mode)==SYMBOL_ORDER_LIMIT)
|
|
Print(symbol+": Ordens Buy Limit e Sell Limit são permitidas");
|
|
//--- verificar se há ordens de Parada
|
|
if((SYMBOL_ORDER_STOP&symbol_order_mode)==SYMBOL_ORDER_STOP)
|
|
Print(symbol+": Ordens Buy Stop e Sell Stop são permitidas");
|
|
//--- verificar se há ordens Stop Limit
|
|
if((SYMBOL_ORDER_STOP_LIMIT&symbol_order_mode)==SYMBOL_ORDER_STOP_LIMIT)
|
|
Print(symbol+": Ordens Buy Stop Limit e Sell Stop Limit são permitidas");
|
|
//--- verificar se a colocação de uma ordem Stop Loss é permitida
|
|
if((SYMBOL_ORDER_SL&symbol_order_mode)==SYMBOL_ORDER_SL)
|
|
Print(symbol+": Ordens de Stop Loss são permitidas");
|
|
//--- Verificar se a colocação de uma ordem Take Profit é permitida
|
|
if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_TP)
|
|
Print(symbol+": Ordens de Take Profit são permitidas");
|
|
//---
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Verifica se um modo de preenchimento específico é permitido |
|
|
//+------------------------------------------------------------------+
|
|
bool IsFillingTypeAllowed(string symbol,int fill_type) {
|
|
//--- Obtém o valor da propriedade que descreve os modos de preenchimento permitidos
|
|
int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
|
|
//--- Retorna true, se o modo fill_type é permitido
|
|
return((filling & fill_type)==fill_type);
|
|
} |