O meu envio de abertura está com abaixo, mas a função de fechar a ordem ORDER_TYPE_SELL ele não identifica a
minha ordem de abertura e fecha...ele cria outras de envio como sell
Boa noite pessoal, alquem tem algum código para contar as velas em grupos de 5 em 5 ou 4 em 4 e de o sinal de entrada para proxima vela a favor da
tendencia da anterior, e que fique em loop. to tentando mas ta dificil. para MT4.
Eu estou desenvolvendo um EA com base em uma análise que eu já faço em Excel. cheguei em uma parte dele agora que estou precisando de ajuda. Essa parte terá que fazer uma analise nas ordens já fechada dentro de um período estipulado e calcular ordem a ordem qual foi o máximo rebaixamento em pontos e também o máximo ganho em pontos que essa ordem atingiu. Ao final somar todos esses valores para o período e retorna o resultado.
Eu estou desenvolvendo um EA com base em uma análise que eu já faço em Excel. cheguei em uma parte dele agora que estou precisando de ajuda.
Essa parte terá que fazer uma analise nas ordens já fechada dentro de um período estipulado e calcular ordem a ordem qual foi o máximo
rebaixamento em pontos e também o máximo ganho em pontos que essa ordem atingiu. Ao final somar todos esses valores para o período e
retorna o resultado.
Você não deixa claro onde precisa de ajuda. Sugiro que comece lendo esta documentação.
Jorge Fazolo: Boa noite pessoal, alquem tem algum código para contar as velas em grupos de 5 em 5 ou 4 em 4 e de o sinal de entrada para proxima vela a favor da tendencia da anterior, e que fique em loop. to tentando mas ta dificil. para MT4.
Oi, não seria o caso de você somente criar uma média móvel com 4 ou 5 períodos?
if((iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,0)>iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,1))&&
(iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,1)>iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,2))&&
(iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,2)>iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,3)))
{
//COLOQUE AQUI SEU CÓDIGO PARA ABRIR OPERAÇÃO DE COMPRA
}
if((iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,0)<iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,1))&&
(iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,1)<iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,2))&&
(iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,2)<iMA(NULL,0,4,0,MODE_SMA,PRICE_CLOSE,3)))
{
//COLOQUE AQUI SEU CÓDIGO PARA ABRIR OPERAÇÃO DE VENDA
}
Olá, Tentei fazer uma conexão do Python com o MQL5 usando o exemplo do próprio site da MQL5 e ele está dando Falha ... aconteceu com
alguém aqui também ?
Alguém sabe o que poderia ser ?
Mensagem de erro:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-12-2140b5219570> in <module>
18 utc_from = datetime(2019, 4, 1, tzinfo=timezone)
19 # request 100 000 EURUSD ticks from 01.04.2019 in UTC time zone
---> 20 ticks = MT5CopyTicksFrom("EURUSD", utc_from,1 , MT5_COPY_TICKS_ALL)
21 print("Ticks received:",len(ticks))
22
RuntimeError: IPC call failed
Programação do Site do MQL5.
from datetime import datetime
from MetaTrader5 import *
# importamos o módulo pandas para exibir os dados recebidos na forma de uma tabela
import pandas as pd
pd.set_option('display.max_columns', 500) # número de colunas
pd.set_option('display.width', 1500) # largura máxima da tabela
# importamos o módulo pytz para trabalhar com o fuso horário
import pytz
# estabelecemos conexão ao terminal MetaTrader 5
MT5Initialize()
# esperamos que o MetaTrader 5 se conecte ao servidor de negociação
MT5WaitForTerminal()
# definimos o fuso horário como UTC
timezone = pytz.timezone("Etc/UTC")
# criamos o objeto datetime no fuso horário UTC para que não seja aplicado o deslocamento do fuso horário local
utc_from = datetime(2019, 4, 1, tzinfo=timezone)
# solicitamos 100000 ticks de EURUSD a partir de 04/01/2019 no fuso horário UTC
ticks = MT5CopyTicksFrom("EURUSD", utc_from, 100000, MT5_COPY_TICKS_ALL)
print("Ticks recebidos:",len(ticks))
# concluímos a conexão ao terminal MetaTrader 5
MT5Shutdown()
# exibimos cada tick numa nova linha
print("Exibimos os ticks recebidos como são")
count = 0for tick in ticks:
print(tick)
if(count >= 10):
break
# a partir dos dados recebidos criamos o DataFrame
ticks_frame = pd.DataFrame(list(ticks),
columns=['time', 'bid', 'ask', 'last', 'volume', 'flags'])
# exibimos dados
print("\nExibimos o dataframe com ticks")
print(ticks_frame.head(10)) # notamos que Python mostra o tempo dos ticks no fuso horário local com deslocamento
# para o computador local, obtemos o deslocamento da hora UTC
UTC_OFFSET_TIMEDELTA = datetime.utcnow() - datetime.now()
# criamos uma função simples que diretamente corrija o deslocamento
def local_to_utc(dt):
return dt + UTC_OFFSET_TIMEDELTA
# implementamos o deslocamento para a coluna time no dataframe ticks_frame
ticks_frame['time'] = ticks_frame.apply(lambda tick: local_to_utc(tick['time']), axis=1)
# mais uma vez imprimimos os dados e conferimos que agora o tempo dos ticks tenha mudado
print("\nExibimos o dataframe com ticks depois de ajustar o tempo")
print(ticks_frame.head(10))
segue uma correção, parece que uma linha foi deletada do código. Aproveitando a oportunidade, não rode em conta REAL esse programa
está longe de estar preparado para conta REAL.
double iMAGet(constint handle,constint index)
{
double MA[];
ArraySetAsSeries(MA,true);
//---reset error codeResetLastError();
//---fill a part of the iMABuffer array with values from the indicator buffer that has 0 indexif(CopyBuffer(handle,0,0,2,MA)<=0)
{
//---if the copying fails, tell the error codePrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
//---quit with zero result - it means that the indicator is considered as not calculatedreturn(0.0);
}
return(MA[index]);
}
Meu indicador não aparece no testador de estrategia, o que fazer??
O executável (.ex5) deve obrigatoriamente ficar pasta ou subpasta de //MQL5/Indicators
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Order close
danielg13, 2019.06.22 20:47
O meu envio de abertura está com abaixo, mas a função de fechar a ordem ORDER_TYPE_SELL ele não identifica a minha ordem de abertura e fecha...ele cria outras de envio como sellFórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
ERRO....failed....EURUSD [Unsupported filling mode]
danielg13, 2019.06.20 02:30
Bom Dia!
Eu estou desenvolvendo um EA com base em uma análise que eu já faço em Excel. cheguei em uma parte dele agora que estou precisando de ajuda. Essa parte terá que fazer uma analise nas ordens já fechada dentro de um período estipulado e calcular ordem a ordem qual foi o máximo rebaixamento em pontos e também o máximo ganho em pontos que essa ordem atingiu. Ao final somar todos esses valores para o período e retorna o resultado.
Bom Dia!
Eu estou desenvolvendo um EA com base em uma análise que eu já faço em Excel. cheguei em uma parte dele agora que estou precisando de ajuda. Essa parte terá que fazer uma analise nas ordens já fechada dentro de um período estipulado e calcular ordem a ordem qual foi o máximo rebaixamento em pontos e também o máximo ganho em pontos que essa ordem atingiu. Ao final somar todos esses valores para o período e retorna o resultado.
Você não deixa claro onde precisa de ajuda. Sugiro que comece lendo esta documentação.
Boa noite pessoal, alquem tem algum código para contar as velas em grupos de 5 em 5 ou 4 em 4 e de o sinal de entrada para proxima vela a favor da tendencia da anterior, e que fique em loop. to tentando mas ta dificil. para MT4.
Oi, não seria o caso de você somente criar uma média móvel com 4 ou 5 períodos?
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
MetaTrader 5 - Grupo de usuários de Python
BrenoToledo, 2019.06.26 01:17
Olá, Tentei fazer uma conexão do Python com o MQL5 usando o exemplo do próprio site da MQL5 e ele está dando Falha ... aconteceu com alguém aqui também ?
Alguém sabe o que poderia ser ?
Programação do Site do MQL5.
Segue o Link da onde encontrei o Código ...
https://www.mql5.com/pt/docs/integration/python_metatrader5/mt5copyticksfrom_py
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Erro 'array out of range'
Rogerio Giannetti Torres, 2019.06.23 20:15
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Padrão Arco-iris
Rogerio Giannetti Torres, 2019.06.10 23:37
Boa noite Alex,
segue uma correção, parece que uma linha foi deletada do código. Aproveitando a oportunidade, não rode em conta REAL esse programa está longe de estar preparado para conta REAL.