Discusión sobre el artículo "Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte III): Descifrando el algoritmo del Boom 1000"
Analizaremos individualmente todos los mercados sintéticos Deriv, empezando por el más famoso: el Boom 1000.
¡Muchas gracias por el artículo! Llevo mucho tiempo mirando estos índices, pero no sabía desde qué lado acercarme a ellos.
Por favor, ¡continúen!
#Instalar el modelo model = MLPClassifier(hidden_layer_sizes=(30,10),max_iter=200) #Validación cruzada del modelo 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...
He probado varias herramientas y en todas ellas su modelo da unerror debido a un desajuste entre las dimensiones de los datos de entrada (X) y las variables objetivo (y).
He probado varias herramientas, y en cada una de ellas tu modelo da un error debido a tamaños inconsistentes de los datos de entrada (X) y las variables objetivo (y).
Hola Aliaksandr, puedes utilizar el código como modelo guía, y luego hacer los ajustes necesarios por tu cuenta. También te recomendaría probar diferentes indicadores, probar diferentes variaciones de la idea general del artículo. Eso nos ayudará a entender la verdad global más rápido.
He probado varias herramientas y todas ellas provocan errores en el modelo debido a incoherencias en el tamaño de los datos de entrada (X) y la variable objetivo (y).
# Mantener la coherencia de los índices, de lo contrario se reconstruirán los índices si hay datos filtrados
X = pd.DataFrame(RobustScaler().fit_transform(boom_1000.loc[:, predictors]), columns=predictors, index=boom_1000.index)
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Asesores Expertos Auto-Optimizables con MQL5 y Python (Parte III): Descifrando el algoritmo del Boom 1000:
Analizaremos todos los mercados sintéticos de Deriv individualmente, comenzando por su mercado sintético más conocido, el Boom 1000. El Boom 1000 es conocido por su comportamiento volátil e impredecible. El mercado se caracteriza por velas bajistas lentas, cortas y de tamaño uniforme, seguidas aleatoriamente por velas alcistas violentas del tamaño de un rascacielos. Las velas alcistas son especialmente difíciles de mitigar porque los ticks asociados con la vela normalmente no se envían a la terminal del cliente, lo que significa que todos los stop loss se rompen con un deslizamiento garantizado en cada ocasión.
Por lo tanto, la mayoría de los traders exitosos han creado estrategias basadas libremente en aprovechar únicamente oportunidades de compra cuando operan en el Boom 1000. Recuerde que el Boom 1000 podría caer durante 20 minutos en el gráfico M1 y retroceder todo ese movimiento en 1 vela. Por lo tanto, dada su naturaleza alcista excesivamente poderosa, los traders exitosos buscan usar esto para su beneficio al atribuir más peso a las configuraciones de compra en el Boom 1000 que a una configuración de venta.
Autor: Gamuchirai Zororo Ndawana