Eu fechei com a obtenção de lucros (de khorosh) e esta opção funciona muito bem. E depois de otimizar o parâmetro ProfitAutoClose, o drawdown diminuiu consideravelmente!
No entanto, não é exatamente um corte justo.
Como adicionar aqui o patrimônio residual? Eu introduziria outra variável?
Mas essa foi a versão que eu experimentei originalmente. Não vai caber, porque ali a rede de arrasto é empurrada para fora do equilíbrio e interage com o equilíbrio . É o lucro que está sendo arrastado.
Em minha EA, a equidade está sempre abaixo do equilíbrio e esta construção não é adequada.
Mencionei isso antes (último post na 7ª página):
"Como posso arrastá-lo se minha EA sempre mostra lucro negativo? Ou seja,não há lucro, mas há uma perda atual (é a operação específica da EA, cada posição individual fecha (principalmente) no plus, mas todas as posições em aberto neste caso estão sempre no loss).
E com minha EA - a equidade está sempre permanentemente abaixo do equilíbrio e esta construção não se encaixa.
Fechar primeiro os negócios não rentáveis, depois os rentáveis. O saldo cairá abaixo do patrimônio líquido (que é equivalente ao patrimônio líquido acima do saldo).
// Não afetará de forma alguma a rentabilidade.
Caso contrário, percebo que você tende a ficar nervoso com o próprio fato de "equidade<balanceamento". Tão frustrado, de fato, que você está desacelerando um pouco. ;)
Basicamente, você pode me enviar o código fonte (se você não quiser torná-lo público) e eu o corrigirei para você.
Rita, aqui vai um olhar sobre o código (como exemplo), que eu mesmo, em tempos, NÃO usei, mas que funcionou como me lembro agora :)
sem vínculos com balanços, lucros do balanço e outras coisas desnecessárias
(verificar cuidadosamente antes de usar, modificar para suas próprias necessidades)
if(!GlobalVariableCheck("StopTrading")){if(!GlobalVariableCheck("TrStopEquity")){int sl=SL_Equity;int tp=TP_Equity;if(( sl!=0&&AccountEquity()<=sl)|||(tp!=0&&AccountEquity()>=tp)){GlobalVariableSet("StopTrading",1);Sleep(500); FecharPosições();se( ShowComment){com="Comércio concluído. Todos os negócios estão fechados.\n"; comm=comm+"Expert Advisors stop at": "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);Comentário( pref, comm);}}} }se(!GlobalVariableCheck("StopTrading")){bool tr_stop=TrStop_Equity;int tr_step=TrStep_Equity;int tr_dist=TrDist_Equity;int tr_lvl =TrStartLvl_Equity;if(( tr_stop)||( tr_lvl!=0&&AccountEquity()>=tr_lvl)|||(GlobalVariableCheck("trStopEquity")){if(!GlobalVariableCheck("TrStopEquity")){GlobalVariableSet("TrStopEquity",1);}Sleep(500);se(!GlobalVariableCheck("SL_Equity")){GlobalVariableSet("SL_Equity",(AccountEquity()-tr_dist));}Sleep(500); sl=GlobalVariableGet("SL_Equity");se(AccountEquity()<=sl){GlobalVariableSet("StopTrading",1);Sleep(500);GlobalVariableDel("TrStopEquity");Sleep(500);GlobalVariableDel("SL_Equity");Sleep(500); ClosePositions();se( ShowComment){com="Comércio concluído. Todos os negócios estão fechados.\n"; comm=comm+"Expert Advisors stop at": "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);Comentário( pref, comm);}}else{if(AccountEquity()>( sl+tr_dist+tr_step)GlobalVariableSet("SL_Equity",(AccountEquity()-tr_dist);Sleep(500);se( ShowComment){ comm="Trailing Stop is running:\n"; comm=comm+"Level Stop Loss": "+DoubleToStr(NormalizeDouble( sl,2),2)+"\n"; comm=comm+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);Comentário( pref, comm);}} } As funções utilizadas são as de Kim, encontre-as no fórum se você ainda não as tem.
Se você tiver uma rede de arrasto para patrimônio líquido, por favor, envie-nos um simples, feche todas as posições e elimine todas as ordens se patrimônio líquido = ХХХХ, ou seja, se meu saldo era de 10000 antes de abrir posições, eu defino patrimônio líquido de 10500 na rede de arrasto e assim que patrimônio líquido = 10500, feche todas as ordens e abra posições).
Eu olhei para a Kim ... Acho que tudo parece um pouco complicado ...) acima neste tópico ...) Agradecemos antecipadamente:)
Foi assim que obtive lucros em um dos meus EAs:
Duplo lucro externoAutoClose = 100,0; // Incremento para obtenção de lucro
Depo. duplo;
int init()
{
//
Depo=AccountEquity();
GlobalVariableSet("Depo",Depo);
// return(0);
}
int start()
{
Depo=GlobalVariableGet("Depo");
if(AccountEquity()-Depo>ProfitAutoClose){
FecharPosições("0",-1, Mn);// fechar todas as posições
Depo=ContaEquidade();
GlobalVariableSet("Depo",Depo);}
...
Esta é precisamente a dificuldade. Como você determina a equidade na(s) etapa(s) anterior(es)?
Você tem que confiar em algum valor patrimonial anterior. Onde o obtemos - o valor anterior?
OBTER UMA VARIÁVEL.
Obrigado a todos vocês. Sim, de fato.
Eu fechei com a obtenção de lucros (de khorosh) e esta opção funciona muito bem. E depois de otimizar o parâmetro ProfitAutoClose, o drawdown diminuiu consideravelmente!
No entanto, não é exatamente um corte justo.
Como adicionar aqui o patrimônio residual? Eu introduziria outra variável?
Obrigado, granit77!
Mas essa foi a versão que eu experimentei originalmente. Não vai caber, porque ali a rede de arrasto é empurrada para fora do equilíbrio e interage com o equilíbrio . É o lucro que está sendo arrastado.
Em minha EA, a equidade está sempre abaixo do equilíbrio e esta construção não é adequada.
Mencionei isso antes (último post na 7ª página):
"Como posso arrastá-lo se minha EA sempre mostra lucro negativo?
Ou seja,não há lucro, mas há uma perda atual (é a operação específica da EA, cada posição individual fecha (principalmente) no plus, mas todas as posições em aberto neste caso estão sempre no loss).
E com minha EA - a equidade está sempre permanentemente abaixo do equilíbrio e esta construção não se encaixa.
Fechar primeiro os negócios não rentáveis, depois os rentáveis. O saldo cairá abaixo do patrimônio líquido (que é equivalente ao patrimônio líquido acima do saldo).
// Não afetará de forma alguma a rentabilidade.
Caso contrário, percebo que você tende a ficar nervoso com o próprio fato de "equidade<balanceamento". Tão frustrado, de fato, que você está desacelerando um pouco. ;)
Basicamente, você pode me enviar o código fonte (se você não quiser torná-lo público) e eu o corrigirei para você.
Rita, aqui vai um olhar sobre o código (como exemplo), que eu mesmo, em tempos, NÃO usei, mas que funcionou como me lembro agora :)
sem vínculos com balanços, lucros do balanço e outras coisas desnecessárias
(verificar cuidadosamente antes de usar, modificar para suas próprias necessidades)
Se você tiver uma rede de arrasto para patrimônio líquido, por favor, envie-nos um simples, feche todas as posições e elimine todas as ordens se patrimônio líquido = ХХХХ, ou seja, se meu saldo era de 10000 antes de abrir posições, eu defino patrimônio líquido de 10500 na rede de arrasto e assim que patrimônio líquido = 10500, feche todas as ordens e abra posições).
Eu olhei para a Kim ... Acho que tudo parece um pouco complicado ...) acima neste tópico ...) Agradecemos antecipadamente:)
Ah, é isso, acho que o encontrei logo acima... stCloseOrders parece ser a correta:)
Mas se alguém tem algo semelhante, então jogue-o dentro... nunca é muito útil:)