Resposta

A negociação da curva de patrimônio poderia ser muito fácil na MC9s+

3 respostas

Eastpeace

Cliente, bbp_participant, community, sq-ultimate, 305 respostas.

Perfil da visita

4 anos atrás #242452

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

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

0

Eastpeace

Cliente, bbp_participant, community, sq-ultimate, 305 respostas.

Perfil da visita

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

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

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

0

Visualizando 3 respostas - 1 até 3 (de um total de 3)