Каждая торговая стратегия нуждается в объективной оценке ее эффективности. Для этого используется обширный ряд статистических параметров. Многие из них просты в расчете и показывают интуитивно понятные метрики. Другие сложнее в построении и в интерпретации значений. Несмотря на все это многообразие, есть очень мало качественных метрик для...
Ardından, göstergelerinizi ve R^2'yi giriş terimleri olarak ekleyin, ardından değişkenler arasındaki etkileşim kurallarını dilsel olarak tanımlayın ve çıkışta bir sinyal alın
bu örnek olarak, bir nöron kullanabilirsiniz (makaleler de var), ancak bulanık mantık bana bu görevler için daha esnek ve sezgisel görünüyor ve ayrıca bir nöron veya parametreleriniz gibi optimize edilebilir, ancak daha az olacaktır. girdiler
Трейдеры часто задаются вопросом о том, как улучшить торговую систему или создать новую за счет машинного обучения. Несмотря на обилие публикаций, остается открытым вопрос о простом и интуитивно понятном способе создания моделей, которые невозможно аналитически просчитать без использования компьютерных вычислений. Нечеткая логика — это окно в...
Ne yazık ki, şu anda makine öğrenimine aşina değilim. Ve yakın gelecekte, ustalaşmayı taahhüt etmeyeceğim.
Denge göstergesinin hızlı sürekli optimizasyon için kullanılması planlandı. Ne yazık ki, her uzman için kendi terazi göstergesi analogunuzu ve parametreleri numaralandırmak için bir komut dosyası oluşturmanız gerekir. Otomatik optimizasyon için bu algoritmaları bir robota yerleştirmenin gerçekçi olduğunu düşünüyorum. Prensip olarak, bu muhtemelen aynı zamanda yalnızca kendi kendine yapılan bir düzeyde makine öğrenimidir.
Belki ben de oraya gelirim.
Bu arada, aniden biri işe yarar, ne olur. MT4 için denge göstergesi.
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. Şubeye benzer göstergelerden örnekler eklerseniz minnettar olurum. Kopyaladığı Uzman Danışman ile birlikte daha iyi.
ODA'daki bilançonun mevcut parametrelerini hesaplamak için. tarihin derinliği ve eğer kötüyse, o zaman onları canlı olarak düzeltin ve eğriyi tekrar izleyin .. optimal olana kadar, sonra tekrar bozulmaya başlayana kadar ticaret yapın ve tekrar parametreleri gözden geçirin .. backtest tabii ki olacak bu durumda uzun
Bir denge göstergesi oluşturma konusunda deneyimim var, bu beni bir hiperparametre oluşturmaya yaklaştıracak mı?
Emin değilim, eğer gerçek bir ilişki yoksa, o zaman yardımcı olmayabilir .. aslında bu, MO'da herkesin kafasını karıştıran bir soru :)
Emin değilim, eğer gerçek bir ilişki yoksa, o zaman yardımcı olmayabilir .. aslında bu, MO'da herkesin kafasını karıştıran bir soru :)
:)
Her ihtimale karşı, denge göstergesinin bir resmi (alt pencere).
Düzgün adımlar dengesi, yeşil çizgi demektir.
:)
Her ihtimale karşı, denge göstergesinin bir resmi (alt pencere).
Düzgün adımlar dengesi, yeşil çizgi demektir.
Ooooh!
+
:)
Her ihtimale karşı, denge göstergesinin bir resmi (alt pencere).
Düzgün adımlar dengesi, yeşil çizgi demektir.
Bakiye mutlak anlamda değil, örneğin cari kar faktörü .. yani. bir şekilde programı normalleştirin
o zaman bu değişkeni geri kalanıyla bir şekilde, örneğin bulanık mantık veya bir nöron aracılığıyla zaten bağlayabilirsiniz.
R^2 çok yardımcı olacak
https://www.mql5.com/en/articles/2358
Ardından, göstergelerinizi ve R^2'yi giriş terimleri olarak ekleyin, ardından değişkenler arasındaki etkileşim kurallarını dilsel olarak tanımlayın ve çıkışta bir sinyal alın
bu örnek olarak, bir nöron kullanabilirsiniz (makaleler de var), ancak bulanık mantık bana bu görevler için daha esnek ve sezgisel görünüyor ve ayrıca bir nöron veya parametreleriniz gibi optimize edilebilir, ancak daha az olacaktır. girdiler
https://www.mql5.com/en/articles/3795
Mesajlar için teşekkürler.
Ne yazık ki, şu anda makine öğrenimine aşina değilim. Ve yakın gelecekte, ustalaşmayı taahhüt etmeyeceğim.
Denge göstergesinin hızlı sürekli optimizasyon için kullanılması planlandı. Ne yazık ki, her uzman için kendi terazi göstergesi analogunuzu ve parametreleri numaralandırmak için bir komut dosyası oluşturmanız gerekir. Otomatik optimizasyon için bu algoritmaları bir robota yerleştirmenin gerçekçi olduğunu düşünüyorum. Prensip olarak, bu muhtemelen aynı zamanda yalnızca kendi kendine yapılan bir düzeyde makine öğrenimidir.
Belki ben de oraya gelirim.
Bu arada, aniden biri işe yarar, ne olur. MT4 için denge göstergesi.
P/S. Şubeye benzer göstergelerden örnekler eklerseniz minnettar olurum. Kopyaladığı Uzman Danışman ile birlikte daha iyi.
Ve argo olmadan? :)))))))
ODA'daki bilançonun mevcut parametrelerini hesaplamak için. tarihin derinliği ve eğer kötüyse, o zaman onları canlı olarak düzeltin ve eğriyi tekrar izleyin .. optimal olana kadar, sonra tekrar bozulmaya başlayana kadar ticaret yapın ve tekrar parametreleri gözden geçirin .. backtest tabii ki olacak bu durumda uzun
Teşekkür ederim.
sadece orada bir milyon tutamaç alacaksınız, uzmanın vücudundaki tüm göstergeleri yeniden yazmanız gerekecek