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
Eu tinha comprado e vendido.
Este backtesting, ele deu compras e vendas ou apenas uma delas? Comigo só consegui comprar (ou só vender quando mudei o código). Eu realmente não vi nada que mostrasse um erro.
este RSIFilter_v1... Eu não sei sobre isso...
o código que você mostra aqui tem que ser feito...
Aqui está o que eu fiz... veja anexos.
Então isto está bem?
duplo Sg=iCustom(NULL,0, "RSIFilter_v1",5,5,0,1);
se ( Sg>0) Ordem = SIGNAL_BUY;
se (Sg<0 ) Ordem = SIGNAL_SELL;Tem que ser 90% de qualidade de modelagem, não sei porque não aparece.
Acho que isso se deve aos erros não correspondidos. O backtester, desde poucos lançamentos, tem este problema. Ouvi dizer que é por causa de dados ruins.
FerruFx
erro de jogo booleano
Olá a todos, eu tenho este erro e não entendo como descobrir, acho que é um problema de correspondência entre diferentes tipos de variáveis
aqui está o trecho do código
duplo
BuyCondition,
SellCondition,
StopLong,
StopSell;
os indicadores são
indicador duplo1,
indicador2
indicador 3; (mas é int)
então eu quero essas condições
StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));
StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));Então por que às vezes eu não tenho 0 quando preciso de 1 e às vezes tenho ambos1 quando ou um deles deveria ter 1? isto agora para mim não faz sentido nenhum por que está errado? por favor me ajude!!!
p.s. sellvalue e buy-value são o dobro
precisam de mais código para consertar isso...
se você desejar, publique seu mq4
Olá a todos, eu tenho este erro e não entendo como descobrir, eu acho que é um problema de correspondência entre diferentes tipos de variáveis
aqui está o trecho do código
duplo
BuyCondition,
SellCondition,
StopLong,
StopSell;
os indicadores são
indicador duplo1,
indicador2
indicador 3; (mas é int)
então eu quero essas condições
StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));
StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));Então por que às vezes eu não tenho 0 quando preciso de 1 e às vezes tenho ambos1 quando ou um deles deveria ter 1? isto agora para mim não faz sentido nenhum por que está errado? por favor me ajude!!!
p.s. sellvalue e buy-value são o dobroAlguma coisa dá errado. A conta demo foi completamente eliminada.
Aqui está uma pequena parte do registro especializado, com centenas desses "preços inválidos para a função OrderClose" :
GBPJPY a 209,23 sl: 212,23 tp: 208,23 ok
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: preço inválido 2.02750000
para a função OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: preço inválido 1.55750000
para a função OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: fechar #11685361 venda
0,10 GBPCHF a 2,0270 sl: 2,0570 tp: 2,0170 a preço 2,0275
10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: preço inválido 1.03350000
para a função OrderClose
10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: preço inválido 1,55740000
para a função OrderClose
esta é a parte na ea para o OrderClose,
Não vejo o que há de errado nisso, talvez alguém possa ajudar?
//---------------------
int l_ord_total_72 = OrderTotal();
for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {
se (OrderSelect(l_pos_76, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol() == Symbol()) {
l_cmd_80 = OrderType();
se (l_cmd_80 == OP_BUY) {
l_count_56++;
if (l_isar_48 > Close[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);
}
se (l_cmd_80 == OP_SELL) {
l_count_60++;
if (l_isar_48 < Close[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);
}
}
}
}
//--------------------Talvez você tenha obtido novos preços com o corretor, tente usar a função RefreshRates antes do OrderClose se você receber um erro.
OrdemFechar erro
Algo dá errado. A conta demo foi completamente apagada.
Aqui está uma pequena parte do registro de especialista, com centenas daqueles "preços inválidos para a função OrderClose" :
GBPJPY a 209,23 sl: 212,23 tp: 208,23 ok
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: preço inválido 2.02750000
para a função OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: preço inválido 1.55750000
para a função OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: fechar #11685361 venda
0,10 GBPCHF a 2,0270 sl: 2,0570 tp: 2,0170 a preço 2,0275
10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: preço inválido 1.03350000
para a função OrderClose
10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: preço inválido 1,55740000
para a função OrderClose
esta é a parte na ea para o OrderClose,
Não vejo o que há de errado nisso, talvez alguém possa ajudar?
//---------------------
int l_ord_total_72 = OrderTotal();
for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {
se (OrderSelect(l_pos_76, SELECT_BY_POS, MODE_TRADES)) {
se (OrderSymbol() == Symbol()) {
l_cmd_80 = OrderType();
se (l_cmd_80 == OP_BUY) {
l_count_56++;
if (l_isar_48 > Close[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);
}
se (l_cmd_80 == OP_SELL) {
l_count_60++;
if (l_isar_48 < Close[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);
}
}
}
}
//--------------------
A compilação não dá um erro.
precisa de mais código para corrigir isso...se desejar, publique seu mq4
não eu não quero publicar tudo, mas acho que é um problema com os tipos de correspondência de variáveis que vou tentar explicar mais
indicadores1 e 2 são duplos à direita
portanto, tenho buyvaluecurrent = icustom(indicador1 etc etc.);
buyvaluecurrent2 = icustom(indicador2 etc etc.);
sellvaluecurrent = icustom(indicador1 etc. etc.); //doubles right?
trenendvup =icustom (indicador3 etc. etc.); //int
e assim por diante
so buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value);
este estatuto funciona apenas às vezes e também pode ser um problema, então minha pergunta é por quê? quero que a buycondition retorne 1 ou 0 não importa de que tipo seja bool ou duplo
Talvez você tenha conseguido novos preços com o corretor, tente usar a função RefreshRates antes do OrderClose se você receber erro.
sim, obrigado!
dependendo do que os indicadores iCustom estão enviando...
dupla compra-valor corrente = iCustom(indicador1);
dupla compra-valor corrente2 = iCustom(indicador2);
double sellvaluecurrent = iCustom(indicador1);
int trenendvup = iCustom(indicador3);
então...
if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=0)) {buycondition=0;}
if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=1)) {buycondition=1;}
você não pode colocar um bool em sua condição de compra somente usando "&&" e algumas condições, use a função if()...
espero que isso ajude, caso contrário é um pequeno passo mais próximo
não quero publicar tudo, mas acho que é um problema com os tipos de correspondência de variáveis que vou tentar explicar mais
indicadores1 e 2 são duplos à direita
portanto, tenho buyvaluecurrent = icustom(indicador1 etc etc.);
buyvaluecurrent2 = icustom(indicador2 etc etc.);
sellvaluecurrent = icustom(indicador1 etc. etc.); //doubles right?
trenendvup =icustom (indicador3 etc. etc.); //int
e assim por diante
so buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value);
esta lei funciona apenas às vezes e também pode ser um problema, então minha pergunta é por quê? quero que a condição de compra devolva 1 ou 0, não importa de que tipo seja bool ou duplo