Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Como você pode ver no gráfico do USDCHF da última semana, o Firebird está se saindo muito bem em um mercado com limite de gama. À medida que os mercados se tornam tendências, o Firebird está muitas vezes tomando as decisões erradas. Portanto, a solução para isto pode ser muito simples: temos que sair assim que o marcador se tornar tendência e voltar quando o mercado de gama vinculada for restaurado.
Em Phoenix há um pedaço de código que está cuidando destas mudanças. Em resumo, leva as Alturas das últimas 24, 12, 6 e 2 horas e pode decidir quando o mercado se torna tendência e quando o mercado de gama vinculada é restaurado.
Excelente trabalho Hendrick, seu brainstorming está dando frutos, estou ansioso para testar o Phoenix quando você o liberar. saúde, Goldensight
Aqui você pode ver a diferença de comportamento entre a Phoenix e o Firebird para o USDCHF quando as coisas estão ficando difíceis:
O Firebird estava colocando 3 BUYS, todos parados.
A Phoenix está esperando o momento certo, fez 3 VENDAS que todas atingiram o TP.
Legal?Chegar muito mais perto agora
Eu acrescentei isto:
if ((Safe1!=1)&&(DealTime===2)) {
para (int i=OrdensTotal()-1; i>=0; i--) {
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol()==Symbol()) {
se (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
se (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Em um Back Test eu o vejo fechando o OpenTrades, mas preciso adicionar o recurso STOPLOSS Lookup, porque seus negócios de fechamento que têm GANHOS POSITIVOS, quando as variáveis Safe1 e DealTime são combinadas....
Portanto, Stoploss tem que ser a 3ª armadilha... Vou encaminhar isto na próxima semana, assim que o puser a funcionar...
Novamente todo mundo tem a idéia de ter algum controle sobre as negociações abertas existentes durante quando o Mercado se torna Volitile... Se uma negociação vai parar, prefiro parar a meio caminho em vez de 100%. Pelo menos quando o mercado se recupera, você não tem muito a recuperar...
ObrigadoOlá Marvin,
Uma solução muito mais fácil será fechar um comércio aberto assim que o sinal mudar. O que você acha?
Oi Marvin,Uma solução muito mais fácil será fechar um comércio aberto assim que o sinal mudar. O que você acha?
Olá Hendrick... Quando você diz sinal você quer dizer quando o Safe1 e o Dealtime se tornam verdadeiros?
Se esse é o caso, o que eu tenho visto de volta porque o mercado está fechado agora, é que alguns Postive Trades também foram Fechados... Então a verificação STOPLOSS é a 3ª variável para controlar que
Eu tenho algum código apresentado por ELIHAYUN
Confira isto Hendrick...
void CloseOrder(int ticket,double numLots,double close_price)
{
int CloseCnt, err;
// tentar fechar 3 vezes
CloseCnt = 0;
enquanto (CloseCnt < 3)
{
if (OrderClose(ticket,numLots,close_price,Slippage,Violet))
{
CloseCnt = 3;
}
senão
{
err=GetLastError();
Print(CloseCnt," Ordem de fechamento de erro : (", err , ") " + ErrorDescription(err));
if (err > 0) CloseCnt++;
}
}
}
vazio CloseHalfSL()
{
duplo LosePercent = 50,0; // 50% do S/L
for(int i=OrdensTotal()-1;i>=0;i--) // escanear todos os pedidos e posições...
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
se (OrderMagicNumber() != MagicNumber) continuar;
if ( OrderSymbol()==Symbol() )
se (OrderProfit() < 0) // tivermos prejuízo comercial
{
duplo prc = Licitação;
se (OrderType() == OP_SELL) prc = Ask;
duplo ord_prc = OrderOpenPrice();
duplo ord_SL = OrderStopLoss();
int SL_points = MathAbs(ord_prc - ord_SL) / Point;
int Actual_Lose = MathAbs(prc - ord_prc) / Ponto;
if ( (Actual_Lose * 100 / SL_points) >= PerdaPercentagem) // Demasiada perda
{
CloseOrder(OrderTicket(), OrderLots(), prc);
}
}
}
}
//// ---- Verificar se não é seguro comercializar e depois ligar para CloseHalfSL
if (NotSafeToTrade) CloseHalfSL();
Chegando muito mais perto agora
Eu acrescentei isto:
if ((Safe1!=1)&&(DealTime===2)) {
para (int i=OrdensTotal()-1; i>=0; i--) {
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol()==Symbol()) {
se (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
se (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Em um Back Test eu o vejo fechando o OpenTrades, mas preciso adicionar o recurso STOPLOSS Lookup, porque seus negócios de fechamento que têm GANHOS POSITIVOS, quando as variáveis Safe1 e DealTime são combinadas....
Portanto, Stoploss tem que ser a 3ª armadilha... Vou encaminhar isto na próxima semana, assim que o puser a funcionar...
Novamente todo mundo tem a idéia de ter algum controle sobre as negociações abertas existentes durante quando o Mercado se torna Volitile... Se uma negociação vai parar, prefiro parar a meio caminho em vez de 100%. Pelo menos quando o mercado se recupera, você não tem muito a recuperar...
ObrigadoEsta pode ser uma maneira de deixar abertas as ordens POSITIVE GAINS. Adicione "&& OrderProfit()<0" na linha if(OrderType()".
if ((Safe1!=1)&&(DealTime===2)) {
para (int i=OrdensTotal()-1; i>=0; i--) {
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol()==Symbol()) {
se (OrderType()==OP_BUY && OrderProfit()<0) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
se (OrderType()==OP_SELL && OrderProfit()<0) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Wackena
Esta poderia ser uma maneira de deixar em aberto os pedidos de GANHOS POSITIVOS. Adicione "&& OrderProfit()<0" na linha if(OrderType()".
if ((Safe1!=1)&&(DealTime===2)) {
para (int i=OrdensTotal()-1; i>=0; i--) {
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol()==Symbol()) {
se (OrderType()==OP_BUY && OrderProfit()<0) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
se (OrderType()==OP_SELL && OrderProfit()<0) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
WackenaWackena obrigado... mas eu fiz uma correção em nossa sintaxe
duplo pBid, pAsk;
if ((Safe1!=1)&&(DealTime===2)) {
para (int i=OrdensTotal()-1; i>=0; i--) {
se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol()==Symbol()) {
if ((OrderType()==OP_BUY)&&(OrderProfit()<0)){
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
if ((OrderType()==OP_SELLL)&&(OrderProfit()<0)) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Ok, tudo o que estou testando com as adições que fiz em relação ao manuseio de comércios abertos existentes quando o mercado é volátil...
A única exceção que eu tenho é... Em vez de TradingHour De 0 a 24
Estou comercializando este padrão:
0 - 7 EST
11 - 24 EST
Estou fazendo isso porque quero ter certeza de que a EA não está explicitamente negociando durante a abertura de NY... Tenho visto muita volitilidade às 8 -10 EST
Afixarei meus resultados à medida que a semana avance. Esta semana temos algumas notícias de fazedores de barulho, vamos ver o que acontece
Acabei de ler o livro "Bird Watching in Lion Country" (Observação de Aves no País do Leão). Não é ruim. O último capítulo é útil. É também bastante relevante para a idéia por trás do Firebird e Phoenix. A idéia não é exatamente a mesma, mas muito parecida e pode-se facilmente roubar algumas boas idéias dela e implantá-las para fazer do Firebird uma EA incrível. Se Hendrick, Wackena e os poucos outros desenvolvedores de Firebird estiverem interessados em lê-la, me avisem.
quer testar o Firebird
Olá hendrik,... Quero testar a versão mais recente do Fire Bird (porque muitas versões do Firebird). pode U me mostrar por favor,....
caras do trabalho duro para desenvolver pássaro de fogo para phoenix , respeito a todos vocês,...
Agradecimentos
Sem problemas com a conta ativa
Qualquer pessoa tem uma conta AO VIVO com o InterbankFX
Estou recebendo estes erros
2006.06.26 20:10:59: pedido compra 1,00 USDCHFm abertura a 1.2407 sl: 1.2307 tp: 1.2417 falha [Erro comum]
Isso significa que eles não estão permitindo a EA em contas AO VIVO??Tenho uma conta ativa no IBFX, sem problemas até agora...