Обсуждение статьи "Переосмысливаем классические стратегии (Часть XI): Пересечение скользящих средних (II)"
Спасибо Гаму. Мне нравятся ваши публикации, и я стараюсь учиться, воспроизводя ваши шаги.
У меня есть некоторые проблемы, надеюсь, это может помочь другим.
1) мои тесты с вашим EURGBP_Stochastic daily с использованием предоставленного скрипта дают только 2 ордера и впоследствии Sharpe ration 0.02. Я полагаю, что у меня те же настройки, что и у вас, но на 2 брокерах он выдает только 2 ордера.
2) в качестве предупреждения для других, вам может понадобиться изменить настройки символа в соответствии с вашим брокером (например, EURGBP на EURGBP.i), если это необходимо
3) далее, когда я пытаюсь экспортировать данные, я получаю массив вне диапазона для ATR, я полагаю, это потому, что я не получаю 100000 записей в мой массив (если я изменю его на 677), я могу соответственно получить файл с 677 строками. для меня по умолчанию максимальное количество баров на графике составляет 50000, если я изменю это на 100000, мой размер массива составляет только 677, но, возможно, у меня плохая настройка. Может быть, вы могли бы также включить скрипт извлечения данных в вашу загрузку.
4)Я скопировал код из вашей статьи, чтобы попробовать в Python Я получаю ошибку look_ahead not defined ----> 3 data.loc[data["Close"].shift(-look_ahead) > data["Close"], "Binary Target"] = 1
4 data = data.iloc[:-look_ahead,:]
NameError: имя 'look_ahead' не определено
5) когда я загрузил ваш блокнот Juypiter, я обнаружил, что в нем нужно установить опережающий прогноз #Let us forecast 20 steps into future
look_ahead = 20 , После этого я использовал только ваш включенный файл, но я застрял на следующей ошибке, возможно, связанной с тем, что у меня всего 677 строк.
Я запускаю #Масштабирование данных перед тем, как мы начнем их визуализировать
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']] = scaler.fit_transform(data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']])
что дает ошибку, которую я не понимаю, как решить
ipython-input-6-b2a044d397d0>:4: SettingWithCopyWarning: Значение пытается быть установлено на копии фрагмента из DataFrame. Попробуйте вместо этого использовать .loc[row_indexer,col_indexer] = value См. предостережения в документации: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']] = scaler.fit_transform(data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']])
Спасибо Гаму. Я наслаждаюсь вашими публикациями и стараюсь учиться, воспроизводя ваши шаги.
У меня возникли некоторые проблемы, надеюсь, это поможет другим.
1) мои тесты с вашим EURGBP_Stochastic daily с использованием предоставленного скрипта дают только 2 ордера и впоследствии Sharpe ration 0.02. Я считаю, что у меня те же настройки, что и у вас, но на 2 брокерах он выдает только 2 ордера.
2) в качестве предупреждения для других, вам может потребоваться изменить настройки символа в соответствии с вашим брокером (например, EURGBP на EURGBP.i), если это необходимо.
3) далее, когда я пытаюсь экспортировать данные, я получаю массив вне диапазона для ATR, я полагаю, это потому, что я не получаю 100000 записей в мой массив (если я изменю его на 677), я могу соответственно получить файл с 677 строками. для меня по умолчанию максимальное количество баров на графике составляет 50000, если я изменю это на 100000, мой размер массива составляет только 677, но, возможно, у меня плохая настройка. Может быть, вы могли бы также включить скрипт извлечения данных в вашу загрузку.
4)Я скопировал код из вашей статьи, чтобы попробовать в Python Я получаю ошибку look_ahead not defined ----> 3 data.loc[data["Close"].shift(-look_ahead) > data["Close"], "Binary Target"] = 1
4 data = data.iloc[:-look_ahead,:]
NameError: имя 'look_ahead' не определено
5) когда я загрузил ваш блокнот Juypiter, я обнаружил, что в нем нужно установить параметр look ahead #Let us forecast 20 steps into future
look_ahead = 20 , После этого я использовал только ваш включенный файл, но я застрял на следующей ошибке, возможно, связанной с тем, что у меня всего 677 строк.
Я запускаю #Масштабирование данных, прежде чем мы начнем их визуализировать
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']] = scaler.fit_transform(data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']])
что выдает ошибку, которую я не понимаю, как решить
ipython-input-6-b2a044d397d0>:4: SettingWithCopyWarning: Значение пытается быть установлено на копии фрагмента из DataFrame. Попробуйте вместо этого использовать .loc[row_indexer,col_indexer] = value См. предостережения в документации: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']] = scaler.fit_transform(data[['Open', 'High', 'Low', 'Close', 'MA Fast', 'MA Slow','Stoch Main']])
Как дела, Нил, надеюсь, у тебя все хорошо.
Спасибо, Gamu, я ценю это, да, я знаю, что есть много движущихся частей, я посмотрю, решит ли это мои проблемы.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Переосмысливаем классические стратегии (Часть XI): Пересечение скользящих средних (II):
Ранее мы уже рассматривали идею прогнозирования пересечений скользящих средних, ссылка на статью находится здесь. Мы заметили, что пересечения скользящих средних прогнозировать легче, чем непосредственное изменение цен. Сегодня мы вернемся к этой знакомой проблеме, но с совершенно другим подходом.
Теперь мы хотим тщательно изучить, насколько это существенно влияет на наши торговые приложения и как этот факт может улучшить ваши торговые стратегии. Пересечения скользящих средних являются одной из старейших существующих торговых стратегий. Построить прибыльную стратегию, используя такую широко известную методику, непросто. Тем не менее, я надеюсь показать вам в этой статье, что старые собаки действительно могут научиться новым трюкам.
Чтобы быть эмпирическими в наших сравнениях, сначала построим торговую стратегию на MQL5 для валютной пары EURGBP, используя только следующие индикаторы:
Наша стратегия будет направлена на торговлю на дневном таймфрейме. Мы проведем бэк-тестирование этой стратегии с первого января 2022 года по начало июня 2024 года. Изначально наша стратегия будет основываться на классических правилах трейдинга. Таким образом, сигналы на покупку будут подаваться всякий раз, когда быстрая скользящая средняя пересекает медленную скользящую среднюю, а стохастические показания превышают 80. А обратное справедливо для наших сигналов на продажу. Мы зафиксируем сигнал на продажу, когда быстрая скользящая средняя окажется ниже медленной, а стохастический осциллятор - ниже 20.
Автор: Gamuchirai Zororo Ndawana