Só por precaução, imagem, indicador de equilíbrio (janela inferior).
Equilíbrio constante de passos, linha verde significa.
O equilíbrio não é necessário em valores absolutos, mas, por exemplo, o fator de lucro é atual... ou seja, de alguma forma normalizar o gráfico
ou seja, posso normalizar o gráfico de alguma forma. então é possível relacionar esta variável com o resto de alguma forma, por exemplo, usando a lógica fuzzy ou um neurônio.
Каждая торговая стратегия нуждается в объективной оценке ее эффективности. Для этого используется обширный ряд статистических параметров. Многие из них просты в расчете и показывают интуитивно понятные метрики. Другие сложнее в построении и в интерпретации значений. Несмотря на все это многообразие, есть очень мало качественных метрик для...
Depois, adicione seus indicadores e R^2 como termos de entrada, depois descreva linguisticamente as regras de interação entre as variáveis e obtenha um sinal no output
este é apenas um exemplo, você também pode usar neurônio (também há artigos), mas a lógica difusa me parece mais flexível e intuitiva para estas tarefas, e também pode ser otimizada como um neurônio ou seus parâmetros, mas haverá menos intuições
Трейдеры часто задаются вопросом о том, как улучшить торговую систему или создать новую за счет машинного обучения. Несмотря на обилие публикаций, остается открытым вопрос о простом и интуитивно понятном способе создания моделей, которые невозможно аналитически просчитать без использования компьютерных вычислений. Нечеткая логика — это окно в...
Infelizmente, neste momento, não estou familiarizado com a aprendizagem de máquinas. E eu não vou dominar isso tão cedo.
Eu estava planejando usar o indicador de equilíbrio para uma otimização rápida e contínua. Infelizmente, temos de desenvolver um análogo do indicador de equilíbrio e um script para procurar parâmetros para cada Expert Advisor. Acho que é realista incluir estes algoritmos no robô para otimização automatizada. Em princípio, é provavelmente a mesma aprendizagem da máquina, mas a um nível auto-fabricado.
Talvez eu também vá chegar a isso.
Entretanto, talvez alguém ache útil o que eu tenho. Indicador de equilíbrio para MT4.
int start()
{
int i;
int counted_bars=IndicatorCounted();
//----if(Bars<=3 ) return(0);
if (PRED_CHISLO_BAROV == Bars) return(0);
i=Bars-1;// i присваиваем значение числа баров .if(counted_bars>1) i=Bars-counted_bars-1;// while(i>=0)
{
//================================================================================================================================================================================================
MacdCurrent = iCustom( NULL, 0, "_________________",
0,i);
MacdPrevious = iCustom( NULL, 0, "_______________",
0,i+1);
SignalCurrent = iCustom( NULL, 0, "_____________",
1,i);
SignalPrevious = iCustom( NULL, 0, "_____________",
1,i+1);
MacdCurrent_Trend = iCustom( NULL, 0, "______________",
0,i);
MacdPrevious_Trend = iCustom( NULL, 0, "___________________",
0,i+1);
SignalCurrent_Trend = iCustom( NULL, 0, "__________________",
1,i);
if(Trend_InpSignalSMA==0) SignalCurrent_Trend = 0;
SignalPrevious_Trend = iCustom( NULL, 0, "_______________",
1,i+1);
if(Trend_InpSignalSMA==0) SignalPrevious_Trend = 0;
//================================================================================================================================================================================================// Оцениваем в какой позиции мы стояли бы по трендовому MACD И назначаем Trend =1 восходящий =-1 низходящийif(
MacdPrevious_Trend < 0 && //1) основная линия MACD ниже 0
MacdCurrent_Trend > SignalCurrent_Trend && MacdPrevious_Trend < SignalPrevious_Trend && //2) основная линия только что пересекла сигнальную с низу в верхMathAbs(MacdPrevious_Trend) > (Trend_MACDOpenLevel*Point) //3) основная линия ниже заданного для открытия значения
) Trend =1;
if(
MacdPrevious_Trend > 0 && // 1) основная линия MACD выше 0
MacdCurrent_Trend < SignalCurrent_Trend && MacdPrevious_Trend > SignalPrevious_Trend && //- основная линия только что пересекла сигнальную с низу в верхMathAbs(MacdPrevious_Trend) > (Trend_MACDOpenLevel*Point) // - основная линия выше заданного для открытия значения
) Trend =-1;
//================================================================================================================================================================================================//РАСЧЕТ ЛИНИИ БАЛАНСА.// Закрываем позицию SELLif(
(
Posic == -1 && // Если открыта позиция SELL
MacdPrevious < 0 && // 1) основная линия MACD ниже 0
MacdCurrent > SignalCurrent && MacdPrevious < SignalPrevious && //- основная линия только что пересекла сигнальную с низу в верхMathAbs(MacdPrevious) > (Ind_MACDCloseLevel*Point) // - основная линия ниже заданного для закрытия значения
) || (
Posic == -1 && (Cena_0 - Open[i])/Point * Naprav >= TakeProfit
) || (
Posic == -1 && (Open[i] - Cena_0)/Point * Naprav >= StopLoss
)
)
{
if( Cena_0 > 0 ) Balans = Balans +(Cena_0 -Open[i])/Point * Naprav ;
Cena_0 = 0; Posic = 0; Capital = 0 ;
}
// Открываем позицию BUYif(
Trend == 1 &&
Posic == 0 && // Если позиция зарыта
MacdPrevious < 0 && // 1) основная линия MACD ниже 0
MacdCurrent > SignalCurrent && MacdPrevious < SignalPrevious && //- основная линия только что пересекла сигнальную с низу в верхMathAbs(MacdPrevious) > (Ind_MACDOpenLevel*Point) // - основная линия ниже заданного для открытия значения
)
{ Cena_0 = Open[i]; Posic = 1; Balans = Balans - Spred; }
// Закрываем позицию BUYif(
(
Posic == 1 && // Если открыта позиция BUY
MacdPrevious > 0 && // 1) основная линия MACD выше 0
MacdCurrent < SignalCurrent && MacdPrevious > SignalPrevious && //- основная линия только что пересекла сигнальную с верх в низу MathAbs(MacdPrevious) > (Ind_MACDCloseLevel*Point) // - основная линия выше заданного для закрытия значения
) || (
Posic == 1 && (Cena_0 - Open[i])/Point * Naprav >= StopLoss
) || (
Posic == 1 && (Open[i] - Cena_0)/Point * Naprav >= TakeProfit
)
)
{
if( Cena_0 > 0 ) Balans = Balans +(Open[i] - Cena_0)/Point * Naprav ;
Cena_0 = 0; Posic = 0; Capital = 0 ;
}
// Открываем позицию SELLif(
Trend == -1 &&
Posic == 0 && // Если позиция зарыта
MacdPrevious > 0 && // 1) основная линия MACD выше 0
MacdCurrent < SignalCurrent && MacdPrevious > SignalPrevious && //- основная линия только что пересекла сигнальную с верх в низу MathAbs(MacdPrevious) > (Ind_MACDOpenLevel*Point) // - основная линия выше заданного для открытия значения
)
{ Cena_0 = Open[i]; Posic = -1; Balans = Balans - Spred; }
a1_Buffer[i]= Balans;
//================================================================================================================================================================================================//РАСЧЕТ ЛИНИИ ТЕКУЩЕГО КАПИТАЛЛА.// При открытой позиции BUYif( Posic > 0 )
{
if( Cena_0 > 0 ) Capital = ((Open[i] - Cena_0)/Point * Naprav) ;
}
// При открытой позиции SELLif( Posic < 0 )
{
if( Cena_0 > 0 ) Capital = ((Cena_0 -Open[i])/Point * Naprav) ;
}
a2_Buffer[i]= Balans + Capital;
//================================================================================================================================================================================================// a3_Buffer[i]= //================================================================================================================================================================================================// a4_Buffer[i]=//================================================================================================================================================================================================//================================================================================================================================================================================================if (i >= Bars-(TOCHKA_VHODA*2)) Cena_0 = 0;//
i--; PRED_CHISLO_BAROV = Bars;
}
//----return(0);
}
//+------------------------------------------------------------------+
P/S. Eu ficaria grato se você pudesse adicionar alguns exemplos de indicadores similares neste tópico. Seria melhor que, em conjunto com o Expert Advisor, copiasse.
Calcular pelos parâmetros actuais um gráfico de equilíbrio a uma certa profundidade da história, e se for mau então corrigi-los ao vivo, e ver a curva novamente... até se tornar óptima, depois trocar até começar a descer novamente, e rever os parâmetros... O backtest será, claro, longo neste caso
Eu tenho experiência em criar um indicador de equilíbrio, isto vai chegar perto de criar um hiperparâmetro?
não tenho certeza, se não há uma correlação real, então pode não ajudar... na verdade esta é a questão que todos estão confundindo no MoD :)
Não sei se não há uma correlação real, pode não ajudar... essencialmente esta é a questão que todos estão confundindo no MoD :)
:)
Só no caso de uma imagem, indicador de equilíbrio (janela inferior).
Equilíbrio constante de passos, linha verde significa.
:)
Só por precaução, imagem, indicador de equilíbrio (janela inferior).
Equilíbrio constante de passos, linha verde significa.
Oooh!
+
:)
Só por precaução, imagem, indicador de equilíbrio (janela inferior).
Equilíbrio constante de passos, linha verde significa.
O equilíbrio não é necessário em valores absolutos, mas, por exemplo, o fator de lucro é atual... ou seja, de alguma forma normalizar o gráfico
ou seja, posso normalizar o gráfico de alguma forma. então é possível relacionar esta variável com o resto de alguma forma, por exemplo, usando a lógica fuzzy ou um neurônio.
R^2 seria uma grande ajuda
https://www.mql5.com/ru/articles/2358
Depois, adicione seus indicadores e R^2 como termos de entrada, depois descreva linguisticamente as regras de interação entre as variáveis e obtenha um sinal no output
este é apenas um exemplo, você também pode usar neurônio (também há artigos), mas a lógica difusa me parece mais flexível e intuitiva para estas tarefas, e também pode ser otimizada como um neurônio ou seus parâmetros, mas haverá menos intuições
https://www.mql5.com/ru/articles/3795
Obrigado pelas mensagens.
Infelizmente, neste momento, não estou familiarizado com a aprendizagem de máquinas. E eu não vou dominar isso tão cedo.
Eu estava planejando usar o indicador de equilíbrio para uma otimização rápida e contínua. Infelizmente, temos de desenvolver um análogo do indicador de equilíbrio e um script para procurar parâmetros para cada Expert Advisor. Acho que é realista incluir estes algoritmos no robô para otimização automatizada. Em princípio, é provavelmente a mesma aprendizagem da máquina, mas a um nível auto-fabricado.
Talvez eu também vá chegar a isso.
Entretanto, talvez alguém ache útil o que eu tenho. Indicador de equilíbrio para MT4.
P/S. Eu ficaria grato se você pudesse adicionar alguns exemplos de indicadores similares neste tópico. Seria melhor que, em conjunto com o Expert Advisor, copiasse.
E sem a gíria? :))))))
Calcular pelos parâmetros actuais um gráfico de equilíbrio a uma certa profundidade da história, e se for mau então corrigi-los ao vivo, e ver a curva novamente... até se tornar óptima, depois trocar até começar a descer novamente, e rever os parâmetros... O backtest será, claro, longo neste caso
Obrigado.
Mas haverá um milhão de alças, terei que reescrever todos os indicadores no corpo do Expert Advisor.