Como codificar? - página 101

 

Eu tinha comprado e vendido.

panteraschoice:
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.

panteraschoice:
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;
Arquivos anexados:
 
IN10TION:
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

payback:
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 dobro
 
panteraschoice:
Alguma 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.

 
IN10TION:
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

 
Kalenzo:
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

payback:
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
Razão: