Olá pessoal,
Estou montando um EA com funções baseadas em conceitos de tape reading . Entretanto me deparei com uma questão o desenvolvimento do modo cross order, o qual é muito eficiente para quem gosta de visualizar as entradas em ativos pares. Ou mesmo para quem utiliza ativos sintéticos (Renko por exemplo) para aquisição de sinais mas necessita enviar a ordem para ativo real.
Coloquei a opção de inserir o ativo em todos as solicitações de ordens e volumes que tem no EA ( utilizo a biblioteca CTRADE) entretanto no Back Test consigo visualizar que algumas operações foram enviadas com o ativo sintético o que na realidade não seria possível. Alguém que já se deparou com o problema poderia me auxiliar nesta questão ? Ou ao menos dar alguma sugestão de como implementar esta alternativa?
Bom se entendi certo a sua dúvida, acredito que se vc esta rodando o EA no ativo sintético não poderá usar Symbol() na chamada da CTrade, e sim o nome do ativo que quer executar a ordem.
Olá pessoal,
Estou montando um EA com funções baseadas em conceitos de tape reading . Entretanto me deparei com uma questão o desenvolvimento do modo cross order, o qual é muito eficiente para quem gosta de visualizar as entradas em ativos pares. Ou mesmo para quem utiliza ativos sintéticos (Renko por exemplo) para aquisição de sinais mas necessita enviar a ordem para ativo real.
Coloquei a opção de inserir o ativo em todos as solicitações de ordens e volumes que tem no EA ( utilizo a biblioteca CTRADE) entretanto no Back Test consigo visualizar que algumas operações foram enviadas com o ativo sintético o que na realidade não seria possível. Alguém que já se deparou com o problema poderia me auxiliar nesta questão ? Ou ao menos dar alguma sugestão de como implementar esta alternativa?
Nada a ver com o Cross Order, só um lembrete, caso você não saiba, a profundidade do Book do MT5 é péssima. Tentar qualquer coisa de TR no MT5 é frustrante...
Se sabe, ok... vai fundo!
;)
Nada a ver com o Cross Order, só um lembrete, caso você não saiba, a profundidade do Book do MT5 é péssima. Tentar qualquer coisa de TR no MT5 é frustrante...
Se sabe, ok... vai fundo!
;)
Infelizmente sabemos que temos esse disparate, a ideia seria mesmo montar algo que pudesse unir alguns conceitos como de absorsão e de agressão, utilizar defesa de "pontos naturais da técnica" como VWAP , Ajuste do dia, fechamento anterior etc... Realmente a profundidade é algo que deixa a desejar.
Bom se entendi certo a sua dúvida, acredito que se vc esta rodando o EA no ativo sintético não poderá usar Symbol() na chamada da CTrade, e sim o nome do ativo que quer executar a ordem.
Oi Jonathan, acabei utilizando o recurso #define para uma lógica simples de substituição (#define SIMBOLO Ativo_Negociar!="Ativo" ? Ativo_Negociar : _Symbol) . Eu me referia ao modo de fazer isso nativamente ou algo neste sentido .
Oi Jonathan, acabei utilizando o recurso #define para uma lógica simples de substituição (#define SIMBOLO Ativo_Negociar!="Ativo" ? Ativo_Negociar : _Symbol) . Eu me referia ao modo de fazer isso nativamente ou algo neste sentido .
Lauro, conseguiu resolver essa questão? eu tenho um codigo que roda em renko e executa a ordem no "ativo de negociação". Não sou programador, mas na ocasião eu contratei um cara que resolveu isso para mim. Posso partilhar com você. Em várias partes do código ele fez isso:
if(!m_symbol.Name(AtivoDeNegociação)) // sets symbol name
if(m_position.Symbol()==AtivoDeNegociação && m_position.Magic()==m_magic)
if(m_trade.Buy(check_open_long_lot,AtivoDeNegociação,m_symbol.Ask(),sl,tp))
if(m_trade.Sell(check_open_short_lot,AtivoDeNegociação,m_symbol.Bid(),sl,tp))
TimeToStruct(iTime(AtivoDeNegociação,PERIOD_M1,0),STimeCurrent);
Lauro, conseguiu resolver essa questão? eu tenho um codigo que roda em renko e executa a ordem no "ativo de negociação". Não sou programador, mas na ocasião eu contratei um cara que resolveu isso para mim. Posso partilhar com você. Em várias partes do código ele fez isso:
if(!m_symbol.Name(AtivoDeNegociação)) // sets symbol name
if(m_position.Symbol()==AtivoDeNegociação && m_position.Magic()==m_magic)
if(m_trade.Buy(check_open_long_lot,AtivoDeNegociação,m_symbol.Ask(),sl,tp))
if(m_trade.Sell(check_open_short_lot,AtivoDeNegociação,m_symbol.Bid(),sl,tp))
TimeToStruct(iTime(AtivoDeNegociação,PERIOD_M1,0),STimeCurrent);
Veja como ficou
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Olá pessoal,
Estou montando um EA com funções baseadas em conceitos de tape reading . Entretanto me deparei com uma questão o desenvolvimento do modo cross order, o qual é muito eficiente para quem gosta de visualizar as entradas em ativos pares. Ou mesmo para quem utiliza ativos sintéticos (Renko por exemplo) para aquisição de sinais mas necessita enviar a ordem para ativo real.
Coloquei a opção de inserir o ativo em todos as solicitações de ordens e volumes que tem no EA ( utilizo a biblioteca CTRADE) entretanto no Back Test consigo visualizar que algumas operações foram enviadas com o ativo sintético o que na realidade não seria possível. Alguém que já se deparou com o problema poderia me auxiliar nesta questão ? Ou ao menos dar alguma sugestão de como implementar esta alternativa?