Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 489

 
Boris:
.... Atirar os indicadores necessários no gráfico e continuar a testar....

Como se faz isso? A resposta é provavelmente óbvia, mas não está a funcionar para mim.

Em geral, é necessário visualizar exactamente os amortecedores que são calculados na EA, porque:

1. é mais fácil de os depurar

2. o Conselheiro Especialista, dependendo do seu estado (se um acordo é aberto ou não), calcula o indicador com parâmetros diferentes , mas no mesmo tampão. Como resultado, os valores serão diferentes do mesmo indicador que acabou de ser atirado para o gráfico.

 
Shepot:

Como é que se faz? A resposta é provavelmente óbvia, mas não está a funcionar para mim.

Em geral, é necessário visualizar exactamente os amortecedores que são calculados na EA, porque:

1. é mais fácil de os depurar

2. o Conselheiro Especialista, dependendo do seu estado (se um acordo é aberto ou não), calcula o indicador com parâmetros diferentes , mas no mesmo tampão. Como resultado, os valores serão diferentes do mesmo indicador, apenas atirados para o gráfico.

Exibir linhas do indicador no gráfico dos objectos de visualização OBJ_TREND do Expert Advisor, de acordo com os dados calculados no Expert Advisor da barra passada e da barra actual.
 
Artyom Trishkin:
Exibir as linhas indicadoras no gráfico por OBJ_TREND objectos da EA de acordo com os dados calculados na EA para a barra passada e a barra actual.
Obrigado. Já pensei numa tal solução, mas tem uma desvantagem: o desempenho deixa muito a desejar, especialmente porque tenho 3 indicadores incorporados. Talvez haja outras formas?
 
Shepot:
Obrigado. Já pensei numa tal solução, mas tem uma desvantagem: o desempenho deixa muito a desejar, especialmente porque tenho 3 indicadores incorporados. Talvez haja outras formas?
Saída das linhas na abertura da barra de minutos e no recálculo dos valores indicadores.
 
Shepot:
Obrigado. Já pensei numa tal solução, mas tem uma desvantagem: o desempenho deixa muito a desejar, especialmente porque tenho 3 indicadores incorporados. Talvez haja outras formas?

1. Colocar os indicadores necessários com os parâmetros apropriados no gráfico, guardar o modelo com o nome da EA ou sob o nome "testador" e depois, quando iniciar a EA em modo de visualização, todos os indicadores necessários serão visíveis no gráfico.

2. Os valores indicadores podem ser desenhados no Comentário() mas isto atrasa os testes, bem como os objectos gráficos.

 
Muito obrigado a todos vós!
 
Não consigo entender o significado da mensagem de registo terminal : 2015.12.28 18:30:39.718 '1656096': encomenda #0 compra 0,00 a 0 foi modificada -> sl: 0 tp: 0

 
Petr_k:
Não consigo compreender o significado da mensagem de registo terminal : 2015.12.28 18:30:39.718 '1656096': encomenda #0 compra 0.00 a 0 foi modificada -> sl: 0 tp: 0

ordem #0 compra a 0 a 0,00 foi modificada -> set sl: 0 tp: 0
 

Hi.

Existe uma situação confusa com a tolerância ao desvio durante os testes.

1) Eu defino desvio =10 pontos

mytrade.SetDeviationInPoints(dev);
mytrade.SetTypeFilling(ORDER_FILLING_RETURN);

2) Funcionamento

mytrade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lot,lastprice,lastprice-SL,lastprice+TP,"Test Buy");

ou

mytrade.Buy(Lot,_Symbol,0.0,lastprice-SL,lastprice+TP,"Buy Trade");

Não importa se ponho o último preço, ou o preço do sinal, ou apenas 0.

3) Eu faço o teste

а)

Print("Разница: ",mytrade.ResultPrice()-цена сигнала);

Eu recebo 20, o que é mais de 10

б)

QL      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   ---===Транзакция===---
QH      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип сделки: DEAL_TYPE_BUY
RN      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Состояние ордера: ORDER_STATE_STARTED
QO      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип ордера: ORDER_TYPE_BUY
CS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Цена: 70885
PS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип торговой транзакции: TRADE_TRANSACTION_DEAL_ADD

request.deviation

LM	0	08:57:35.303	Фракталы - неск,ТС,% (Si Splice,M5)	2015.01.29 14:15:32   Отклонение от запрашиваемой цены: 1

Recebo o preço da MqlTradeTransaction - após o sinal (70865), a ctrade compra por 70885.

в)

Print(mytrade.RequestDeviation());

= 10.

Qual poderá ser o problema? Claro que podemos assistir à última troca ou oferta na pilha, mas com base nos primeiros resultados no real, tudo isto não é fiável.

Ou colocar um preço de encomenda limite+10 e retirá-lo após algum tempo.

 
De um modo geral, fixei um preço limite de oferta + desconto por alguns segundos. Em Forts será obtido o equivalente do preço de mercado e o preço de execução não será superior a 100%.