https://g1.globo.com/sp/vale-do-paraiba-regiao/noticia/2025/01/28/operacao-apreende-carros-de-luxo-e-bloqueia-quase-r-30-milhoes-em-bens-em-sao-jose-dos-campos.ghtml
Se você é um investidor em busca de conhecimento e informações sobre ONG, OB, Forex, B3, Crypto e muito mais, o Canal Gafanhotos do Mercado no Telegram é o lugar certo para você! Aqui você encontrará todo o material necessário para se manter atualizado e tomar decisões mais informadas sobre o mercado financeiro, e o melhor de tudo: tudo de forma gratuita e sem fins lucrativos.
Os Gafanhotos do Mercado são um grupo comprometido em compartilhar conhecimento e insights valiosos para ajudar outros investidores a alcançarem seus objetivos financeiros. Seja você um novato no mundo dos investimentos ou um profissional experiente, nossos conteúdos abrangentes e atualizados certamente irão enriquecer seu conhecimento e expandir suas estratégias de investimento.
No entanto, é importante ressaltar que o trading de Forex envolve riscos significativos e pode resultar em perdas substanciais. Por isso, recomendamos investir apenas o que você está disposto a perder. Além disso, o Canal Gafanhotos do Mercado está sempre aberto a doações para apoiar o trabalho e manutenção do grupo. Se deseja contribuir, você pode doar através dos links disponibilizados:
- Doação: https://www.vakinha.com.br/2486397
- Doação: https://pscarpa.wixsite.com/gafanhotos
Para acesso a todo o conteúdo exclusivo e interação com outros investidores, junte-se ao Canal Gafanhotos do Mercado no Telegram e esteja sempre um passo à frente no mercado financeiro!
28 Jan, 13:06
28 Jan, 04:20
28 Jan, 04:20
28 Jan, 04:20
//+------------------------------------------------------------------+
//| HFT_Robot_v2.mq4 |
//| Robô HFT com Filtro de Horário e Martingale|
//+------------------------------------------------------------------+
#property strict
// Parâmetros ajustáveis
input double LotSize = 0.1; // Tamanho do lote inicial
input double MartingaleMultiplier = 2; // Multiplicador do Martingale (ex: 2 dobra o lote após uma perda)
input int MaxMartingaleSteps = 5; // Número máximo de martingales consecutivos
input int Slippage = 3; // Slippage permitido
input int MagicNumber = 123456; // Número mágico para identificar as ordens do robô
input int FastMAPeriod = 5; // Período da Média Móvel Rápida
input int SlowMAPeriod = 20; // Período da Média Móvel Lenta
input string StartTime = "09:00"; // Horário de início para operar (formato "HH:MM")
input string EndTime = "17:00"; // Horário de término para operar (formato "HH:MM")
// Variáveis globais
int ticket = 0;
double nextLotSize = LotSize; // Próximo tamanho do lote (usado no martingale)
int martingaleStep = 0; // Contador de passos do martingale
//+------------------------------------------------------------------+
//| Função de inicialização do robô |
//+------------------------------------------------------------------+
int OnInit()
{
// Verifica se os parâmetros são válidos
if(FastMAPeriod >= SlowMAPeriod)
{
Print("Erro: O período da Média Móvel Rápida deve ser menor que o da Lenta.");
return(INIT_PARAMETERS_INCORRECT);
}
if(MartingaleMultiplier <= 1)
{
Print("Erro: O multiplicador do Martingale deve ser maior que 1.");
return(INIT_PARAMETERS_INCORRECT);
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Função principal do robô |
//+------------------------------------------------------------------+
void OnTick()
{
// Verifica se está dentro do horário permitido
if(!IsWithinTradingTime(StartTime, EndTime))
{
return; // Fora do horário de operação
}
// Calcula as Médias Móveis
double fastMA = iMA(NULL, 0, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
double slowMA = iMA(NULL, 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
28 Jan, 04:20
// Verifica se há ordens abertas
if(OrdersTotal() == 0)
{
// Estratégia de entrada: Cruzamento de Médias Móveis
if(fastMA > slowMA)
{
// Compra
ticket = OrderSend(Symbol(), OP_BUY, nextLotSize, Ask, Slippage, 0, 0, "Compra HFT", MagicNumber, 0, Blue);
if(ticket < 0)
{
Print("Erro ao abrir ordem de compra: ", GetLastError());
}
}
else if(fastMA < slowMA)
{
// Venda
ticket = OrderSend(Symbol(), OP_SELL, nextLotSize, Bid, Slippage, 0, 0, "Venda HFT", MagicNumber, 0, Red);
if(ticket < 0)
{
Print("Erro ao abrir ordem de venda: ", GetLastError());
}
}
}
else
{
// Fechar ordens quando a estratégia inverte
if((fastMA < slowMA && OrderType() == OP_BUY) || (fastMA > slowMA && OrderType() == OP_SELL))
{
double profit = OrderProfit();
if(OrderClose(ticket, OrderLots(), OrderClosePrice(), Slippage, Red))
{
ticket = 0;
// Verifica se houve prejuízo para aplicar o martingale
if(profit < 0 && martingaleStep < MaxMartingaleSteps)
{
nextLotSize *= MartingaleMultiplier; // Aumenta o lote
martingaleStep++; // Incrementa o contador de martingale
}
else
{
// Reseta o martingale
nextLotSize = LotSize;
martingaleStep = 0;
}
}
else
{
Print("Erro ao fechar ordem: ", GetLastError());
}
}
}
}
//+------------------------------------------------------------------+
//| Função para verificar se está dentro do horário de operação |
//+------------------------------------------------------------------+
bool IsWithinTradingTime(string startTime, string endTime)
{
datetime now = TimeCurrent();
datetime start = StringToTime(TimeToString(now, TIME_DATE) + " " + startTime);
datetime end = StringToTime(TimeToString(now, TIME_DATE) + " " + endTime);
if(start < end)
{
return (now >= start && now <= end);
}
else
{
return (now >= start || now <= end);
}
}
//+------------------------------------------------------------------+
//| Função de desinicialização do robô |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
// Limpeza, se necessário
}
StartTime
e EndTime
.IsWithinTradingTime
verifica se o horário atual está dentro do intervalo permitido.OrderProfit() < 0
), o tamanho do lote é multiplicado pelo fator MartingaleMultiplier
.MaxMartingaleSteps
).LotSize
).StartTime
e EndTime
(formato "HH:MM").StartTime = "09:00"
e EndTime = "17:00"
para operar das 9h às 17h.MartingaleMultiplier
) e o número máximo de passos (MaxMartingaleSteps
).MartingaleMultiplier = 2
e MaxMartingaleSteps = 5
para dobrar o lote após cada perda, até 5 vezes.28 Jan, 04:19
OnTick
) se há condições para abrir ou fechar ordens.28 Jan, 04:19
//+------------------------------------------------------------------+
//| HFT_Robot_Basic.mq4 |
//| Exemplo básico de um robô HFT em MQL4 |
//+------------------------------------------------------------------+
#property strict
// Parâmetros ajustáveis
input double LotSize = 0.1; // Tamanho do lote
input int Slippage = 3; // Slippage permitido
input int MagicNumber = 123456; // Número mágico para identificar as ordens do robô
input int FastMAPeriod = 5; // Período da Média Móvel Rápida
input int SlowMAPeriod = 20; // Período da Média Móvel Lenta
// Variáveis globais
int ticket = 0;
//+------------------------------------------------------------------+
//| Função de inicialização do robô |
//+------------------------------------------------------------------+
int OnInit()
{
// Verifica se os parâmetros são válidos
if(FastMAPeriod >= SlowMAPeriod)
{
Print("Erro: O período da Média Móvel Rápida deve ser menor que o da Lenta.");
return(INIT_PARAMETERS_INCORRECT);
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Função principal do robô |
//+------------------------------------------------------------------+
void OnTick()
{
// Calcula as Médias Móveis
double fastMA = iMA(NULL, 0, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
double slowMA = iMA(NULL, 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
// Verifica se há ordens abertas
if(OrdersTotal() == 0)
{
// Estratégia de entrada: Cruzamento de Médias Móveis
if(fastMA > slowMA)
{
// Compra
ticket = OrderSend(Symbol(), OP_BUY, LotSize, Ask, Slippage, 0, 0, "Compra HFT", MagicNumber, 0, Blue);
if(ticket < 0)
{
Print("Erro ao abrir ordem de compra: ", GetLastError());
}
}
else if(fastMA < slowMA)
{
// Venda
ticket = OrderSend(Symbol(), OP_SELL, LotSize, Bid, Slippage, 0, 0, "Venda HFT", MagicNumber, 0, Red);
if(ticket < 0)
{
Print("Erro ao abrir ordem de venda: ", GetLastError());
}
}
}
else
{
// Fechar ordens quando a estratégia inverte
if((fastMA < slowMA && OrderType() == OP_BUY) || (fastMA > slowMA && OrderType() == OP_SELL))
{
if(OrderClose(ticket, OrderLots(), OrderClosePrice(), Slippage, Red))
{
ticket = 0;
}
else
{
Print("Erro ao fechar ordem: ", GetLastError());
}
}
}
}
//+------------------------------------------------------------------+
//| Função de desinicialização do robô |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
// Limpeza, se necessário
}
28 Jan, 03:40
27 Jan, 22:42
27 Jan, 21:35
26 Jan, 20:43
25 Jan, 02:21
23 Jan, 00:12
20 Jan, 23:46
20 Jan, 23:16
20 Jan, 11:53
20 Jan, 03:26
18 Jan, 06:12
17 Jan, 23:30
17 Jan, 20:45
17 Jan, 05:48
17 Jan, 03:42
17 Jan, 03:42
15 Jan, 05:41
15 Jan, 03:09
15 Jan, 03:04
15 Jan, 03:04
14 Jan, 22:45
14 Jan, 21:36
14 Jan, 21:27
14 Jan, 09:32
11 Jan, 13:49
11 Jan, 06:46
11 Jan, 02:51
11 Jan, 00:38
10 Jan, 23:23
10 Jan, 23:02
10 Jan, 19:50
10 Jan, 18:36
10 Jan, 05:14
30 Dec, 07:03
30 Dec, 02:38
29 Dec, 18:02
29 Dec, 17:53
29 Dec, 02:04
28 Dec, 18:43
28 Dec, 17:32
28 Dec, 10:44
27 Dec, 19:13
27 Dec, 18:21
27 Dec, 17:56
27 Dec, 17:56
27 Dec, 17:50
27 Dec, 17:46
27 Dec, 16:05
27 Dec, 16:03
27 Dec, 16:02
27 Dec, 14:46
27 Dec, 14:10
27 Dec, 06:01
21 Nov, 23:21
21 Nov, 10:53
21 Nov, 07:00
20 Nov, 22:58
20 Nov, 22:57
20 Nov, 06:20
20 Nov, 06:18
19 Nov, 21:35
19 Nov, 21:02
19 Nov, 21:00
18 Nov, 15:12
18 Nov, 14:52
18 Nov, 14:44
18 Nov, 13:28
18 Nov, 04:31
14 Nov, 02:40
13 Nov, 21:22
13 Nov, 18:37
13 Nov, 03:54
13 Nov, 03:43
13 Nov, 03:12
12 Nov, 23:02
12 Nov, 16:34
12 Nov, 10:28
12 Nov, 04:33
12 Nov, 04:08
12 Nov, 03:39
12 Nov, 03:31
12 Nov, 03:30
12 Nov, 03:01
12 Nov, 03:01
11 Nov, 23:52
11 Nov, 16:28
09 Nov, 18:39
09 Nov, 09:58
09 Nov, 04:10
09 Nov, 01:19
08 Nov, 21:54
08 Nov, 20:43
08 Nov, 20:42
08 Nov, 20:39
08 Nov, 18:31
08 Nov, 15:23
08 Nov, 15:06
08 Nov, 14:16
08 Nov, 14:15
08 Nov, 13:56
26 Oct, 20:58
26 Oct, 19:59
26 Oct, 19:57
26 Oct, 19:42
26 Oct, 19:33
26 Oct, 11:19
26 Oct, 11:18
25 Oct, 19:11
25 Oct, 10:50
25 Oct, 10:49
25 Oct, 10:38
25 Oct, 10:32
25 Oct, 02:14
25 Oct, 00:11
23 Oct, 23:34
23 Oct, 02:59
23 Oct, 02:56
20 Oct, 00:24
19 Oct, 22:14
19 Oct, 20:01
19 Oct, 02:20
18 Oct, 17:19
18 Oct, 17:10
17 Oct, 18:20
17 Oct, 17:16
17 Oct, 16:49
17 Oct, 03:15
16 Oct, 22:48
16 Oct, 16:38
15 Oct, 22:17