oslib/scr/info-operacao.mq5

56 lines
6 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 16:15:18 +02:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| 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<EFBFBD><EFBFBD>o imprime tipos de ordens permitidas para um s<EFBFBD>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<EFBFBD> ordens de mercado (Execu<EFBFBD><EFBFBD>o de Mercado)
if((SYMBOL_ORDER_MARKET&symbol_order_mode)==SYMBOL_ORDER_MARKET)
Print(symbol+": Ordens de mercado s<00>o permitidas (Buy e Sell)");
//--- verificar se h<EFBFBD> ordens de Limite
if((SYMBOL_ORDER_LIMIT&symbol_order_mode)==SYMBOL_ORDER_LIMIT)
Print(symbol+": Ordens Buy Limit e Sell Limit s<00>o permitidas");
//--- verificar se h<EFBFBD> ordens de Parada
if((SYMBOL_ORDER_STOP&symbol_order_mode)==SYMBOL_ORDER_STOP)
Print(symbol+": Ordens Buy Stop e Sell Stop s<00>o permitidas");
//--- verificar se h<EFBFBD> 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<00>o permitidas");
//--- verificar se a coloca<EFBFBD><EFBFBD>o de uma ordem Stop Loss <EFBFBD> permitida
if((SYMBOL_ORDER_SL&symbol_order_mode)==SYMBOL_ORDER_SL)
Print(symbol+": Ordens de Stop Loss s<00>o permitidas");
//--- Verificar se a coloca<EFBFBD><EFBFBD>o de uma ordem Take Profit <EFBFBD> permitida
if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_TP)
Print(symbol+": Ordens de Take Profit s<00>o permitidas");
//---
}
//+------------------------------------------------------------------+
//| Verifica se um modo de preenchimento espec<EFBFBD>fico <EFBFBD> permitido |
//+------------------------------------------------------------------+
bool IsFillingTypeAllowed(string symbol,int fill_type) {
//--- Obt<EFBFBD>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 <EFBFBD> permitido
return((filling & fill_type)==fill_type);
}