Ho esperienza nella creazione di un indicatore di equilibrio, questo si avvicinerà alla creazione di un iperparametro?
Non sono sicuro, se non c'è una reale correlazione allora potrebbe non servire... infatti questa è la domanda su cui tutti si stanno interrogando nel Ministero della Difesa :)
Per sicurezza, immagine, indicatore di bilanciamento (finestra in basso).
Equilibrio a gradini costanti, la linea verde significa.
L'equilibrio non è necessario in valori assoluti, ma, per esempio, il fattore di profitto è attuale... cioè in qualche modo normalizzare il grafico
Cioè posso normalizzare il grafico in qualche modo. poi è possibile mettere in relazione questa variabile con il resto in qualche modo, per esempio usando la logica fuzzy o un neurone.
Каждая торговая стратегия нуждается в объективной оценке ее эффективности. Для этого используется обширный ряд статистических параметров. Многие из них просты в расчете и показывают интуитивно понятные метрики. Другие сложнее в построении и в интерпретации значений. Несмотря на все это многообразие, есть очень мало качественных метрик для...
Quindi, aggiungete i vostri indicatori e R^2 come termini di ingresso, poi descrivete linguisticamente le regole di interazione tra le variabili e ottenete un segnale in uscita
questo è solo un esempio, si può anche usare il neurone (ci sono anche articoli), ma la logica fuzzy mi sembra più flessibile e intuitiva per questi compiti, e può anche essere ottimizzata come un neurone o i vostri parametri, ma ci saranno meno intuizioni
Трейдеры часто задаются вопросом о том, как улучшить торговую систему или создать новую за счет машинного обучения. Несмотря на обилие публикаций, остается открытым вопрос о простом и интуитивно понятном способе создания моделей, которые невозможно аналитически просчитать без использования компьютерных вычислений. Нечеткая логика — это окно в...
Purtroppo, al momento, non ho familiarità con l'apprendimento automatico. E non ho intenzione di padroneggiarlo tanto presto.
Avevo intenzione di usare l'indicatore di equilibrio per una rapida ottimizzazione continua. Purtroppo, dobbiamo sviluppare un analogo dell'indicatore di equilibrio e uno script per enumerare i parametri per ogni Expert Advisor. Penso che sia realistico includere questi algoritmi nel robot per l'ottimizzazione automatica. In linea di principio, si tratta probabilmente dello stesso apprendimento automatico ma a livello di autocostruzione.
Forse lo farò anch'io.
Nel frattempo, forse qualcuno troverà utile quello che ho. Indicatore di equilibrio per 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. Vi sarei grato se poteste aggiungere alcuni esempi di indicatori simili in questo thread. Sarebbe meglio insieme all'Expert Advisor che copia.
Calcolare dai parametri attuali un grafico di equilibrio ad una certa profondità della storia, e se è male allora correggerli dal vivo, e guardare la curva di nuovo ... fino a quando non diventa ottimale, poi commerciare fino a quando inizia a scendere di nuovo, e andare oltre i parametri di nuovo ... Backtest sarà naturalmente lungo in questo caso
Ho esperienza nella creazione di un indicatore di equilibrio, questo si avvicinerà alla creazione di un iperparametro?
Non sono sicuro, se non c'è una reale correlazione allora potrebbe non servire... infatti questa è la domanda su cui tutti si stanno interrogando nel Ministero della Difesa :)
Non so se non c'è una reale correlazione, potrebbe non servire... essenzialmente questa è la domanda su cui tutti si stanno interrogando nel MoD :)
:)
Per sicurezza, immagine, indicatore di bilanciamento (finestra in basso).
Equilibrio a gradini costanti, la linea verde significa.
:)
Per sicurezza, immagine, indicatore di bilanciamento (finestra in basso).
Equilibrio a gradini costanti, la linea verde significa.
Oooh!
+
:)
Per sicurezza, immagine, indicatore di bilanciamento (finestra in basso).
Equilibrio a gradini costanti, la linea verde significa.
L'equilibrio non è necessario in valori assoluti, ma, per esempio, il fattore di profitto è attuale... cioè in qualche modo normalizzare il grafico
Cioè posso normalizzare il grafico in qualche modo. poi è possibile mettere in relazione questa variabile con il resto in qualche modo, per esempio usando la logica fuzzy o un neurone.
R^2 sarebbe di grande aiuto
https://www.mql5.com/ru/articles/2358
Quindi, aggiungete i vostri indicatori e R^2 come termini di ingresso, poi descrivete linguisticamente le regole di interazione tra le variabili e ottenete un segnale in uscita
questo è solo un esempio, si può anche usare il neurone (ci sono anche articoli), ma la logica fuzzy mi sembra più flessibile e intuitiva per questi compiti, e può anche essere ottimizzata come un neurone o i vostri parametri, ma ci saranno meno intuizioni
https://www.mql5.com/ru/articles/3795
Grazie per i messaggi.
Purtroppo, al momento, non ho familiarità con l'apprendimento automatico. E non ho intenzione di padroneggiarlo tanto presto.
Avevo intenzione di usare l'indicatore di equilibrio per una rapida ottimizzazione continua. Purtroppo, dobbiamo sviluppare un analogo dell'indicatore di equilibrio e uno script per enumerare i parametri per ogni Expert Advisor. Penso che sia realistico includere questi algoritmi nel robot per l'ottimizzazione automatica. In linea di principio, si tratta probabilmente dello stesso apprendimento automatico ma a livello di autocostruzione.
Forse lo farò anch'io.
Nel frattempo, forse qualcuno troverà utile quello che ho. Indicatore di equilibrio per MT4.
P/S. Vi sarei grato se poteste aggiungere alcuni esempi di indicatori simili in questo thread. Sarebbe meglio insieme all'Expert Advisor che copia.
E senza lo slang? :))))))
Calcolare dai parametri attuali un grafico di equilibrio ad una certa profondità della storia, e se è male allora correggerli dal vivo, e guardare la curva di nuovo ... fino a quando non diventa ottimale, poi commerciare fino a quando inizia a scendere di nuovo, e andare oltre i parametri di nuovo ... Backtest sarà naturalmente lungo in questo caso
Grazie.
Ma ci saranno un milione di maniglie, dovrò riscrivere tutti gli indicatori nel corpo dell'Expert Advisor