A negociação da curva de patrimônio poderia ser muito fácil na MC9s+
3 respostas
Eastpeace
4 anos atrás #242452
Usando o PMM no MC, é fácil gerenciar a ordem de acordo com a curva de patrimônio líquido simulada.
https://futures.io/easylanguage-programming/39106-position-sizing-equity-curve-trading.html
https://www.usingeasylanguage.com/equity-curve-feedback-pro2017new/
http://easylanguagemastery.com/equity-curve-indicators/
tomas262
4 anos atrás #242460
Olá,
Se você se refere ao controle de patrimônio, isso ainda não é compatível com o SQX. Você poderia adicionar uma solicitação de recurso para isso, mas ela teria baixa prioridade no desenvolvimento
Eastpeace
4 anos atrás #242862
Mas não tenho certeza se a negociação de ações é melhor ou não.
Depende do tipo de estratégia e do controle da curva do patrimônio líquido, da forma como a ordem é filtrada.
É fácil negociar um símbolo com uma estratégia. Precisamos de uma cópia da estratégia, uma (A) para a conta de negociação simulada e outra (B) para uma conta real ou outra conta no portfólio do Multicharts.
Precisamos adicionar uma condição para controlar o patrimônio líquido e passar esse valor para o sinal de gerenciamento de dinheiro do portfólio.
Deixe a estratégia A ser executada sempre. E a estratégia B depende da forma da curva de patrimônio da estratégia A e do seu método de controle de patrimônio.
Aqui está um exemplo de filtro de curva de patrimônio líquido por sua média. Quando o patrimônio líquido está abaixo da média, ele interrompe a entrada. Ele reinicia a negociação quando a curva está acima da média.
Mas o resultado é pior do que o original.
Coloque isso em seu sinal de estratégia de negociação no final
//começar
Entradas:
LRSlopeLen(30);
Matriz: a_NetPL[](0);
condition1 = Array_setmaxindex(a_NetPL,LRSlopeLen);
Vars:
TotTds(0), tradesnum(0), equityavg(0), equitystd(0);
TotTds = TotalTrades;
Se TotTds > TotTds[1] then begin
For value1 = LRSlopeLen downto 2 begin
a_NetPL[valor1] = a_NetPL[valor1-1];
fim;
a_NetPL[1] = InitialCapital + NetProfit;
For value1 = LRSlopeLen downto 1 begin
Se a_NetPL[value1] = 0 then begin
tradesnum = 0; // #trades menor que 30
final
else begin
tradesnum = 1;
fim;
//print("date=",d," time=",Time," equity=", "Netprofit",value1," ",a_NetPL[value1]," avg=",equityavg);
fim;
fim;
//se as negociações forem inferiores a 30, deixe a estratégia ser executada sempre
se tradesnum = 0, então pmms_set_strategy_named_num(pmms_strategies_get_by_symbol_name(symbolname), "euityaverage", 1);
se tradesnum = 1, então comece
equityavg = AverageArray(a_NetPL,LRSlopeLen);
if a_NetPL[1]>equityavg then //quando o patrimônio líquido estiver acima da média, a estratégia será executada
pmms_set_strategy_named_num(pmms_strategies_get_by_symbol_name(symbolname), "euityaverage", 1);
if a_NetPL[1]<equityavg then // quando o patrimônio líquido estiver abaixo da média, a estratégia será interrompida
pmms_set_strategy_named_num(pmms_strategies_get_by_symbol_name(symbolname), "euityaverage", 0);
fim;
//end
Aqui está o sinal de gerenciamento de dinheiro do portfólio
// início
variáveis:
portfolioStrategies(0),
EquitySlope(0);
pmms_strategies_deny_entries_all();
pmms_strategy_allow_entries(0); //permitir todas as negociações na conta de simulação, estratégia A
EquitySlope = pmms_get_strategy_named_num(0, "euityaverage"); //obtém o valor do filtro na Estratégia A
if EquitySlope=1 then pmms_strategy_allow_entries(1); //executar a estratégia B quando o patrimônio líquido na estratégia B estiver acima da média
//end
Link de referência,
https://www.multicharts.com/discussion/viewtopic.php?f=1&t=49287&p=119431#p119431
tomas262
4 anos atrás #243024
Obrigado pelo código útil.
Quanto ao controle acionário em geral. Acredito que ele funcione apenas de forma limitada. Ele pode funcionar para ALGUNS sistemas que tendem a concatenar vencedores e perdedores em sequências, obviamente. Mas você também pode perder o início da sequência de vitórias com isso facilmente! Na verdade, para a maioria dos sistemas, isso não faz muito sentido. Assim que você tiver um sistema com expectativa positiva, é melhor estar na próxima operação. Já vi muitos sistemas que tendem a funcionar melhor logo após atingirem o pior drawdown. Que tipo de vantagem é representada pelo fato de a última negociação ter sido perdedora? Ele oferece mais chances de que a próxima operação seja perdedora? Acredito que não. Parece ótimo quando aplicado em curvas de patrimônio histórico, mas todas as sequências com todos os sistemas são únicas e aleatórias
Visualizando 3 respostas - 1 até 3 (de um total de 3)