Обсуждение статьи "Самооптимизирующийся советник на языках MQL5 и Python (Часть III): Реализация алгоритма Boom 1000"
Мы проанализируем все синтетические рынки Deriv по отдельности, начав с самого известного — Boom 1000.
Большое спасибо за статью! Давно присматриваюсь к этим индексам, но не знал, с какого боку к ним подступиться.
Пожалуйста, продолжайте!
#Instatiate the model model = MLPClassifier(hidden_layer_sizes=(30,10),max_iter=200) #Cross validate the model for i,(train,test) in enumerate(tscv.split(train_X)): model.fit( train_X.loc[train[0]:train[-1],:], ohlc_train_y.loc[train[0]:train[-1]] ) validation_accuracy.iloc[i,0] = accuracy_score( ohlc_train_y.loc[test[0]:test[-1]], model.predict(train_X.loc[test[0]:test[-1],:]) )
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[25], line 5 3 #Cross validate the model 4 for i,(train,test) in enumerate(tscv.split(train_X)): ----> 5 model.fit(train_X.loc[train[0]:train[-1],:],ohlc_train_y.loc[train[0]:train[-1]]) 6 validation_accuracy.iloc[i,0] = accuracy_score(ohlc_train_y.loc[test[0]:test[-1]],model.predict(train_X.loc[test[0]:test[-1],:])) File c:\Python\ocrujenie\.ordi\Lib\site-packages\sklearn\base.py:1389, in _fit_context.<locals>.decorator.<locals>.wrapper(estimator, *args, **kwargs) 1382 estimator._validate_params() 1384 with config_context( 1385 skip_parameter_validation=( 1386 prefer_skip_nested_validation or global_skip_validation 1387 ) 1388 ): -> 1389 return fit_method(estimator, *args, **kwargs) File c:\Python\ocrujenie\.ordi\Lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py:754, in BaseMultilayerPerceptron.fit(self, X, y) 736 @_fit_context(prefer_skip_nested_validation=True) 737 def fit(self, X, y): 738 """Fit the model to data matrix X and target(s) y. 739 740 Parameters (...) 752 Returns a trained MLP model. 753 """ ... 476 "Found input variables with inconsistent numbers of samples: %r" 477 % [int(l) for l in lengths] 478 ) ValueError: Found input variables with inconsistent numbers of samples: [4139, 4133] Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
я испробовал несколько инструментов и на каждом ваша модель выдает ошибку из-за несоответствия размеров входных данных (X) и целевых переменных (y).
Я попробовал несколько инструментов, и в каждом из них ваша модель выдает ошибку из-за несоответствия размеров входных данных (X) и целевых переменных (y).
Здравствуйте, Александр, вы можете использовать код в качестве шаблона, а затем внести необходимые изменения на своей стороне. Я бы также рекомендовал вам попробовать разные индикаторы, попробовать разные вариации общей идеи, изложенной в статье. Это поможет нам быстрее понять глобальную истину.
Я попробовал несколько инструментов, и каждый из них приводил к ошибке модели из-за несоответствия размеров входных данных (X) и целевой переменной (y).
# Сохраняйте индексы согласованными, иначе при наличии отфильтрованных данных индексы будут перестроены.
X = pd.DataFrame(RobustScaler().fit_transform(boom_1000.loc[:, predictors]), columns=predictors, index=boom_1000.index)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Самооптимизирующийся советник на языках MQL5 и Python (Часть III): Реализация алгоритма Boom 1000:
Мы проанализируем все синтетические рынки Deriv по отдельности, начав с самого известного — Boom 1000. Boom 1000 печально известен своим нестабильным и непредсказуемым поведением. Рынок характеризуется медленными, короткими и одинаковыми по размеру медвежьими свечами, за которыми случайным образом следуют бычьи свечи размером с небоскреб. Смягчить последствия бычьих свечей особенно сложно, поскольку тики, связанные со свечой, обычно не отправляются на клиентский терминал, а это означает, что все стоп-лоссы каждый раз срабатывают с гарантированным проскальзыванием.
Поэтому большинство успешных трейдеров используют стратегии, в основе которых лежит только покупка при торговле Boom 1000. Boom 1000 может падать в течение 20 минут на графике M1 и отыграть всё это падение за одну свечу! Таким образом, учитывая чрезмерно выраженный бычий характер рынка, успешные трейдеры придают больший вес покупке на Boom 1000.
Автор: Gamuchirai Zororo Ndawana