Главная Юзердоски Каталог Трекер NSFW Настройки

Искусственный интеллект

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 285 27 136
Нейросетевой заработок Аноним 04/07/23 Втр 20:52:31 385611 1
unnamed.png 31Кб, 512x512
512x512
Добрый день. Имеется код на TensorFlow (Keras) для обучения нейронки для предсказания движения курса и собственно, его предсказание. Код взят в открытом источнике и ещё не полностью доработан. Также возникают некоторые трудности, может кто нибудь подскажет, как их можно решить, вот сам код

# Импортирование необходимых библиотек
import os.path
import pandas as pd
import numpy as np
import tensorflow as tf
from binance.client import Client

# Получение доступа к API биржи бинанс
api_key = 'Ключ'
api_secret = 'Секрет'
client = Client(api_key, api_secret)

# Сбор данных о криптовалютах и их изменении цен за определенный период времени
if os.path.exists("data.csv"):
bars = pd.read_csv("data.csv")
else:
data_file = open("data.csv", "w+")
data_file.close()
df = pd.DataFrame(client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "90 days ago UTC"))
df.to_csv("data.csv", index=False)
bars = pd.read_csv("data.csv")

#bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "180 days ago UTC")

# Подготовка данных для обучения нейросети
data = pd.DataFrame(bars,
columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume',
'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume',
'ignore'])
data.drop(columns=['close_time', 'quote_asset_volume', 'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume', 'ignore'], inplace=True)
data['timestamp'] = pd.to_datetime(data['timestamp'], unit='ms')
data.set_index('timestamp', inplace=True)
data = data.astype(float)

# Создание модели нейросети
model = tf.keras.Sequential([
tf.keras.layers.Dense(128, activation='relu', input_shape=(5,)),
tf.keras.layers.BatchNormalization(),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(1)
])

MyOpt = tf.keras.optimizers.SGD(learning_rate=0.05, momentum=0.05, nesterov=True)
# Компиляция модели
model.compile(optimizer=MyOpt,
loss='mape',
metrics='accuracy')

# Обучение модели на подготовленных данных
model.fit(data.iloc[:-100], data['close'].iloc[:-100], batch_size=15, epochs=400, validation_split=0.2)

# Проверка качества работы нейросети на тестовых данных
model.evaluate(data.iloc[-100:], data['close'].iloc[-100:])

# Использование нейросети для принятия решений о покупке или продаже криптовалют на бирже бинанс
prediction = model.predict(data.iloc[-1:].values)
if prediction > data['close'].iloc[-1]:
print('Купить')
else:
print('Продать')

Проблема заключается в процессе обучения, во первых, если выдёргивать данные из файла (Если я всё правильно написал), то процесс обучения заходит в тупик и loss улетает, поэтому выдаётся nan, почему так происходит я не понимаю, пробовал разные методы и параметры оптимизации и разные функции потерь. Есть мысль что как то неправильно берутся данные из файла, так как если расскоментить bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "180 days ago UTC") То процесс обучения начинает хоть как то идти. Во вторых параметр метрики, в частности точность тут не подходит, я так понимаю, надо написать свой метод для определения точности. Активационную функцию выбрал для всех слоев relu, так как при при других опять же процесс обучения просто упадёт. Пробовал с разным кол-вом нейронов, выход один и тот же, максимум чего удалось добиться это loss = 1000 (Чего немного дофига)
Нижнюю часть, в частности проверка качества работы и использование нейронки можно пока выбросить.
Есть у кого идеи по размеру батчей, возможно мало эпох или ещё чего то не хватает. С переобучением не сталкивался, так что dropout и нормализацию батчей не использовал.
Аноним 04/07/23 Втр 20:54:33 385616 2
Бамп
Аноним 04/07/23 Втр 20:55:45 385618 3
Наврал, Нормализацию батчей использовал, но смысла особо не дало, можно закомментить и будет также стопориться на 1000
Аноним 04/07/23 Втр 20:57:53 385620 4
Вчера перепробовал разные оптимизаторы и функции потерь, разный объём данных для обучения, разные размеры батчей и разделения на тест и валидацию, почти ничего не смогло уменьшить потерю ниже 1000
Аноним 04/07/23 Втр 21:18:16 385657 5
Также сейчас заметил что я какую то дичь написал в первых двух параметрах обучения модели, по умолчанию там должно быть :-10, сейчас поправил на :-5
Аноним 04/07/23 Втр 21:23:26 385660 6
>>385657
Хоть и так много данных для обучения, но оставлю ка я поменьше на тест
Аноним 05/07/23 Срд 20:09:38 387173 7
Переписал немного код, сделал нейронку рекуррентной, так как она лучше справляется с предсказанием, но есть баг с размерностью предсказанных и правильных значений, если кто то сможет исправить, буду благодарен

# Импортирование необходимых библиотек
import os.path

from keras import Sequential
from keras.layers import LSTM, Dense
import sys
import pandas as pd
import tensorflow as tf
from binance.client import Client

# Получение доступа к API биржи бинанс
api_key = 'ключ'
api_secret = 'секрет'
client = Client(api_key, api_secret)

# Сбор данных о криптовалютах и их изменении цен за определенный период времени
"""if os.path.exists("data.csv"):
bars = pd.read_csv("data.csv")
else:
data_file = open("data.csv", "w+")
data_file.close()
df = pd.DataFrame(client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "90 days ago UTC"))
df.to_csv("data.csv", index=False)
bars = pd.read_csv("data.csv")"""

bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "30 days ago UTC")

# Подготовка данных для обучения нейросети
data = pd.DataFrame(bars,
columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume',
'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume',
'ignore'])
data['timestamp'] = pd.to_datetime(data['timestamp'], unit='ms')
data.set_index('timestamp', inplace=True)
data = data.astype(float) / 255

train_data = data.iloc[:-20]
max_rows = train_data.shape[0] // 15 15
train_data = train_data.values[:max_rows].reshape((-1, 15, 11))

train_labels = data.iloc[:-20]
max_rows_labels = train_labels.shape[0] // 15
15
train_labels = train_labels.values[:max_rows_labels].reshape((-1, 15, 11))

"""input_layer = tf.keras.layers.Input(shape=(15, 11))
flatten_layer = tf.keras.layers.Flatten()(input_layer)
hidden_layer = tf.keras.layers.Dense(64, activation='relu')(flatten_layer)
output_layer = tf.keras.layers.Dense(11)(hidden_layer)"""

# Создание модели нейросети
#model = tf.keras.models.Model(inputs=input_layer, outputs=output_layer)
model = Sequential()
model.add(LSTM(128, batch_size=20, return_sequences=True, input_shape=[15, 11]))
model.add(LSTM(64, return_sequences=False))
model.add(Dense(11))

MyOpt = tf.keras.optimizers.SGD(learning_rate=0.1, momentum=0.1, nesterov=False)
# Компиляция модели
model.compile(optimizer=MyOpt,
loss='mse')

# Обучение модели на подготовленных данных
model.fit(train_data, train_labels, batch_size=20, epochs=150, validation_split=0.2)

print('Сохранить текущую модель в файл? Y/N')
answer=input()
if answer == 'Y':
model.save('model.h5')
else:
sys.exit()
Аноним 07/07/23 Птн 15:37:05 389874 8
>>385611 (OP)
>для обучения нейронки для предсказания движения курса и собственно, его предсказание
Ты соснёшь. По цене нельзя предсказать что с ней будет. НИКАК!!! СОВСЕМ!!! Нужен хотябы биржевой стакан.

P.S.Учил нейросетку по сотням картинок с графиками результат такой себе
Аноним 08/07/23 Суб 02:16:25 391035 9
>>389874
Какие картинки, ты код мой смотрел? Он выдёргивает всю инфу о каждой свече и на основе 15 свеч делает примерный прогноз, плюс я переделал сетку под рекуррентную, она для предсказания идёт лучше, если хочешь, могу кинуть код, сам пообучаешь с разными данными и потестишь.
Аноним 08/07/23 Суб 15:15:07 391576 10
>>385611 (OP)
Хороший тред, тоже думаю этим заняться
>>389874
Можно, см анализ временных рядов
Аноним 09/07/23 Вск 17:39:22 393416 11
>>391576
>Можно, см анализ временных рядов
Посмотрел. The Echo Forecast [LuxAlgo] слил мои 10$ во время тестов. Фигня всё это уровня квадрата ганна и прочей ереси
Аноним 09/07/23 Вск 17:47:04 393429 12
>>391035
>могу кинуть код, сам пообучаешь с разными данными и потестишь.
Я лет пять назад это всё пробовал. И меня на это вдохновила статья где пробовали торговать используя нейронные сети. И статье этой уже тогда было несколько лет. Угадай пришёл ли кто-то из тех кто этим баловался к успеху?
Аноним 09/07/23 Вск 17:52:19 393436 13
>>385611 (OP)
оптимизатор замени с sgd на adam/adamw, он круче
learning_rate ставь намного ниже. например 0.001
модель говно, переделывай)
ошибка (loss) не ебу что это за mape, но обычно используют mse, bce и другие
batch_size ставь 32-64-128-256 и больше, насколько видеокарта выдерживает
epochs многовато, обычно обучают не больше 10
Аноним 10/07/23 Пнд 00:59:53 394121 14
>>393429
Да, вопрос сколько это заняло, потому что нормально обучить нейронку это очень трудно
Аноним 10/07/23 Пнд 01:02:01 394124 15
>>393436
Сейчас кину переделанную нейронку, та модель говно, согласен)
Аноним 10/07/23 Пнд 01:11:42 394137 16
>>394121
И оно не должно выдавать какой то запредельный доход уровня илона, такие нейронки скальпят неплохо, если сам скальпить не умеешь и лень сидеть смотреть котировки, где побольше можешь выцепить процентов, то лучше запустить этот код и пусть он работает за тебя, собирая по несколько процентов за пару часов
Аноним 10/07/23 Пнд 01:45:55 394199 17
image.png 176Кб, 599x870
599x870
image.png 166Кб, 565x845
565x845
Вот обновлённый код, сделал нейронку комбинированной, наполовину свёрточной, наполовину рекуррентной, Работает в разы лучше, однако есть смещение в право, то есть нейронка обучилась говну, вообще в теории это должно быть исправлено самой сеткой, так как LSTM, который я использовал для прошлой модели, уже использует автокоррекцию, посмотрим на что способна эта версия, для анализа теперь использую TensorBoard. По советам выше сейчас поставлю батч сайз побольше а эпох поменьше (правда в теории это должно только ухудшить качество обучения. Для предсказания я беру по 10 свечей по 5 минут, много по идее не должно быть, до этого брал по 15.

Также прикладываю скрины с графиками, второй скрин это позапрошлая модель, первый скрин это последняя обученная модель. На первом пике смещения не видно, но если брать часовой промежуток по oX, то там видно что она на пунктов 5, не меньше съезжает, если кто то знает причину и как это исправить, милости прошу в тред. Кстати в конце, если всё будет работать, могу скинуть все файлы, так как там есть ещё пара скриптов для теста нейронки на небольшом промежутке и файл для тестовой "Торговли", чтобы можно было видеть, зарабатывает хоть она, или страдает фигнёй.

# Импортирование необходимых библиотек
import datetime
from keras_self_attention import SeqSelfAttention
from sklearn.preprocessing import StandardScaler
import keras
import numpy as np
from keras.layers import LSTM, Dense, MaxPooling1D, Conv1D
import pandas as pd
import tensorflow as tf
from binance.client import Client

# Получение доступа к API биржи бинанс
api_key = 'ключ'
api_secret = 'секрет'
client = Client(api_key, api_secret)

bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "1080 days ago UTC")

# Подготовка данных для обучения нейросети
data = pd.DataFrame(bars,
columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume',
'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume',
'ignore'])

data['timestamp'] = pd.to_datetime(data['timestamp'], unit='ms')
data.set_index('timestamp', inplace=True)

#Стандартная нормализация
scaler = StandardScaler()
data = scaler.fit_transform(data)
data = pd.DataFrame(data)

train_data_blocks = []
train_labels = []
block_size = 15
for i in range(len(data) - block_size - 1):
train_data_block = data.iloc[i:i+block_size].values
train_label = data.iloc[i+block_size, [1, 2, 3]].values
train_data_blocks.append(train_data_block)
train_labels.append(train_label)

train_data = np.array(train_data_blocks)
train_labels = np.array(train_labels)

# Создание списков для сохранения значений метрики и функции потерь
train_losses = []
train_metrics = []
val_losses = []
val_metrics = []

log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

# Создание модели нейросети
model = tf.keras.Sequential()
model.add(Conv1D(filters=150, kernel_size=4, activation='relu', input_shape=(15, 11)))
model.add(MaxPooling1D(pool_size=2))
model.add(SeqSelfAttention(attention_activation='sigmoid'))
model.add(keras.layers.MultiHeadAttention(num_heads=8, key_dim=64))
model.add(keras.layers.FeedForwardNeuralNetwork(64, activation='relu'))
model.add(keras.layers.MultiHeadAttention(num_heads=4, key_dim=32))
model.add(keras.layers.FeedForwardNeuralNetwork(32, activation='relu'))
model.add(Dense(3, activation='linear'))

MyOpt = tf.keras.optimizers.SGD(learning_rate=0.001, momentum=0.1, nesterov=True)

# Компиляция модели
model.compile(optimizer=MyOpt,
loss='mse',
metrics='accuracy')

# Обучение модели на подготовленных данных
model.fit(train_data, train_labels, batch_size=25, epochs=150, validation_split=0.3, callbacks=[tensorboard_callback])

model.save('model_ver4.h5')
Аноним 10/07/23 Пнд 01:58:44 394221 18
>>393416
Посмотрел я этот The Echo Forecast, непонятно чё написано и нахер надо, какой то сайт для рубки бабла не больше, хочешь рабочую нейросеть, иди читать мануалы, я вот сижу и разгребаю тонну документаций по разным библиотекам а также потихоньку разбираюсь в формулах, которые применяются в процессе создания нейросети, и, как видишь, понемногу получается всё лучше.
Аноним 10/07/23 Пнд 02:27:04 394242 19
Также тут большой косяк с MultiHeadAttention, сейчас буду разбираться, как по нормальному работать с ним
Аноним 11/07/23 Втр 07:57:22 395555 20
>>394199
>model.save('model_ver4.h5')
Сколько по итогу весит модель? Уже можно пованговать курс?
Аноним 11/07/23 Втр 08:12:56 395560 21
>>385611 (OP)
Занимался такой хуйней, долго ковырял но к чему-то путному не пришел. Дам подсказку, о чем понял с опытом. Попытка предсказать движения курса лишь по свечкам обречена на провал, нейронка должна быть охуенно могучая, с вниманием и большим количеством параметров чтоб хоть что-то из этого понимать. Гораздо правильнее дать ей инструмент в виде всяческих показаний индикаторов, чтобы она не отвелкалась на бесполезные ложные корреляции
Аноним 11/07/23 Втр 08:56:45 395570 22
>>395560
Хорошо, можешь поделиться подробнее о индикаторах, какие брать, в след версию тогда добавлю их тоже
Аноним 11/07/23 Втр 09:00:48 395572 23
>>395555
Модель не весит нифига пока что, так как нейронов и слоёв очень мало, последняя версия на 3мб получилась, и там уже не просто гадание о прошлых значениях а какие то попытки предсказать нормально. Сейчас буду вертеть параметры и обучать пытаться, и чем меньше эпох и больше батч сайз тем тупее и прямолинейнее модель получается, так что сейчас чуть подкрутил их, посмотрим что выйдет
Аноним 11/07/23 Втр 09:02:01 395573 24
Кидаю последний рабочий код для обучения, можете попробовать параметры подкрутить и пообучать

# Импортирование необходимых библиотек
import datetime
from sklearn.preprocessing import StandardScaler
import numpy as np
from keras.layers import Dense, MaxPooling1D, Conv1D, LSTM, Dropout
import pandas as pd
import tensorflow as tf
import keras.backend as K
import tensorflow_probability as tfp

from binance.client import Client

# Получение доступа к API биржи бинанс
api_key = 'ключ'
api_secret = 'секрет'
client = Client(api_key, api_secret)

bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "720 days ago UTC")

# Подготовка данных для обучения нейросети
data = pd.DataFrame(bars,
columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume',
'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume',
'ignore'])

data['timestamp'] = pd.to_datetime(data['timestamp'], unit='ms')
data.set_index('timestamp', inplace=True)

#Стандартная нормализация
scaler = StandardScaler()
data = scaler.fit_transform(data)
data = pd.DataFrame(data)

def autocorrelation_metric(y_true, y_pred):
residuals = y_true - y_pred
autocorr = tfp.stats.correlation(residuals[:, :-1], residuals[:, 1:])
return K.mean(autocorr)

block_size = 25
prediction_size = 1 # Изменено на 1, так как модель предсказывает только одну свечу

train_data_blocks = []
train_labels = []
for i in range(len(data) - block_size - prediction_size + 1):
train_data_block = data.iloc[i:i+block_size].values
train_label = data.iloc[i+block_size+prediction_size-1, [1, 2, 3]].values
train_data_blocks.append(train_data_block)
train_labels.append(train_label)

train_data = np.array(train_data_blocks)
train_labels = np.array(train_labels)

train_data = np.array(train_data_blocks)
train_labels = np.array(train_labels)
train_labels = np.expand_dims(train_labels, axis=2)

log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

# Создание модели нейросети
inputs = tf.keras.Input(shape=(25, 11))
x = Conv1D(filters=300, kernel_size=6, activation='relu')(inputs)
x = Dropout(0.3)(x)
x = MaxPooling1D(pool_size=4)(x)
x = Dropout(0.3)(x)
x = tf.keras.layers.Attention()([x, x])
x = Dropout(0.3)(x)
x = LSTM(128, activation='tanh')(x)
x = Dropout(0.3)(x)
x = tf.keras.layers.Attention()([x, x])
x = Dropout(0.3)(x)
x = Dense(64, activation='relu')(x)
x = Dropout(0.3)(x)
outputs = Dense(3, activation='linear')(x)

model = tf.keras.Model(inputs=inputs, outputs=outputs)


MyOpt = tf.keras.optimizers.SGD(learning_rate=0.001, momentum=0.1, nesterov=True)

# Компиляция модели
model.compile(optimizer='adam',
loss='mse',
metrics=[autocorrelation_metric])

# Обучение модели на подготовленных данных
model.fit(train_data, train_labels, batch_size=64, epochs=150, validation_split=0.3, callbacks=[tensorboard_callback])

model.save('model_ver4_10.h5')
Аноним 11/07/23 Втр 09:50:55 395598 25
>>395570
Я брал AC, ADX, CG, Bollinger Bands, CCI, DX, MOM, OBV, RSI. Генерил для тренировочного датасета через npm либу "trading-signals". Учти что генерится очень долго, возможно придется выкинуть часть или взять пеку помощнее. В индикаторы надо прокидывать значения, я брал таким образом: находил на traidingview готовые стратегии по нужному индикатору и менял параметры, пока не получится наилучший график прибыли, на условном биткоине.
Аноним 11/07/23 Втр 11:16:13 395634 26
>>395570
>Хорошо, можешь поделиться подробнее о индикаторах, какие брать, в след версию тогда добавлю их тоже
Я не он но единственное что работает довольно часто это пробой плотностей либо отскок от плотностей
Аноним 11/07/23 Втр 16:42:37 395897 27
>>395634
Пробои и отскоки я и глазками вижу, занимался таким, для этого нейронка не нужна, сама соль в том что случаются они достаточно редко и не в таких обьёмных парах как btcusdt, так что тут мимо наверно, но приму к сведенью
Аноним 11/07/23 Втр 16:46:04 395902 28
>>395598
Ок, попробую с разными вариациями, по результатам скину
Аноним 13/07/23 Чтв 08:48:36 399130 29
Аноним 13/07/23 Чтв 13:18:04 399265 30
1689243481626.jpg 476Кб, 1080x1659
1080x1659
1689243481735.jpg 537Кб, 1080x1758
1080x1758
>>399130
Какой же там нормисный долбоеб на создателе, пиздец
Аноним 16/07/23 Вск 13:58:20 405465 31
Оп, какие результаты?
Аноним 16/07/23 Вск 19:55:30 406425 32
>>405465
Херовые результаты с этими данными, сейчас переписываю полностью входные и выходные данные а также переписываю скрипт для проверки профита, как всё заработает, закину
Аноним # OP 18/07/23 Втр 14:45:21 412924 33
Кароч переписал почти половину данных, использовал разные библиотеки для получения индикаторов торговли, также сделал чтобы выводило только 4 варианта, сильно вырастет/вырастет/упадёт/сильно упадёт. Осталось только чтобы это всё заработало, так как я что то упустил и loss и метрика просто nan на всех эпохах, нужно смотреть чё там творится
Аноним 21/07/23 Птн 10:17:43 421258 34
я ещё в детстве помню обучал торговые системы на метатрейдере и тогда ещё понял что это туфта

потом помню как нейросети появились видел обьявления таких ищущих спонсора

в общем анон просто забей
поверь ты сэкономишь много усилий и может быть денег
Аноним 21/07/23 Птн 15:06:31 421952 35
>>421258
>я ещё в детстве помню обучал торговые системы на метатрейдере и тогда ещё понял что это туфта
>потом помню как нейросети появились видел обьявления таких ищущих спонсора
>в общем анон просто забей
>поверь ты сэкономишь много усилий и может быть денег
Зачем что-то объяснять клоуну, который не понимает базовых вещей: рынок создан для спекуляций, экономики как в учебниках в живой природе не существует.

>>412924
Классический лудаман.
Аноним 21/07/23 Птн 15:10:46 421972 36
image.png 854Кб, 920x575
920x575
>>385611 (OP)
>Нейросетевой заработок
Объясняю более простую схему: создаешь нейротяночку, используя наличный объем технологий, заводишь онлифанс с тематикой соответствующей твоим интерсам (как бы это кринжево не звучало), привлекаешь чертей и ищешь с кого сосать инсайды. Социал инжиниринг называется. А пытаться анализировать скачки которые зависят от рендомных спекулятивных флуктуаций - это шиза.
Аноним 21/07/23 Птн 15:43:46 422029 37
перечитал свой пост и понял я забыл что прога называлась метасток, метатрейдер это какая-то анрилейтед фигня

в общем там реально обучение подбором коэффициентов, прямо как нейросети, без дураков, проблема как всегда что это обучение к прошлому и вдобавок легко скатиться в переобучение, но как бы то ни было нет никакой гарантии что коэффициенты будут работать в будущем

вообще если уж развлекаться то имо перспективнее всего пытаться оптимизировать не точку входа а сколько допустимо потерять перед выходом то есть изучить волатильность рынка и выходить после какого-то среднего отклонения в ненужную сторону

но опять же - это не заработок, с совсем практической точки зрения имеет смысл покупка в долгосрок... ага а потом твое добро замороженное пылится в евроклире, лол

лучше блин устройся аналитиком
Аноним 22/07/23 Суб 17:12:04 424338 38
>>421952
По твоей логике любой вид деятельности это спекуляция, продолжать не буду с тобой беседу, ты просто недалёкого ума, либо просто трясёшься так как сам сделать не можешь, выбирай
Аноним 22/07/23 Суб 17:17:22 424347 39
>>422029
У меня есть бумаги в долгосрок, хочу просто с хомяков собирать кусочки на автомате пока они пытаются спекулей обыграть

Кстати интересно наблюдать за клоунами, которые говорят что это 147% нерабочая херня, когда нейросети могут высчитывать паттерны незаметные человеческому глазу, что повышает вероятность правильности результатов, чего только стоит тот реддит для ботов, где капчу решить только нейронки могут
Аноним 22/07/23 Суб 17:18:59 424352 40
image.png 98Кб, 368x210
368x210
>>421952
>Зачем что-то объяснять клоуну, который не понимает базовых вещей: рынок создан для спекуляций, экономики как в учебниках в живой природе не существует.

Ещё аргументы?
Аноним 23/07/23 Вск 23:07:16 426594 41
bump
Аноним 23/07/23 Вск 23:50:02 426635 42
>>424352
>Ещё аргументы?
>сравнивает биологию и экономику
Всего один: твоя мамка не сделала аборт.
Аноним 23/07/23 Вск 23:55:22 426645 43
>>424347
>хочу просто с хомяков собирать кусочки на автомате пока они пытаются спекулей обыграть
>Кстати интересно наблюдать за клоунами, которые говорят что это 147% нерабочая херня
Ебало своё в тред оформи, когда ты пишешь одновременно, что делаешь очередную кухню и тут же пишешь что ты лудоман верящий в СТРАТЕГИЮ. Ебать ты дебич.

>высчитывать паттерны незаметные человеческому глазу
Которые ты считаешь статичными, а они меняются от любой спекуляции.
Аноним 23/07/23 Вск 23:59:26 426658 44
>>424338
>По твоей логике любой вид деятельности это спекуляция
Это твой тупорылый обобщам, а не мой. Я такое говорил? Покажи где я такое сказал. Я лишь сказал, что биржи в принципе являются местом для заработка спекулянтов, которые используют инсайды, что абсолютно ебет любые попытки в экономику. Точно так же, как если бы ты имел хоть базовое экономическое образование, а не дрочил под партой в аудитории, ты бы знал, что и по сей день никакая рыночная/эконоическая теория не применима фактически к российской экономики, из-за активных спекуляций крупнейших участников, которые просто в рот ебут все твои схемы. И все это прекрасно знают, и работа АНАЛитиков по большей части не давать реальные прогнозы, а красиво ссать в уши. Даже ты, уебище лживое: >>424347 тут признаешься, что делаешь программу, чтобы ссать в уши, и тут же говоришь что этого не делаешь. Ну кто ты после этого, мразотина, а?
Аноним 24/07/23 Пнд 13:10:35 427143 45
bump
Аноним 24/07/23 Пнд 21:58:28 427713 46
>>426658
Какая блять российская экономика... Ты тред читал? ебать ты аут полный, мне тебя жаль
Аноним # OP 24/07/23 Пнд 22:05:35 427720 47
ОбновОЧКА
Написал Ген алгоритм, переделал систему, на выход теперь идут 4 нейрона, то есть выход это вектор типа 0 0 0 1, 0 0 1 0, 0 1 0 0 и 1 0 0 0. Означают что цена упадёт больше чем на процент, упадёт меньше чем на процент, поднимется меньше чем на процент и поднимется больше чем на процент.
Арендовал сервер для прогонки Ген алгоритма, обошлось в небольшую копеечку, но дело сделано, получил наиболее приспособленную особь. Пока долблюсь с окончательной проверкой и тестом с профитом, но на первых парах выдавала 60-75% точных предсказаний, это не учитывая что просто повышение цены вместо повышения больше чем на 1% можно тоже считать верным прогнозом, в ближайшее время займусь скриптом для торговли, пока что на тестовом балансе, который предоставляет сам бинанс, выкладываю ген алгоритм для тех, у кого супер мощная пека, можете поиграться, поставить больше побольше популяцию или кол-во популяций

# Импортирование необходимых библиотек
import random
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np
from keras.layers import Dense, LSTM, Dropout
import pandas as pd
import tensorflow as tf
from binance.client import Client

# Получение доступа к API биржи Binance
api_key = 'ключ'
api_secret = 'секрет'
client = Client(api_key, api_secret)

bars = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_5MINUTE, "1 days ago UTC")

# Подготовка данных для обучения нейросети
data = pd.DataFrame(bars,
columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume',
'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume',
'ignore'])
data['timestamp'] = pd.to_datetime(data['timestamp'], unit='ms')
data.set_index('timestamp', inplace=True)

# Проверяем и преобразуем столбцы с числовыми значениями
numeric_columns = ['open', 'high', 'low', 'close']
for column in numeric_columns:
data[column] = pd.to_numeric(data[column], errors='coerce')

# DX (Directional Movement Index)
data['plus_dm'] = data['high'].diff()
data['minus_dm'] = data['low'].diff()
data['plus_dm'] = data['plus_dm'].fillna(0) # Заменяем пропущенные значения нулями
data['minus_dm'] = data['minus_dm'].fillna(0) # Заменяем пропущенные значения нулями
data['plus_dm'] = data['plus_dm'].where(data['plus_dm'] > 0, 0) # Заменяем отрицательные значения нулями
data['minus_dm'] = abs(data['minus_dm'].where(data['minus_dm'] < 0, 0)) # Заменяем положительные значения нулями
data['tr'] = data[['high', 'low']].diff(axis=1).max(axis=1)
data['plus_di'] = 100 (data['plus_dm'].rolling(window=14).sum() / data['tr'].rolling(window=14).sum())
data['minus_di'] = 100
(data['minus_dm'].rolling(window=14).sum() / data['tr'].rolling(window=14).sum())
data['dx'] = 100 (abs(data['plus_di'] - data['minus_di']) / (data['plus_di'] + data['minus_di']))

# MOM (Momentum)
data['mom'] = data['close'].pct_change(periods=10)
100


# Функция для вычисления RSI
def compute_rsi(prices, window=14):
deltas = np.diff(prices)
seed = deltas[:window + 1]
up = seed[seed >= 0].sum() / window
down = -seed[seed < 0].sum() / window
rs = up / down
rsi = np.zeros_like(prices)
rsi[:window] = 100. - 100. / (1. + rs)

for i in range(window, len(prices)):
delta = deltas[i - 1]
if delta > 0:
upval = delta
downval = 0.
else:
upval = 0.
downval = -delta

up = (up (window - 1) + upval) / window
down = (down
(window - 1) + downval) / window
rs = up / down
rsi = 100. - 100. / (1. + rs)

return rsi


# Функция для вычисления Bollinger Bands
def compute_bollinger_bands(prices, window=20, num_std=2):
rolling_mean = np.convolve(prices, np.ones(window) / window, mode='valid')
rolling_std = np.std(prices, axis=0)

upper_band = rolling_mean + (num_std rolling_std)
lower_band = rolling_mean - (num_std
rolling_std)

return upper_band, lower_band


# Получение массива с индикатором RSI
rsi = compute_rsi(data['close'].values)
upper_band, lower_band = compute_bollinger_bands(data['close'].values)
# Конвертация в DataFrame
rsi_df = pd.DataFrame(rsi, columns=['rsi'])
bollinger_bands_df = pd.DataFrame({'upper_band': upper_band, 'lower_band': lower_band})

# Добавление столбца с RSI в DataFrame data
data = pd.concat([data, rsi_df], axis=1)
data = pd.concat([data, bollinger_bands_df], axis=1)

# CCI (Commodity Channel Index)
typical_price = (data['high'] + data['low'] + data['close']) / 3
mean_price = typical_price.rolling(window=20).mean()
mean_deviation = abs(typical_price - mean_price).rolling(window=20).mean()
data['cci'] = (typical_price - mean_price) / (mean_deviation 0.015)

block_size = 20

train_labels = []
for i in range(len(data) - block_size):
prev_close = data.iloc[i + block_size - 1]['close']
curr_close = data.iloc[i + block_size]['close']
price_change = curr_close - prev_close
price_change_percentage = price_change / prev_close
100

if price_change_percentage > 1:
train_label = [1, 0, 0, 0] # Цена поднялась на 1% или более
elif price_change_percentage < -1:
train_label = [0, 0, 0, 1] # Цена упала на 1% или более
elif price_change_percentage > 0:
train_label = [0, 1, 0, 0] # Цена поднялась на менее чем 1%
else:
train_label = [0, 0, 1, 0] # Цена упала на менее чем 1%

train_labels.append(train_label)

train_labels = np.array(train_labels)

# Стандартизируем данные
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)

train_data_blocks = []
for i in range(len(data) - block_size):
train_data_block = scaled_data[i:i + block_size]
train_data_blocks.append(train_data_block)

train_data = np.array(train_data_blocks)
train_data[np.isnan(train_data)] = 0

# Генетический алгоритм
# Гиперпараметры генетического алгоритма
population_size = 2
num_generations = 5
mutation_rate = 0.2

# Создание начальной популяции
def generate_population(population_size):
population = []
for _ in range(population_size):
individual = generate_individual()
population.append(individual)
return population

# Генерация случайного индивидуума
def generate_individual():
individual = []

num_layers = random.randint(3, 10)

for index in range(num_layers):
layer_type = random.choice(['dense', 'lstm'])

if layer_type == 'dense':
units = random.randint(16, 256)
activation = random.choice(['relu', 'sigmoid', 'tanh'])
layer = Dense(units=units, activation=activation)
individual.append(layer)

if random.random() < 0.5:
dropout_rate = random.uniform(0.1, 0.5)
dropout_layer = Dropout(rate=dropout_rate)
individual.append(dropout_layer)

elif layer_type == 'lstm':
units = random.randint(16, 256)
activation = random.choice(['tanh', 'sigmoid', 'relu'])
return_sequences = True
layer = LSTM(units=units, activation=activation, return_sequences=return_sequences)
individual.append(layer)


if random.random() < 0.5:
dropout_rate = random.uniform(0.1, 0.5)
dropout_layer = Dropout(rate=dropout_rate)
individual.append(dropout_layer)

batch_size = random.randint(1024, 8192)
validation_split = random.uniform(0.2, 0.5)
epochs = random.randint(8, 16)

set_lstm_return_sequences(individual) # Перемещение перед выводом слоев

# Вывод имен слоев и параметров return_sequences
print("Layers:")
for layer in individual:
if isinstance(layer, LSTM):
layer_name = layer.__class__.__name__
layer_return_sequences = layer.return_sequences
print(f"{layer_name} (Return Sequences: {layer_return_sequences})")
else:
layer_name = layer.__class__.__name__
print(layer_name)
print("")

individual.append({'batch_size': batch_size, 'validation_split': validation_split, 'epochs': epochs})

return individual


# Оценка приспособленности популяции
def evaluate_population(population):
fitness_scores = []
for individual in population:
model = create_model_from_individual(individual)
# Компиляция и обучение модели на тренировочных данных
batch_size = individual[-1]['batch_size']
epochs = individual[-1]['epochs']
validation_split = individual[-1].get('validation_split', 0.3)

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics='accuracy')
model.fit(train_data, train_labels, batch_size=batch_size, epochs=epochs, validation_split=validation_split)
fitness = evaluate_model(model, validation_split)
fitness_scores.append(fitness)
return fitness_scores

# Создание модели на основе индивидуума
def create_model_from_individual(individual):
inputs = tf.keras.Input(shape=(20, 22))

if isinstance(individual[0], tf.keras.layers.Dense):
x = tf.keras.layers.Flatten()(inputs) # Преобразование в одномерный формат
x = tf.keras.layers.Dense(units=20 * 22)(x) # Преобразование размерности
x = tf.keras.layers.Reshape((20, 22))(x) # Изменение размерности перед LSTM
else:
x = inputs

for i, layer in enumerate(individual[:-1]):
x = layer(x)

x = tf.keras.layers.Flatten()(x) # Преобразование в одномерный формат

outputs = tf.keras.layers.Dense(units=4, activation='softmax')(x)
model = tf.keras.Model(inputs=inputs, outputs=outputs)

return model

# Оценка модели (приспособленность индивидуума)
def evaluate_model(model, validation_split):
# Разделение данных на обучающую и валидационную выборки
train_data_1, val_data, train_labels_1, val_labels = train_test_split(train_data, train_labels, test_size=validation_split, random_state=random.randint(1, 100))

train_loss, train_accuracy = model.evaluate(train_data_1, train_labels_1, verbose=0)
val_loss, val_accuracy = model.evaluate(val_data, val_labels, verbose=0)

# Разница между точностью и потерями
diff_accuracy = 1 - (train_loss + val_loss) / 2

if diff_accuracy < 0:
return 0.01
else:
return diff_accuracy

# Выбор родителей для скрещивания
def select_parents(population, fitness_scores):
parents = []
total_fitness = sum(fitness_scores)
probabilities = [score / total_fitness for score in fitness_scores]

for _ in range(len(population) // 2):
parent1_idx = roulette_wheel_selection(probabilities)

# Поиск второго родителя с ненулевой вероятностью
parent2_idx = None
while parent2_idx is None or parent2_idx == parent1_idx:
parent2_idx = roulette_wheel_selection(probabilities)

parent1 = population[parent1_idx]
parent2 = population[parent2_idx]
parents.append((parent1, parent2))

probabilities[parent1_idx] = 0.0
probabilities[parent2_idx] = 0.0
print('select_parents')
return parents


def crossover(parents, population_size):
offspring = []

for parent1, parent2 in parents:
child1 = crossover_individuals(parent1, parent2)
child2 = crossover_individuals(parent2, parent1)

offspring.append(child1)
offspring.append(child2)

if len(offspring) > population_size:
offspring = offspring[:population_size]
print('crossover')
return offspring


def mutate(offspring, mutation_rate):
mutated_offspring = []

for individual in offspring:
mutated_individual = mutate_individual(individual, mutation_rate)

print('Layers for mutated individual:')
for layer in mutated_individual:
print(layer)
print('-----------------------------')

mutated_offspring.append(mutated_individual)

print('mutate')
return mutated_offspring


def get_best_individual(population, fitness_scores):
best_idx = np.argmax(fitness_scores)
best_individual = population[best_idx]
print('get_best_individual')
return best_individual
Аноним # OP 24/07/23 Пнд 22:06:00 427722 48
Продолжение кода
def roulette_wheel_selection(probabilities):
r = random.random()
cumulative_prob = 0.0

for i, prob in enumerate(probabilities):
cumulative_prob += prob
if r <= cumulative_prob:
return i

print('roulette_wheel_selection')
# Если не был выбран ни один родитель, вернуть случайный индекс
return random.randint(0, len(probabilities) - 1)

def crossover_individuals(parent1, parent2):
min_length = min(len(parent1), len(parent2))
crossover_point = random.randint(0, min_length - 1)

child = parent1[:crossover_point] + parent2[crossover_point:]
set_lstm_return_sequences(child)
print('crossover_individuals')
return child


def generate_random_layer():
layer_type = random.choice(['dense', 'lstm'])

if layer_type == 'dense':
units = random.randint(32, 256)
activation = random.choice(['relu', 'sigmoid', 'tanh'])
layer = Dense(units=units, activation=activation)
elif layer_type == 'lstm':
units = random.randint(32, 256)
activation = random.choice(['tanh', 'sigmoid', 'relu'])
return_sequences = True
layer = LSTM(units=units, activation=activation, return_sequences=return_sequences)

return layer

def set_lstm_return_sequences(individual):
lstm_indices = [i for i, layer in enumerate(individual) if isinstance(layer, LSTM)]
if len(lstm_indices) <= 0:
return individual

for i, layer_index in enumerate(lstm_indices):
if i == len(lstm_indices) - 1:
individual[layer_index].return_sequences = False
else:
individual[layer_index].return_sequences = True

return individual


def mutate_individual(individual, mutation_rate):
mutated_individual = individual.copy()

batch_size_mutated = False # Флаг для отслеживания применения мутации к batch_size
epochs_mutated = False # Флаг для отслеживания применения мутации к epochs
val_mutated = False # Флаг для отслеживания применения мутации к validation_split

for i, layer in enumerate(mutated_individual):
if isinstance(layer, dict): # Проверяем, является ли элемент словарем
if random.random() < mutation_rate:
if 'batch_size' in layer and not batch_size_mutated and not any(isinstance(l, dict) and 'batch_size' in l for l in mutated_individual): # Проверяем флаг и наличие словарей с batch_size
new_batch_size = layer['batch_size'] + random.randint(-64, 64)
new_batch_size = max(64, min(1024, new_batch_size))
layer['batch_size'] = new_batch_size
batch_size_mutated = True # Устанавливаем флаг

elif 'epochs' in layer and not epochs_mutated and not any(isinstance(l, dict) and 'epochs' in l for l in mutated_individual): # Проверяем флаг и наличие словарей с epochs
new_epochs = layer['epochs'] + random.randint(-4, 4)
new_epochs = max(16, min(64, new_epochs))
layer['epochs'] = new_epochs
epochs_mutated = True # Устанавливаем флаг

elif 'validation_split' in layer and not val_mutated and not any(isinstance(l, dict) and 'validation_split' in l for l in mutated_individual): # Проверяем флаг и наличие словарей с validation_split
new_val_split = layer['validation_split'] + random.uniform(-0.1, 0.1)
new_val_split = max(0.1, min(0.7, new_val_split))
layer['validation_split'] = new_val_split
val_mutated = True # Устанавливаем флаг

for i, layer in enumerate(mutated_individual):
if random.random() < mutation_rate:
if random.random() < 0.5:
new_layer = generate_random_layer()

if i < len(mutated_individual) - 1 and not isinstance(mutated_individual[i + 1], Dropout):
mutated_individual.insert(i + 1, new_layer)
elif len(mutated_individual) > 1:
if isinstance(layer, Dropout):
mutated_individual.pop(i)
elif i < len(mutated_individual) - 1 and isinstance(mutated_individual[i + 1], Dropout):
mutated_individual.pop(i + 1)
if len(mutated_individual) > 0 and isinstance(mutated_individual[-1], Dropout):
mutated_individual.pop(i - 1)
else:
mutated_individual.pop(i)

for i, layer in enumerate(mutated_individual):
if isinstance(layer, Dense):
units = random.randint(32, 256)
activation = random.choice(['relu', 'sigmoid', 'tanh'])
mutated_layer = Dense(units=units, activation=activation)
elif isinstance(layer, LSTM):
units = random.randint(32, 256)
activation = random.choice(['tanh', 'sigmoid', 'relu'])
return_sequences = layer.return_sequences
mutated_layer = LSTM(units=units, activation=activation, return_sequences=return_sequences)
elif isinstance(layer, Dropout):
rate = random.uniform(0.1, 0.5)
mutated_layer= Dropout(rate=rate)
else:
mutated_layer = layer

mutated_individual = mutated_layer

set_lstm_return_sequences(mutated_individual)
return mutated_individual


# Генетический алгоритм
def genetic_algorithm(population_size, num_generations, mutation_rate):
population = [generate_individual() for _ in range(population_size)]
best_fitness_scores = []
i = 0;

for generation in range(num_generations):
fitness_scores = evaluate_population(population)
best_individual = get_best_individual(population, fitness_scores)
best_fitness_scores.append(max(fitness_scores))

print(f"Generation {generation+1}, Best Fitness: {max(fitness_scores)}, Best Individual: {best_individual}")
np.save('best_individual_2.npy', best_individual)
parents = select_parents(population, fitness_scores)
offspring = crossover(parents, population_size)
mutated_offspring = mutate(offspring, mutation_rate)

population = mutated_offspring # Обновление списка population

best_individual = get_best_individual(population, fitness_scores)
best_fitness_scores.append(max(fitness_scores))

print(f"Generation {num_generations}, Best Fitness: {max(fitness_scores)}, Best Individual: {best_individual}")

return best_individual, best_fitness_scores

# Применение генетического алгоритма к модели
best_individual = genetic_algorithm(population_size, num_generations, mutation_rate)

# Сохранение лучших данных
np.save('best_individual_4.npy', best_individual)
Аноним # OP 24/07/23 Пнд 22:09:04 427732 49
Кому непонятно выкладываю код для ознакомления, может кому то он поможет в своём проекте, если вы хотите повторить один в один и нужно именно файлом, могу выгрузить файл в облако.
Аноним 24/07/23 Пнд 22:13:08 427746 50
>>426645
>Которые ты считаешь статичными, а они меняются от любой спекуляции.

Мой молодой дружок, если бы ты немного учил матчасть то знал, что паттерны как раз и создаются спекуляциями, а не меняются от них, в общем подучи экономику хотя бы чуть чуть прежде чем срать сюда, от тебя тухлятиной старой пахнет
Аноним 24/07/23 Пнд 22:15:52 427751 51
>>427746
Лудоман, спокойника оформи.
Аноним 24/07/23 Пнд 22:38:07 427785 52
>>427751
дитя, экономику в школе оформи, потом приходи
Аноним 24/07/23 Пнд 22:46:20 427802 53
>>427785
>мям ну я его назвал рибёнком, ну чиво он меня пролдолжает чморить, а? ну я больсой мальчик! я СТРАТЕГИЮ плидумываю
Аноним 25/07/23 Втр 16:01:17 428668 54
бамп
Аноним 25/07/23 Втр 21:41:00 429011 55
бамп
Аноним 26/07/23 Срд 19:56:48 430123 56
бамп
Аноним 27/07/23 Чтв 10:40:43 430857 57
Напиши какая аккуратность получается на тестовых данных
Аноним 27/07/23 Чтв 14:47:00 431160 58
>>427732
Выложи на гитхабе лучше с полноценным README
Аноним 27/07/23 Чтв 19:22:01 431504 59
>>431160
Норм тема кста. Если что местные и законтрибьютят чего
Аноним 28/07/23 Птн 19:02:53 432665 60
>>430857
Средняя точность предсказания 77%, сейчас проверяю на тестнет binance. Один минус, тут нет стоп лоссов, в коде их прописал, но возвращает ошибку, так что тестирую пока без них, думаю дня два подержать и отправить на реальное поле смотреть что получится
Аноним 28/07/23 Птн 19:04:09 432667 61
>>431160
Ну это ещё пара дней, пока нормальный код стайл забабахаю и комментарии оставлю везде + readme составить, в общем в процессе
Аноним 28/07/23 Птн 19:05:03 432670 62
>>432665
При этом предсказание повышения 50%, предсказание понижения 80%, это примерно
Аноним 28/07/23 Птн 21:05:04 432812 63
>>432670
Резона буллить нет получается
Аноним 28/07/23 Птн 21:50:11 432885 64
image.png 29Кб, 513x171
513x171
>>432670
На вход подавались данные за последние 2 года
Аноним 29/07/23 Суб 20:38:04 434374 65
бамп
Аноним 01/08/23 Втр 02:19:52 438373 66
>>427732
Привет, пытаюсь сделать то же самое но мой лучший результат - 55%, можешь пожалуйста гидхабом поделиться или дать совет какой.

Заранее спасибо
Аноним 01/08/23 Втр 03:15:45 438408 67
>>427732
Дополнение к тому что написал:
Тоже сделал нейронку с эволюцией, но взял больше индикаторов и взял их по разным временным промежуткам, так же взял больше данных, но точность все равно говно (55%)
Я не понимаю что не так, был бы рад обсудить код, обменяться идеями, если у тебя или анонов есть время/желание - пишите @howmanyeyes
Аноним 01/08/23 Втр 10:19:12 438667 68
>>438408
Реклама нейрокухни, репорт. Вообще весь тред гнилой.
Аноним 01/08/23 Втр 10:47:31 438705 69
>>438667
а в чем реклама то?
и есть ли похожие треды где-то?
Аноним 01/08/23 Втр 11:06:40 438720 70
>>438667
>нейрокухни
буквально что?
Аноним 01/08/23 Втр 11:16:14 438726 71
>>438720
Это как торговля "типами" в букмекерстве.
Аноним 01/08/23 Втр 11:50:30 438781 72
Аноним 01/08/23 Втр 23:04:12 439875 73
>>438373
Я в данный момент занимаюсь правками и написанием readme.md для гитхаба, как всё будет готово, я вкину сюда ссылку на весь проект.
Аноним 02/08/23 Срд 00:32:57 439989 74
>>439875
Спасибо добрый человек
Аноним 03/08/23 Чтв 18:29:18 442714 75
image.png 27Кб, 508x144
508x144
Пока страдал хернёй, решил обучить её на 5 годах, вышло пикрил, хз нормально или нет, сейчас полностью переделываю код для торговли со всеми стоп лоссами и обьёмами покупок/продаж, так как был просто треш код с костылями (он и сейчас таким получится, но чуть более читаемый хоть будет)
Аноним 03/08/23 Чтв 18:32:35 442722 76
>>438667
Реклама чего? что я код пишу уже пол месяца? или может я деньги требую за это? нет, я просто делюсь инфой, которую сам копаю, кто то мб поможет, кто то просто возьмёт потестить, реф ссыль на бинанс я не оставляю, мне не надо. Уже любая доброта в этом мире считается наёбкой и рекламой, этот мир прогнил
Аноним 03/08/23 Чтв 19:56:25 442839 77
>>442714
На каком активе тестировал?
Аноним 03/08/23 Чтв 22:14:26 443110 78
>>442714
Слишком хорошие цифры у тебя получились. Либо ты где то ошибся в обучении (например в нормализации/стандартизации данных) и в боевом режиме соснеш, либо ты гений.

Какую модель используешь?
Аноним 04/08/23 Птн 03:40:24 443448 79
>>443110
Вот я надеюсь что не соснул в стандартизации) Прошлые цифры были реальней, но я тут просто эпох 50 поставил + ещё dropout слоёв нету, ген алгоритм выдал модель с двумя LSTM слоями, сколько в них нейронов я хз. Возможно она переобучилась и сейчас на тестах даст мне пизды, так что ждём
Аноним 04/08/23 Птн 03:41:03 443449 80
>>442839
BTCUSDT свечи по 5 минут, на них же тренировал и на них буду работать
Аноним 04/08/23 Птн 13:56:00 443720 81
>>443449
Там же вроде всегда плавный тренд без резких обвалов?
И чье апи используешь? На бинансе сейчас как-то стремно
Аноним 04/08/23 Птн 14:46:25 443758 82
>>443449
Трейдить крипту интрадей плохая идея, весь профит сожрет комиссия. Тренировать на таком можно, но трейд должен быть максимум раз в час
Аноним 04/08/23 Птн 15:17:10 443771 83
>>443758
Вопрос не в частоте, а в профите, который должен быть выше комиссии (хотя это очевидно). Можно хоть по 0,2% забирать и это норм
Аноним 04/08/23 Птн 17:29:55 443837 84
>>443720
Я как раз api с бинанса и юзаю) Только через библиотеку binance python, там полегче чуть чуть
Аноним 04/08/23 Птн 17:30:52 443838 85
>>443758
Согласен, но тут ещё вопрос в колве вливаемых денег, так как чем больше вольёшь, тем больше она сможет отбивать и обьём торгов будет большой, там и глядишь комиссия меньше будет если обьём за месяц набьёшь
Аноним 04/08/23 Птн 17:38:33 443840 86
Итак, вкидываю проект !ВНИМАНИЕ!НЕ!РЕКЛАМА!
https://github.com/FreeTile/Binance
!ВНИМАНИЕ!
Код на данный момент говнище, куча костылей, информации выводится дохера, даже та, которая не нужна, плюс проект не обновлён, код старый пока что, сам допиливаю. Зато тут есть полностью расписанный readme, правда на английском, писал сам проверял дохера времени, но там всё интуитивно понятно.
По поводу торгов, комиссия да, пока сжирает много, но тут ещё факт в том что закинул минималку, из за чего она спотыкается буквально обо всё (в ограничения баланса) + из за этого не работает откуп после нескольких продаж и наоборот, пришлось закомментить эти строки. Позавчера шла норм, почти 10% сделала, сегодня такой пиздец на бирже, шо даже я не могу хоть примерно предсказать чё будет дальше, иногда цена просто в коридор встаёт и ни туда ни сюда, благо нейронка тут умнее и просто предсказывает повышение, ничего не покупая, так как баланс не позволяет) Стоп лоссы ставит нормально, правда иногда всё равно идёт такое пробитие, что не успевает его выставить, тут я думаю try/except применить, чтобы не умирала в таких случаях. В общем работаю как могу, кому интересно код наверно в воскресенье обновлю, можете глянуть, может захотите оптимизировать (не дай боже, вы там глаза нахуй сломаете)
Аноним 04/08/23 Птн 17:45:16 443843 87
>>443771
Базу глаголишь, суть программ для торговли в получении пассивного дохода. Даже 0.01% в день уже больше чем ебучие вклады в банке по 7% годовых)
Аноним 04/08/23 Птн 20:51:00 443961 88
Аноним 04/08/23 Птн 22:56:36 444098 89
>>443840
Хорош. Он в бинансе торгует на всю котлету?
Аноним 05/08/23 Суб 00:47:48 444241 90
>>443840
Добавь requirements.txt плиз
Аноним 05/08/23 Суб 01:05:08 444267 91
image.png 109Кб, 710x636
710x636
>>443840
Зачем оно пытается докупить один биток или продать все что сверху одного битка?
Аноним 05/08/23 Суб 03:29:44 444370 92
>>444267
Файл не обновлён, я его немного переписал, но суть этого куска также есть. Если нейронка несколько раз покупает и некст предикт будет на снижение, то она на этих хаях продаёт весь обьём что купила до этого. И наоборот с продажей, на лоях докупает всё что продала
Аноним 05/08/23 Суб 03:31:34 444372 93
>>444267
А, не, это вообще про другое, это ещё вообще со старого кода функция, нужна была для тестовой сети, в принципе делает то же самое, что я написал ответом выше, только для тестового баланса где 10000 USDT и 1 BTC
Аноним 05/08/23 Суб 03:33:05 444375 94
>>444098
Торгует то да, но вот раньше прибыль была, сейчас я немного код перекопал и сеть заново обучил, и получается пока трешатина какая то, идёт в минус. Сегодня докопаю его и сделаю пуш в репоз, следите там за апдейтом
Аноним 05/08/23 Суб 04:01:15 444395 95
Проверил гит сейчас, что за параша запушилась сюда, сейчас более новые файлы закину
Аноним 05/08/23 Суб 05:07:29 444408 96
Сраное говно на pycharm мне всю голову проморочила, какие то постоянно ветки ебашила, то пуш нормально не отправит, в итоге слил свои ключи, пришлось пересоздавать, гитигнор ей вообще поебать, какого хера тут две ветки если по факту только одна удалённая, нахуй мне вторая локальная падаль а. Кароч запушил релевантные скрипты, потестите мб
Аноним 05/08/23 Суб 08:20:59 444453 97
Куча статей об этом есть и куча попыток умных дядь из лучших университетов
По итогу соснешь
Аноним 06/08/23 Вск 03:41:45 445500 98
изображение.png 69Кб, 1411x779
1411x779
>>443840
Спасибо большое!
К сожалению оказывается что либо я тупоголовый, либо не умею читать, можешь пожалуйста помочь с использованием?
Согласно Readme запустил LoadData, получил файлы "train_data.npy" и "train_labels.npy", запустил Average_shadows, новых файлов не появилось, старые не изменились.
Запустил Genetic_Algorithm, появился файл "best_individual.npy", другие не менялись, НО выскочила ошибка:

Traceback (most recent call last):
Файл "C:\Users\SSD500GB\Desktop\bot_dvach_2\Genetic_Algorithm.py", строка 361, из <module> np.save('best_individual.npy', best_individual)
Файл "<__array_function__ internals>", строка 200, из save Файл "C:\Users\SSD500GB\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\lib\npyio.py", строка 521, из save arr = np.asanyarray(arr)
builtins.ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part.

Как ее решить и что она вообще значит, я так и не понял.
Далее пробовал запускать TrainBestModel, но каждый раз она выдает одни и те же цифры (хотя несколько раз менял конфиг, уменьшая/увеличивая кол-во данных, поколений и нейронок в поколении) Ощущение будто TrainBestModel каждый раз сама подгружает данные, и на них уже тренируется.

Так и не смог получить новую версию модели. Я что то делаю не так? Может просто есть ошибки в коде? Или я не в том порядке запускаю все? Опирался на инструкцию из ReadMe, свой конфиг прикрепляю ниже. Если тебе проще связаться и лично ответить на мои вопросы, то я только рад: @howmanyeyes
Аноним 06/08/23 Вск 09:14:59 445583 99
Аноним 06/08/23 Вск 11:19:57 445669 100
>>445500
Ключ и секрет без кавычек указываются, всё в readme без кавычек, убери их и ещё раз все файлы прогони, вообще удивительно что у тебя ошибки на load data не было, и да, как уже написали, не палите свои ключи, мы на двачах
Аноним 06/08/23 Вск 11:39:37 445685 101
>>445583
>>445669

Ключи поменял, файл Trading работает (правда уже на 1% в минус ушел), стала вылетать новая ошибка:

Traceback (most recent call last):
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\eager\polymorphic_function\autograph_util.py", строка 41, из autograph_handler return api.converted_call(
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\autograph\impl\api.py", строка 439, из converted_call result = converted_f(effective_args, kwargs)
Файл "C:\Users\SSD500GB\AppData\Local\Temp\__autograph_generated_fileh6i3j33c.py", строка 15, из tf__train_function retval_ = ag__.converted_call(ag__.ld(step_function), (ag__.ld(self), ag__.ld(iterator)), None, fscope)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\autograph\impl\api.py", строка 377, из converted_call return _call_unconverted(f, args, kwargs, options)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\autograph\impl\api.py", строка 460, из _call_unconverted return f(
args)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", строка 1322, из step_function outputs = model.distribute_strategy.run(run_step, args=(data,))
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\distribute\distribute_lib.py", строка 1673, из run return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\distribute\distribute_lib.py", строка 3250, из call_for_each_replica return self._call_for_each_replica(fn, args, kwargs)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\distribute\distribute_lib.py", строка 4048, из _call_for_each_replica return fn(args,
kwargs)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\autograph\impl\api.py", строка 690, из wrapper return converted_call(f, args, kwargs, options=options)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\autograph\impl\api.py", строка 377, из converted_call return _call_unconverted(f, args, kwargs, options)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\tensorflow\python\autograph\impl\api.py", строка 459, из _call_unconverted return f(
args, kwargs)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", строка 1303, из run_step outputs = model.train_step(data)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", строка 1080, из train_step y_pred = self(x, training=True)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\utils\traceback_utils.py", строка 70, из error_handler raise e.with_traceback(filtered_tb) from None
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\input_spec.py", строка 298, из assert_input_compatibility raise ValueError(
builtins.ValueError: Input 0 of layer "model" is incompatible with the layer: expected shape=(None, 20, 22), found shape=(None, 30, 22)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Файл "C:\Users\SSD500GB\Desktop\bot_dvach_3\Genetic_Algorithm.py", строка 358, из <module> best_individual = genetic_algorithm(population_size, num_generations, mutation_rate)
Файл "C:\Users\SSD500GB\Desktop\bot_dvach_3\Genetic_Algorithm.py", строка 338, из <module> fitness_scores = evaluate_population(population)
Файл "C:\Users\SSD500GB\Desktop\bot_dvach_3\Genetic_Algorithm.py", строка 107, из <module> model.fit(train_data, train_labels, batch_size=batch_size, epochs=epochs, validation_split=validation_split)
Файл "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\utils\traceback_utils.py", строка 70, из error_handler raise e.with_traceback(filtered_tb) from None
Файл "C:\Users\SSD500GB\AppData\Local\Temp\__autograph_generated_fileh6i3j33c.py", строка 15, из tf__train_function retval_ = ag__.converted_call(ag__.ld(step_function), (ag__.ld(self), ag__.ld(iterator)), None, fscope)
builtins.ValueError: in user code:

File "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", line 1338, in train_function
return step_function(self, iterator)
File "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", line 1322, in step_function

outputs = model.distribute_strategy.run(run_step, args=(data,))
File "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", line 1303, in run_step
*
outputs = model.train_step(data)
File "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\training.py", line 1080, in train_step
y_pred = self(x, training=True)
File "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\utils\traceback_utils.py", line 70, in error_handler
raise e.with_traceback(filtered_tb) from None
File "C:\Users\SSD500GB\AppData\Roaming\Python\Python310\site-packages\keras\src\engine\input_spec.py", line 298, in assert_input_compatibility
raise ValueError(

ValueError: Input 0 of layer "model" is incompatible with the layer: expected shape=(None, 20, 22), found shape=(None, 30, 22)
Аноним 06/08/23 Вск 11:49:20 445702 102
>>445685
ошибка вылетает в Genetic_Algorithm
Аноним 06/08/23 Вск 12:21:44 445733 103
>>445685
Trading пока не запускай, там надо ещё переработать немного, а то он говняк начинает делать, просто туда сюда гоняет валюту)
По поводу ошибки в GA, тут у тебя ожидается вектор размерностью 20 22, а подаётся 30 22, не менял block size в config.txt? Если менял, то поставь пока назад 20
Аноним 06/08/23 Вск 13:04:18 445766 104
Господи ебать гит заработал как надо без ебательства с ветками, наконец, выгрузил новый GA файл, также чуть подправил Trading и TrainBestModel. Также кстати там было закомментировано само обучение то, только проверка была) Сейчас всё исправил. TrainBestmodel.py теперь и обучает и проверяет на данных как работает
Аноним 06/08/23 Вск 15:48:55 445904 105
В общем обновОЧКА, на 5 минутках просто по центу идёт вниз из за одного фактора, за 5 минут цена изменяется в среднем на 0,03%, из за этого на 5 минутах в ДАННЫЙ МОМЕНТ торговать невыгодно. Несколько дней назад когда волатиьность выше была, шло в плюс, сейчас говняк, даже предсказывает плохо чисто из за того что цена не колебается почти. Есть сейчас идея перескочить на 10-15 минут или выше. Кто хочет сразу пробуйте ставить свечи побольше, чтобы смотреть уже на такой выхлоп. На данный момент 5мин предикт непрофитен
Аноним 08/08/23 Втр 14:23:33 448354 106
>>445904
Объясни пожалуйста, зачем нужен файл Genetic_Algorithm, если он в итоге выплевывает "best_individual.npy", который больше НИГДЕ не используется?
По контексту догадываюсь что Genetic_Algorithm должен выплевывать "best_individual.pkl", но как бы я ни старался, этого не происходит. (Пробовал в тупую разрешение файла менять, заставлять сохранять в нужном формате, ждать конца работы программы, прерывать ее выполнение насильно). В любом случае файла либо нет, либо (после смены разрешения) он неюзабелен. Что я делаю не так? Помогите пожалуйста.
Аноним 08/08/23 Втр 22:05:08 448807 107
изображение.png 48Кб, 1671x333
1671x333
Написал костыльный, но полезный логгер, напишите если хотите его себе. Какие фичи в него еще добавить?
Аноним 09/08/23 Срд 02:00:46 449025 108
>>448354
Бля, я что ли расширения наебнул или что, он должен выплёвывать файл с расширением которое принимает trainbestmodel. Глянь что в trainbestmodel вначале загружается, pkl или npy, я чуть позже сам проверю всё ещё раз, с последним коммитом вроде всё работало
Аноним 09/08/23 Срд 02:17:38 449036 109
>>448354
Переписал немного ген алгоритм, добавил пикл и сохраняю в pkl, там всё через него должно было работать, видимо я с того момента как нейронку обучил хер забил, сейчас попробуй, если что отпиши
Аноним 09/08/23 Срд 16:34:02 449567 110
>>449036
Вот теперь все работает, спасибо тебе анон. Только несколько вопросов появилось.
Зачем еще раз (в TrainBestModel) тренировать модель, если ее до этого уже натренировали?
Последняя модель на гите торгует на каком интервале и какая у нее точность?
И надо ли тебе логирование, которое скинул выше?
Аноним 09/08/23 Срд 19:39:05 449734 111
>>449036
Тестирую сейчас торговлю, и либо с кодом проблема, либо я чего то не понимаю.
Нейронка работает по следующему алгоритму:
1) Определить пойдет ли цена вверх (допустим идет)
2) Обменять USDT на BTC
3) Создать стоп-лосс
4) Подождать 15 минут
5) Закрыть все ордеры
6) Начать шаг 1

Если я правильно читаю код и интерпретирую историю ордеров, то выходит что нейронка не фиксирует прибыль и надеется на то что предсказания будут меняться (т.е. ввер-вниз-вверх-...)

Если это так и задумано, то укажи что торговать следует от 100$, если нет, то пиздец, надо переделывать переделкой сейчас занимаюсь
Аноним 09/08/23 Срд 23:19:31 450020 112
>>449567
В Ген алгоритме фиксированные 10 (вроде) эпох, по которым вычисляется наиболее приспособленная модель для тренировки, так что там сохраняется не натренированная модель, а файл с конфигурацией модели, то есть сколько слоёв, какие слои, сколько в них нейронов, размер батча и так далее, а в trainbestmodel ты уже выгружаешь эту лучшую модель и тренируешь её не на 10 эпохах а на 20+, то есть чтобы обучилась лучше, но тут опять же нужно следить на переобучением. В принципе можно сделать так чтобы это всё происходило в ген алгоритме, но тогда при отключении света или просто краше, чем бы он не был вызван, у тебя сохранится последняя плохо обученная модель. Можно сделать так чтобы каждая модель в ген алгоритме проходила 20+ эпох, тогда он будет работать лучше и в любом случае сохранит последнюю модель обученную, но тогда время работы возрастёт многократно, могу создать отдельную ветку на гитхабе где будет реализован только ген алгоритм сразу с большим кол-вом эпох и сохранением лучшей модели, а не её конфигурации
Аноним 09/08/23 Срд 23:27:12 450043 113
>>449734
Она должна фиксировать прибыль если след свеча по предсказаниям пойдёт в обратную сторону. То есть допустим верх-верх шло, она два раза закупилась, если следующее предсказание вниз, то она продаёт всё что купила до этого, и наоборот. Стоп лоссы ставит для случая если ошиблась с предиктом. Да, там нужно немного доработать стоп лосс, чтобы он выставлялся на весь обьём, что до этого скупила/продала нейронка, тогда всё будет работать лучше, и да, чем больше залито, тем лучше в теории будет торговля, но это не точно, модель всё таки не идеальная, на повышение предсказания идут хуже чем на понижение, плюс надо поиграться с временем свечей и понять при каком наименьшем промежутке волатильности достаточно + нейронка достаточно точна для получения ощутимой прибыли. В общем тут ещё есть над чем работать, самое главное что оно уже выполняет главные действия без лютых затупов.
Аноним 09/08/23 Срд 23:34:47 450051 114
>>449567
Продолжение ответа
На гите сейчас лежит код для 15 минутных свеч, модель соответственно для этого же промежутка вроде БЛять нет, я еблан сори, ну там они не очень различались, закоммитил модель для 15 минут) Сразу говорю что предсказывает херово, пока разбираюсь с trading.py, у кого есть ресурсы можете методом проб и ошибок найти наиболее волатильные промежутки свеч и ебануть для них ген алгоритм
Аноним 09/08/23 Срд 23:36:01 450053 115
>>449567
Логирование на данный мне не нужно, но можешь вкинуть, кому то может понадобится, я сам просто вывожу в текстовики инфу которая мне нужна позарез, остальные цифры это уже для тонкой подгонки нужны будут в будущем
Аноним 10/08/23 Чтв 01:47:28 450203 116
>>450051
Может есть смысл на альтках тренировать и использовать? Там же волатильности дохуя
Аноним 10/08/23 Чтв 03:09:15 450256 117
>>450051
ОП, ты молоток.
Нынче еще в моде предсказания проводить исходя из гипотезы, что прогноз это трехмерная поверхность в времени, например цена-объем-количество сделок.
Аноним 10/08/23 Чтв 03:55:17 450268 118
>>450203
Да, думаю что есть, биток просто беру за его обьём, однако можешь попробовать на альтах, если если они хотя бы год существуют, а то мало данных для обучения будет, модель можно использовать наверно ту же что и для пары BTCUSDT
Аноним 10/08/23 Чтв 03:58:51 450269 119
>>450256
Спасибо, ну я чисто делаю что могу и выкладываю для тех, кому интересно, может поможет кому то. На счёт гипотезы, я про такую не слышал, но звучит интересно, можешь кинуть ссылку на какой нибудь источник об этом? Может смогу что нибудь придумать чтобы усовершенствовать код
Аноним 10/08/23 Чтв 17:36:20 450698 120
изображение.png 48Кб, 415x906
415x906
Вот такие реальные успехи бота:
слева на право - баланс, изм. относительно предыдущего баланса, изм. относительно начального баланса

Всего профит с бота - 0.51%
Профит если держать биток - 0.29%

Т.е. бот хоть хуево и криво но работает
Аноним 10/08/23 Чтв 18:22:04 450745 121
>>450698
Тут не совсем правильные испытания. Учитывай контекст рынка - битов в тренде роста\падения или там боковик. На росте даже заведомо проигрышная стратегия может показывать профит
Аноним 10/08/23 Чтв 22:55:45 451083 122
>>450698
Учитывая что в коде есть много косяков, это удивительно что он не уходит потихоньку вниз, у меня есть идея разработать интерфейс чтобы высчитывать наиболее пригодные к торговле пары посредством среднего между волатильностью и кол-вом данных для обучения, и затем брать модель и обучать её по быстрому на этом альте, после чего отправлять, и допустим делать все эти телодвижения в 00 00 GMT0, но это я сделаю чуть попозже, одновременно просто два проекта разрабатываю, пока этот на опенсурс выложил, копаюсь в другом, в ближайшее время возьмусь за допил

>>450745
Кстати верно, если модель хорошо предсказывает падения и биток пойдёт вниз, то это не значит что модель верная, нужно брать больше выборку с большим кол-вом пар. У меня допустим модель шла в минус когда у битка боковик был
Аноним 11/08/23 Птн 00:39:01 451244 123
Аноним 11/08/23 Птн 01:37:24 451329 124
>>451244
Ебать приколюха, сегодня почитаю днём, спасибо большое
Аноним 11/08/23 Птн 18:31:48 452358 125
image.png 21Кб, 1238x66
1238x66
Потестил скрипт для трейдинга. Открывает ордер, но крашится от пикрил ошибки. При перезагрузке открывает ордер снова. Я перезапустил раз 5, в итоге вручную все пришлось закрывать. По хорошему бы где-то текущее состояние сохранять. Надо еще продумать хендлеры на случай смерти скрипта, а то потери могут быть большими в случае чего.
Аноним 11/08/23 Птн 22:08:22 452748 126
>>452358
Ош>>452358
Проблема в кол-ве при отправки ордера, в теории всё должно работать, если ты не альткойны выбрал, для них нужно немного скрипт переработать. Если запускаешь прям из коробки со своим апишником, то должно канать всё
Аноним 11/08/23 Птн 23:57:29 452917 127
>>452748
Не, битки. Оно закупает на 10%, но при этом возвращает ошибку. Возможно это лишь в каком-то конкретном кейсе, но я тогда очень невезуч.
Аноним 12/08/23 Суб 00:01:26 452919 128
>>452917
Была такая проблема на стадии разработки, на данный момент не возникало вообще такого рода проблем
Аноним 12/08/23 Суб 11:35:06 453218 129
>>452919
Она и сейчас есть, даже если удается запустить. NOTIONAL либо ошибка с суммой ордера вылетает и скрипт крашится. Максимум у меня получилось (спасибо рандому) трейдить 5 часов без краша. Тестить невозможно, как пофиксить не понимаю, пробовал менять сумму трейдов на фиксу в 10.1$, тогда чаще вылетает ошибка мин. ордера, что еще делать не понимаю.
Аноним 12/08/23 Суб 14:58:23 453374 130
Наконец получилось добавить РАБОТУЮЩИЕ take profit ордеры. К сожалению лишь в в виде лимитного ордера, но не суть важно. Теперь нейронка должна засиять!
Аноним 12/08/23 Суб 16:59:05 453496 131
>>453218
Вроде как, если я не ошибаюсь, эта ошибка завязана на размере ордера. Возможно вы пытаетесь запускать скрипт с большим количеством денег на спот акке. Я для теста пока 100 баксов закинул чего видимо мало и у меня постоянно это вылетает.
Аноним 12/08/23 Суб 17:01:22 453499 132
>>453496
На сотне как раз должна реже вылезать, могу кинуть файл мой, у меня +-работает @howmanyeyes
Аноним 12/08/23 Суб 18:31:53 453578 133
>>453499
Ты ОП? Если там важный фикс, то лучше же просто в гит закинуть, даже если не оп можно пул реквест сделать. Алсо, попробую сам понять в чем проблема и фиксануть и закинуть реквест. Я не питонист, но постараюсь.
Аноним 12/08/23 Суб 22:12:18 453765 134
>>453374
Я хотел изначально запилить take profit ордеры, но потом забил, так как в таком случае она может обрезать большую часть прибыли, решил оставить только стоп лоссы, но опять же, посмотри на практике, может реально в них смысл есть
Аноним 12/08/23 Суб 22:19:22 453773 135
Если есть какие то доработки интересные, просто пульте в отдельную ветку, у меня пока никаких хот фиксов нету, чисто подрючить цифры туда сюда не хот фикс, сегодня-завтра буду насиловать стоп лоссы чтобы они не крашили систему и чтобы учитывались для дальнейшей торговли

>>453496
>>453499
Эта ошибка у меня была вначале разработки, когда неправильное кол-во отправлялось, так как мы только вначале основного скрипта вытаскиваем цену битка, то при отправке заявки она может упасть и вместо заявки на 10 баксов, мы отправим заявку на 9.9, от чего бинанс вернёт ошибку, а также поставил чтобы цена была на 10.1 баксов, а сравнивалась с балансом 10.15 так как тоже корреляция валюты много решает
Всё это по хорошему фиксится просто запрашиванием цены при таких важных операциях, допустим чекаем баланс, если больше 10, то запрашиваем цену койна и высчитываем кол-во на 10 баксов и сразу же отправляем.
Кароче сейчас буду чистить код, вносить поправки, как закончу вкину в гит
Аноним 12/08/23 Суб 22:22:37 453778 136
>>453773
Это уже оп, просто галка слетела, а ставить забываю)
Аноним 12/08/23 Суб 22:44:56 453803 137
>>453778
А у тебя ipynb для нейронки есть или ты в таком формате сразу нейронку пилил? Я хочу ее попробовать улучшить. Если нет то тогда могу запилить и закинуть в репу с комментариями если разбирусь
Аноним 13/08/23 Вск 00:59:27 453948 138
>>453578
Я не оп, фикс, как оказалось, работает по случайности. В гите не разбираюсь, позже может займусь еблей с ним.

Вообще общее впечатление от нейронки странное: вроде и предсказывает верно (чисто за 5 дней наблюдений и тестирования), а баланс все равно уменьшается. Мое предположение в комиссиях: они дохуя высокие. Чтобы нейронка заработала хоть что то она должна покрыть комсу 2 раза (допустим цена идет вверх, тогда на покупку и на последущую продажу), получается 0.075%*2 (0.075 тк кому в BNB плачу), т.е. 0.15%, я ставил тейк профит на 0.2%, чтобы работать хотя бы не в минус, 0.2% от цены битка это ~60$ что для 15-ти минутных свечей примерно дохуя. Остается два варианта: переобучать для часовых свечей либо же перелопачивать код для фьючерсов. Оп, если у тебя есть силы и тот арендованный сервер, затрень пожалуйста модель на час, буду очень благодарен. Я пока что займусь переработкой под фьючерсы или поищу какие то други способы решения проблемы
Аноним 13/08/23 Вск 01:15:38 453960 139
>>453948
А я говорил что интрадей крипта это такое себе. И вообще надо бы обучить сетку на каком-нибудь высоковолатильном альткоине. Кстати надо еще рассмотреть варианты с шортами
Аноним 13/08/23 Вск 01:27:57 453963 140
>>453948
>0.075%
Кек
Когда торгуешь фьючерсы с комсой в 45 копеек за контракт..
Аноним 13/08/23 Вск 02:53:40 454011 141
>>453960
Надо бы, но я не оп, крутого сервера у меня нет, если задонатите то обучу на любой паре
Аноним 13/08/23 Вск 06:34:45 454131 142
>>450698
Если кто еще гадает откуда тут десятые процента - ответ прост: комиссии ебаные

>>453948
Ебался с написания поста над фьючерсами, они выебали меня. Перешел на пару BTCTUSD, в душе неебу что за тюсд такой, но должен обозначать доллар, график у него такой же, а комиссия нулевая. Поставил профит ордер на 0.01%, за день должно набегать почти 0.1%, если предсказания будут верны.

Извините что оффтоп, но пиздец я заебался с этим сраным ебучим блять ботом, все соки из меня выпил, всю неделю вместо подготовки к комсе готовлю суп из своих глаз. Тем не менее спасибо ОП'у большое, давно я так не увлекался чем - то, правда, спасибо тебе огромное
Аноним 13/08/23 Вск 14:40:32 454351 143
изображение.png 179Кб, 1549x1393
1549x1393
>>454131
Вот как выглядит ~6-8 часов трейдов, на описаном профит ордере. Хуита, сейчас фиксировать буду только в конце свечи.
Аноним 13/08/23 Вск 17:30:30 454563 144
Доброе утро, оп на связи. На счёт тренировки и сервера, я пользовался selectel и то, я его юзаю только для ген алгоритма, просто для тренировки уже готовой модели моя 960 видяха нормально идёт. Так что если хотите, то можете или сами или скинуться мне или другому анону, кто хочет прогнать ген алгоритм.

Для торговли по часовому графику вообще не требуется много ресурсов, свечей не так много будет даже за 5 лет, нужно брать больше промежуток, плюс если на альткойне будем работать, там вообще может быть данных только за последние пару лет, смотря когда она выпустилась.

По поводу фьючерсов по факту код тот же самый, немного подправить чтобы он работал с фьючами а не со спотом, ну и изменить разрешения api в самом бинансе, сейчас буду исправлять базу в trading.py

Можете предложить пару, с которой можно попробовать поторговать и промежуток, который хотите потестить, у меня на бинансе залито, могу протестировать, поправить код и посмотреть как работает

>>454351
Ну у тебя хотя бы не рулит вниз, у меня при низкой волатильности комса жрала деньги, либо сейчас сам сгорю и на фьючи перейду, либо буду брать другую пару

Ещё раз повторюсь, сервер арендуйте только для генетического алгоритма, trainbestmodel.py робит даже на самых слабых видюхах, особенно если будете брать свечи от получаса и больше, там данных меньше, модель обучится гораздо быстрее. Если всё таки нужен ген алгоритм, можем устроить сбор, там день удержания сервера стоит 2к деревянных, учитывая что ген алгоритм с часовыми свечами можно прогнать достаточно быстро, выйдет в районе тысячи+-, в общем решайте, в крайнем случае я сам тогда вкину свои деньги, обучу и вкину на гит, но когда у меня появятся свободные средства я хз, может сегодня, а может в сентябре)
Аноним 13/08/23 Вск 17:37:43 454566 145
>>454563
В чем профит ген алгоритма, для чего он тут вообще? Я имею в виду что мы получаем на выходе после его работы? Наилучший вариант нейронки под конкретную пару?
Аноним 13/08/23 Вск 19:28:28 454692 146
image.png 27Кб, 481x151
481x151
image.png 113Кб, 1840x660
1840x660
Переделал код, сделал его более гибким, теперь в config.txt можно указывать первую и вторую монету, с которой будете работать, то есть можете поставить в coin1 BNB или ETH а в coin2 так и оставить USDT, тогда нейросетка будет работать с BNBUSDT или ETHUSDT соответственно, но для каждой пары нужно отдельно прогонять тренировку (пока и ген алгоритм, но как только будет найдена отличная модель, лучше чем нынешняя, она ко всем парам подойдёт) Также теперь можно указывать со свечами какого интервала будет работать это всё, я пока поставил на 1HOUR, модель брал ту же, обучал по новой, пара BTCUSDT, но в файле нужно также прописать время в минутах, чтобы скрипт нормально циклично работал, также прикрепляю скрин config txt
Аноним 13/08/23 Вск 19:30:45 454700 147
>>454566
По факту да, но на практике можно поставить любую пару, сама суть в том, что он нужен, чтобы найти наилучшую нейросеть для предсказания курса, потому что как ни крути, а временные ряды разные бывают, и единой модели для них не существует. Так что да, в нашем случае ген алгоритм нужен чтобы найти наилучшую модель нейросети для торговли криптовалютой, по факту нужно просто ещё раз прогнать его на selectel, после всех фиксов что я сделал, потом её можно не трогать вообще, а использовать для всех пар одну исходную модель, просто обученную по разному
Аноним 13/08/23 Вск 20:36:26 454781 148
>>454692
Если оно реально так хорошо предсказывает падения, то нужно будет запилить шорты
Аноним 13/08/23 Вск 20:38:51 454784 149
>>454781
Оно работает и в лонг и в шорт, если надо чтобы работало только в шорт, можно закомментить пару строк и будет сделано. А вообще такое значение скорее всего потому что шортов просто больше чем лонгов на этом промежутке, вот и показывается что предсказывает лучше. На деле скорее всего там усредненное значение и предсказывает оно 70-75 процентов и лонг и шорт
Аноним 13/08/23 Вск 20:49:28 454804 150
>>454692
А ты саму модель в гит не закинул?
Аноним 13/08/23 Вск 21:50:04 454906 151
>>454804
Там есть модели, но их надо чуть по другому назвать, я сейчас тут допилю кое что и вкину с уже переименованными моделями в гит, в общем модели есть там.
Аноним 13/08/23 Вск 22:50:54 454974 152
Аноним 14/08/23 Пнд 23:38:21 456058 153
Ну как там успехи новой модели модели в лайвтрейдинге? Я попытался пофиксить новый код чтоб работало, но чот там много всего оказалось похерено, а я не оче шарю в этом. Жду пока
Аноним 15/08/23 Втр 00:24:13 456125 154
>>456058
я залил на гит чтобы все могли потрейдить любые пары на любых промежутках, если я в последний раз всё закоммитил норм. В данный момент я почти допилил интерфейс, так что чтобы потестить разные варики даже не надо будет в коде копаться, достаточно будет запустить interface.py. В обще скоро шик будет
Аноним 15/08/23 Втр 00:44:28 456144 155
>>456125
Спасибо ОП. Пока их коробки не работает, там какие-то проблемы с неймингами и размерностью нейронки и входных данных. Моего опыта в создании нейронки на распознавание рукописных циферок не хватило чтобы это пофиксить. Надо бы поучить питон и tf, помочь с проектом, а то внезапно самих знаний по нейронкам у меня неплохо так, но вот на практике только чужие реализации ковырял и изменял.
Аноним 15/08/23 Втр 00:57:10 456153 156
>>456144
При клоне не пашет? Хм, а должно, значит где то что то лишнее наковырял, в ближайшее время исправлю. У кого то есть такие же проблемы? Предлагайте ещё чё доделать в нынешнем коде
Аноним 16/08/23 Срд 22:38:45 458740 157
Бамп
Аноним 16/08/23 Срд 23:18:42 458769 158
Блин, парни, очень много дел на данный момент, так что с выкатом обновы с интерфейсом опаздываю чуток. Плюс там проблема что нормально скрипты по нажатию не открываются, по виду даже в фоне не работают, хз пока как фиксить, надо менять метод запуска, мб кто то делал интерфейс через tkinter, как по нажатию кнопки запускать скрипты в отдельной cmd? Заранее спасибо, остальным желаю терпения, пытаюсь сделать как можно скорее и хоть интерфейс не сырой выкатить
Аноним 16/08/23 Срд 23:29:33 458779 159
>>458769
Взял бы NiceGUI в качестве интерфейса. Там простой конструктор типа Gradio. Ну или тот же Gradio, но он прям ограниченный в чем-то кроме тестирования моделей. По ткинтеру хз
Аноним 19/08/23 Суб 20:50:00 461254 160
Бамп
Аноним 20/08/23 Вск 13:32:17 461779 161
>>458769
Можно скинуться на сервак
Напиши телегу
Аноним 21/08/23 Пнд 07:06:43 462340 162
Так, оп на связи, переехал в другую страну, так что в основном работать с этим проектом буду ночью по мск, весь проект и все зависимости утащил с собой, ничего вроде не потерялось, ток гит заново подрубить надо

>>461779
Я бы написал, но есть несколько нюансов, в данный момент пока работаю над корректировками и пользовательским интерфейсом, так что брать сервак пока просто смысла не вижу. Второе но, это то что галку опа поставить не могу, так что заранее всем говорю, ОСТАВЛЮ СВОЙ ТГ НА ГИТХАБЕ, тут оставлять не буду так как ника нельзя подтвердить что он мой. В общем можешь со мной связаться, обсудим, что надо, но когда буду арендовывать сервер, я пока хз
Аноним 21/08/23 Пнд 15:15:20 462541 163
Так профит приносит это говно или нет? Есть сервак и могу под фьючерсы переписать если что.
Аноним 21/08/23 Пнд 20:28:50 462736 164
>>462541
Пусть другие отчитаются по тому, есть ли прогнозы или нет, в шорт хорошо предсказывает, так что в шорт сделки хорошо идут, можешь их только потестить
Аноним 22/08/23 Втр 13:41:17 463277 165
>>391035
15 свечь? Не маловато ли? Да и к тому же нейронная сеть не учитывает внешние факторы, которые могут повлиять на стоимость.
Аноним 22/08/23 Втр 17:38:52 463412 166
>>463277
Так а больше свечей поставишь смысла не будет, не надо же учитывать для текущей цены цену которая была в 2015, правильно? Пусть ищет зависимости от последних 15 свеч
Аноним 23/08/23 Срд 04:40:58 463952 167
image.png 92Кб, 1198x476
1198x476
БОЛЬШАЯ ОБНОВА
Проект: https://github.com/FreeTile/Binance
Моя телега: https://t.me/JoJobBizzareAdventure

Сделал интерфейс, скрин его прикрепляю, теперь по функционалу.
Здесь вы можете поставить абсолютно любую желаемую пару, можете найти в списке либо вбить вручную (К сожалению из за ограничений библиотеки не смог реализовать чтобы начать набирать и находить в списке). То есть теперь бот поддерживает абсолютно все пары которые есть на бинансе.
Вы можете выбрать с каким промежутком свечей работать, сколько их брать для предсказания, насколько большой датасет будете брать для своих целей.
Быстрый старт для тех кто только попал в тред.
1) выбираем пару, время свечей, сколько свечей будем использовать для предсказания, за сколько прошедших дней собираем датасет.
2) Загружаем датасет, можем сразу вычислить тени свечей, можем позже, главное не забудьте перед стартом торгов каждый раз высчитывать средние свечи, так как они не добавляются в отдельный файл, а идут в конфиг, то есть для разных пар вы можете случайно заюзать разные тени, ничего страшного конечно не будет, но вы заруините себе стоп лоссы.
3) (ОПЦИОНАЛЬНО) Тут вы можете запустить ген алгоритм если комп позволяет, проставить ему параметры и попытаться создать болванчика для торговли получше.
4) Бля пускай будет 4, не забудьте API ключ и секрет указать, а то торговать не сможете.
5) Выставляете путь для лучшего индивидуума. У вас уже в корне проекта есть папочка individuals, там один чувак для BTCUSDT, ну его можно для всех пар юзать,я так думаю. Выбираете его и запускаете тренировку модели, пока кол-во эпох я оставил неизменяемым, в будущем сделаю две версии интерфейса, продвинутую где можно выбирать чуть ли блять не строчки кода на которых будет работать бот, и обычную, где время свечей допустим пол часа, кол-во 15 и датасет за последний год, так сказать версия упрощённая для лошков.
Всё, у нас всё есть, и сейчас я понял что я говноед и забыл воткнуть кнопку для старта торговли, кароче как все параметры проставили, всё натренировали, выбираем в пути для модели путь к вашей модели для торговли вашей парой с вашими промежутками и тд. и прописываем в консоли запуск trading.py. Прошу, не создавайте миллиард моделей для всевозможных пар со всевозможными параметрами, так как в названиях моделей не указано кол-во последних свечей, у вас будут сохраняться разные модели с одним названием и хуй вы потом поймёте сколько свеч она на вход хочет, так что пока юзайте по моему поехавшему мануалу, который я из последних сил пишу, в будущем переделаю чтобы всё работало как часы. Сейчас же можете выставить параметры как хотите для какой то пары, обучить модель и запустить trading.py и смотреть как она справляется, всем удачи, если есть какие то идеи, предлагайте, читаю всё что успеваю
Аноним 23/08/23 Срд 06:22:00 463966 168
>>463952
>At this time there only one language supported, Russian.
At this time there is only...

Поправь, а то западный барин косо посмотрит
Аноним 23/08/23 Срд 07:18:39 463976 169
>>385611 (OP)
>для предсказания движения курса
Какой же вы батенька долбоеб, капец просто. Если вы ещё не поняли, что эти ваши колебания курсов это просто искусственный дроч? Встал дядя Сэм утром, зачесалось у него правое яйцо, деньги на венеролога понадобились, он нажал кнопочку вниз и курс упал. Так вот и происходят эти ваши колебания.
Не благодари за тайные знания. Я самодостаточен.
Аноним 23/08/23 Срд 16:25:45 464299 170
>>463976
Первый день в рынках?
Аноним 23/08/23 Срд 16:43:03 464313 171
>>463966
Та мне уже так похуй было в это время, потом поправлю

>>463976
Во первых дядя сэм должен владеть кучей активов чтобы так влиять на курс, во вторых даже если он и владеет, то сам курс сильно не опустит а лишь создаст уровень, из за чего хомяки начнут паниковать, так вот открою секрет, эта нейросеть это всё видит и просто предсказывает действия хомяков, зарабатывая на них, энивей она анализирует всё быстрее чем самый умный человек на земле. Но в одном ты прав, если придёт большой дядя сэм, то нейронка не сможет ничё сделать, поэтому я и прописал ей стоп лоссы, вместо того чтобы просто обосрать меня, можешь пойти и почитать что я там написал, может интересно будет, может переделаешь и будешь барином 300кнаносек
Аноним 23/08/23 Срд 17:34:21 464334 172
>>464313
> и будешь барином 300кнаносек
Л - Логика Лудомана

Я лучше репортов накину, чтоб твою нейрокухню снесли с доски.
Аноним 23/08/23 Срд 17:55:30 464361 173
>>464334
очередной шиз.
Тред никуда не зазывает и нет ссылок на телеги и все такое.
Есть сетка, есть работа для нее. В чем твоя проблема?
Аноним 23/08/23 Срд 18:51:19 464411 174
>>463952
На маке пустое окно при попытке открыть интерфейс, ошибок в консоли нет, ща на винде чекну
Аноним 23/08/23 Срд 19:03:54 464418 175
>>464411
На винде все норм, хм
Аноним 24/08/23 Чтв 00:07:17 464724 176
>>464411
та потомушто ебаный пайтон вообще не хочет связываться с интерфейсами, я его сделал чтобы можнно было разные конфигурации тестить
Аноним 24/08/23 Чтв 00:09:47 464727 177
>>464334
ебать парень, я просто кинул свой проект на гите за бесплатно, я не требую долларов за какую то подписку или еще что то. Да, я не супер программист и код мой просто треш, но я просто делюсь опытом, который получаю и пытаюсь его донести простыми словами а также помочь людям которые делают что то подобное в этой сфере, если не нравится, то не трясись а просто сьеби и не позорься
Аноним 24/08/23 Чтв 00:13:28 464728 178
>>464361
ну кстати как раз в последнем сообщении я оставил свою телегу) Но только для вопросов в реальном времени, не более, ну или если потом захотим скинуться для сервера, я не призываю идти скидывать мне, если хотите, то обучайте сами, код есть, в телегу мне пишите если вопросы по нейронке будут.

В данный момент кстати файл trading работает неккоректо, фикшу, всё остальное вроде работает, так что можете пока обучать свои модельки, чуть позже запушу обнову для trading.py
Аноним 24/08/23 Чтв 08:16:04 464849 179
Бэктесты какой результат выдают? В реальной ситуации что получилось?
Аноним 24/08/23 Чтв 09:38:48 464900 180
>>463952
Пролистал тред - нихуя не понял.
Аноны, можете кратко, для залётного объяснить, что это такое и зачем оно нужно?

Это софт для обучения нейросети для торговли криптой?
Это софт для торговли криптой, в котором уже есть обученная сеть, с возможностью дообучения под себя?

Если я хочу в это вкатиться, что конкретно нужно сделать.
Установить эту лабуду, подключить API Бинанса и торговать? Или я должен сначала что-то "обучить"? Как это сделать, где брать датасет? Может ли эта хуйня в тестовую торговлю, вместо проёбывания реальных шекелей?

"Интуитивно" нихуя не понятно.
Аноним 24/08/23 Чтв 17:49:25 465278 181
>>464849
Пока другие аноны тестят разные конфиги, я допиливаю код чтобы он работал без ошибок и был удобен в конце концов. На реальных тестах плюс минус предсказывает хорошо, но из за багов нормального профита пока нет, так что работаем
Аноним 24/08/23 Чтв 17:57:22 465285 182
>>464900
Я оп, ща всё обьясню. Для начала да, берёшь с гита проект и в принципе готово. Нынешняя версия предназначена для торговли в реальных условиях, но я могу немного подредачить, чтобы можно было переключать между тестовой и нетестовой торговли. Софт представляет из себя несколько скриптов, пара из них нацелена на обучение нейросети для торговли криптой и ещё пара для самой торговли, также есть несколько вспомогательных скриптов. На гите полноценный проект с индивидуумом для создания моделей для разных пар с разным промежутком свечей. Также там есть уже обученная модель для торговли BTCUSDT на промежутке 1час. Если не шаришь в нейросетках и программировании, то я советую просто ждать, пока я допиливаю это всё, так как ты можешь просто запустить чтобы оно работало, но оно может дать тебе по жопе, так что лучше пока не лезть. К сожалению всё так долго происходит так как над ней работает один человек, это я. А так как у меня не так много времени и я не квалифицированный программист, умножай время на 10
Аноним 24/08/23 Чтв 18:00:18 465289 183
>>465285
Есть такие-нибудь годные книги/гайды по тензору кроме самой доки? По какому материалу ты учился?
Аноним 24/08/23 Чтв 21:28:18 465506 184
>>465289
Учился по всему что нарыл, сначала у GPT спросил про основы, он написал какие библиотеки используются, затем я пошёл читать про сами нейросети, там узнал про их типы, преимущества разных типов, потом узнал как можно сделать то или иное через keras, через GPT узнавал потихоньку как писать код и как он работает.

В общем, без шуток. самый лучший учитель это ГПТ, он простыми словами всё тебе объяснит и поможет написать код, но если он начинает тупить, лучше не добиваться от него чего то большего, а идти в инет копать проблему.

Годных книг, гайдов по тензору нет, да и не нужны они особо, просто покопайся во всевозможной инфе пол дня, просто там набери создание нейросети через тензорфлов, и просто по цепочке смотри и смотри что тебе надо, через пол дня полностью поймёшь как он работает, по крайней мере так получилось у меня
Аноним 24/08/23 Чтв 21:33:40 465517 185
В общем небольшое отступление, из за того что модель плохо предсказывает поднятие цены, о профите речь не идёт, но если она предсказывает падение, то цена упадёт почти в 100%, это всё по моим наблюдениям за работой нейронки, так что есть идея пересесть на фьючи, но тогда придётся переделывать код именно под фьючерсы, чтобы нейросеть по большей части торговала в шорт больше чем в лонг, с одной стороны это будет сложнее, но из за того что не придётся ебаться с личным балансом, так как ты по факту юзаешь баланс бинанса, будет достаточно 15-20 долларов чтобы спокойно торговать, только если она не решит убиться в первые часы торговли. Напишите в общем, интересна ли вам идея пересадки на фьючи, так как это может быть и прибыльней и более надёжно, так как не будет долбёжки с балансом
Аноним 24/08/23 Чтв 21:39:54 465526 186
>>465517
Не проще натренировать две модели - одну на лонг, вторую на шорт?
Аноним 24/08/23 Чтв 22:17:48 465582 187
>>465517
Так а почему биток то не шортить? Бинанс же позволяет, просто надо нормальные промежутки выбрать.

>>465526
А какая разница? Это сильно качество не поднимет. Надо просто как-то переобучить поудачнее, мб поиграться с параметрами индикаторов
Аноним 24/08/23 Чтв 22:37:05 465595 188
>>465582
Ну типо отбор будет не по двум, а по одному параметру, что легче. Чисто имхо, я не тренил еще.
Аноним 24/08/23 Чтв 22:50:17 465621 189
>>465595
Там немного не так работает, предсказывать будет с таким же успехом
Аноним 25/08/23 Птн 00:45:49 465794 190
>>465289
Глубокое обучение с R и Keras. Шолле
Прикладное машинное обучение Жерон
Аноним 25/08/23 Птн 00:46:29 465796 191
>>465506
Сколько времени ушло до первого прототипа софтины?
Аноним 25/08/23 Птн 04:06:46 465898 192
В общем немного послежу как работает, потом сделаю скрипт для фьючерсов, прогоню ген алгоритм (арендую для этого сервак), натреню модель для 5 лет и пущу гонять фьючерсы. Если кто то хочет скинуться, то пишите только по телеге, указанной на гите, но там много не придётся скидывать, 1 час работы стоит 80 рубасов, часов за 10 можно довольно неплохую модель сделать.
Аноним 25/08/23 Птн 04:12:10 465899 193
>>465796
Ну, нормального прототипа нет как такового, есть основы, есть куча фич, но всё воедино собрать идеально я пока не очень пытаюсь, стараюсь сделать это всё более гибким, чтобы люди могли делать свои модели и торговать на их основе, как только будет видно что стабильно есть хотя бы пол процента профита неважно за какое время), тогда буду пытаться делать уже человеческую версию для удобного пользования.

Если говорить немного о другом, то изначально кал полный был, в начале июля, в начале августа это уже что то рабочее с чем можно долбиться по мужски
Аноним 25/08/23 Птн 04:13:28 465900 194
>>465794
Оп говорит спасибо за книги, тоже прочитаю
Аноним 25/08/23 Птн 14:40:49 466099 195
>>385611 (OP)
Анон, а на каком фреймворке ты делаешь? Это Тензорфлоу?
Аноним 25/08/23 Птн 15:16:30 466116 196
>>385611 (OP)
>>466099
И еще, анон. Ты подготавливаешь данные (нормализация и все такое) для обучения или заливаешь значения свечей прямо в датасет?
Аноним 25/08/23 Птн 17:14:28 466216 197
>>466099
Да, сначала хотел на (да не)Торче, но потом решил на Keras, это оболочка для tensorflow

>>466116
Использую стандартизацию относительно среднего значения (хз, правильно ли по русски это выразил, вот ссылка https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html )
По идее можно и без стандартизации заливать, смысла в ней особо нет, тем более что все значения положительные. Ну может потом попробую переделать
Аноним 26/08/23 Суб 04:56:11 466710 198
А что собственно сейчас сетка пытается предсказать? Направление следущей свечи? Если да то как-то такое себе. Возможно ли попытаться лижайшие цели допустим спрогнозировать?
Аноним 26/08/23 Суб 06:42:48 466739 199
>>466710
И ещё вдогонку: можно сделать чтоб оно не пыталось торговать, а просто выводила на экран прогноз на 1минуту, 5 минут, 15, 30, час по моим обученным моделям.
P.S. меня похоже в колабе забанили, когда я пытался учить модель((((((((((((((
Аноним 26/08/23 Суб 09:14:18 466790 200
>>466710
> Возможно ли попытаться лижайшие цели допустим спрогнозировать?
Ну тоесть пытаемся спрогнозировать ближайший локальный максимум/минимум у следущих 10-15 свечей. Если отклонение от текущей цены слабое-то флет и не торгуем, а если сильное смещение в какую либо сторону то это явный сигнал.
Просто мысли вслух пока обучаю сетку
Аноним 26/08/23 Суб 22:40:55 467414 201
>>466790
Идея неплохая, но обычно такие сильные отклонения видит даже человек без большого опыта в торговле вроде меня, нейросеть же я пишу чтобы она по факторам, которые человек может не учесть предсказывала даже наименьшие колебания

>>466710
можно но несколько свечей подряд ещё сложнее прогнозировать, так как если ошибётся в одной, посыпятся все, поэтому я и сделал чтобы она по одной свече предсказывала

>>466739
Чтобы оно не торговало а выводило на экран прогнозы, это максимально легко, могу потом как нибудь сделать такое если надо прям сильно
Аноним 26/08/23 Суб 22:44:07 467417 202
В общем переделал всё под фьючи, торгует нормально, НО, настолько небольшие колебания, что прям пиздец, биток торговать только на пробой можно, и это надо по другому нейросеть писать, так что пока перешёл на альткойны, (биток на 15мин, 30мин и часе изменения от 0.05% до 0.1-0.3%, что нихуя, всё сьедает комса и неверные прогнозы) Перешёл на BLZUSDT, где волатильность нормальная и есть НОРМАЛЬНЫЕ тренды, то есть редко эта монета встаёт в боковик, сейчас обучу для неё модель и запущу, посмотрим как тут себя поведёт
Аноним 27/08/23 Вск 16:38:07 467899 203
>>385611 (OP)
нахуя вы тред назвали так обобщенно, если в треде четкая направленность - заработок ботами на криптоговне?
Создавать теперь отдельные треды и ебаться с новыми шапками и описаниями ОП-поста если хочешь заработок иного типа?
Аноним 27/08/23 Вск 16:45:58 467919 204
>>467899
Ну, в подобных тредах обычно вопрос ответ идёт, а я создал тред о своём проекте, пишу тут рассуждения и выводы, правила не нарушаю, вкладываться никуда не призываю, просто делюсь мыслями, в другом треде по кд писать такую чепуху, которую я тут пишу, меня бы там возненавидели, так что лучше отдельно создать тред, где можно вывалить это всё. А на счёт названия да, обосрался чуток, но могу парировать твои замечания что на пикриле уже видно с чем работаем и в самой шапке описано что делаем
Аноним 28/08/23 Пнд 04:41:52 468673 205
image.png 34Кб, 319x873
319x873
Переобучил на другую пару но тот же индивидум, ещё при обучении показало хуёвые значения, но решил запустить потестить. В общем результат неудивительный, учитывая что нейросеть с двумя слоями. Сегодня арендую сервер и прогоню ген алгоритм с минимальным количеством слоёв равным 15, также возможно добавлю слой внимания вначале, посмотрим как отразится. Пока нормально предсказывает BTCUSDT, но из за малой волатильности получается хуйня, так что пересаживаюсь на альткойны
Аноним 28/08/23 Пнд 04:43:45 468676 206
>>468673
В конце оно переебалось из за ошибки, поэтому последние две строки можно не учитывать, самое главное что при верном предсказании оно теперь в минус не убивается, как было на споте/фьючах BTCUSDT
Аноним 29/08/23 Втр 00:05:27 469617 207
Слушай, а есть возможность привязать бота, хотяб в качестве аналитики, к mexc? Binance - скам, после того, как придали создателя, там все сливается большому брату
Аноним 29/08/23 Втр 00:06:09 469619 208
Прижали*
Аноним 29/08/23 Втр 00:09:20 469621 209
Интересно потестить, может что-то и допилю. А апишку с одной на другую перебирать, ну вот вообще нет времени =(
Аноним 29/08/23 Втр 00:11:32 469625 210
>>469619
Теперь придется переходить на мамбу%)
Аноним 29/08/23 Втр 02:18:45 469740 211
>>469617
Да, можно переделать под другие биржи, но только если биржа api предоставляет, это единственный критерий, в остальном всё то же самое
Аноним 29/08/23 Втр 03:01:18 469762 212
>>469621
Не понял вопроса, переформулируй
Аноним 29/08/23 Втр 03:01:54 469763 213
image.png 74Кб, 1256x487
1256x487
Аноним 29/08/23 Втр 03:05:29 469766 214
кинул 1500 на сервак, делаю новый ген алгоритм уже улучшенный с большим кол-вом минимальных слоёв, добавляется в 50% слой внимания. Прогоню 20 популяций, 20 часов должно хватить
Аноним 29/08/23 Втр 11:09:57 469920 215
images.png 2Кб, 338x149
338x149
Аноним 29/08/23 Втр 16:42:36 470161 216
>>469920
Блин, я бы с удовольствием пошёл туда, но, на обычных бумагах больше упор идёт на новости, нежели на крипте, плюс волатильность меньше намного, ну и туда же идёт тот факт что не 24 на 7 работает, так что пока посижу тут) Может перейду на другую криптобиржу, если у них есть api, пока просто тесты с моим проёбанным балансом, вам торговать на реале не советую, пока только жрёт, если хотите, проверяйте на тестовом балансе. Если не знаете как это сделать, то в строке создания клиента укажите в переменных testnet=true, если не могёте я чуть попозже сделаю отдельную ветвь на гите с тестовой сетью
Аноним 29/08/23 Втр 17:07:03 470170 217
>>470161
Там можно отыгрывать другие стратегии с предсказанием поведения цены.
И там есть всякие фьючерсы типа газа, если тебе волатильности мало%)
Аноним 29/08/23 Втр 18:06:10 470213 218
>>470170
На таких биржах я даже не думал пользоваться ботами, во первых я хз разрешено ли это там, во вторых я там предпочитаю просто инвестором быть, вкладываюсь в сезонные компании в разные времена года и делаю прибыль, вот с русагро и НЛМК за лето 10+% сделал просто положив в июне туда бабло
Аноним 29/08/23 Втр 18:22:19 470227 219
>>470213
Не буду спорить;)
Но мне интересно именно такое применение
Аноним 29/08/23 Втр 19:36:57 470290 220
Аноним 29/08/23 Втр 20:54:49 470422 221
>>470290
Это просто следование стратегии, один чел сам там что то покупает а ты делаешь то же самое, это по идее не одно и то же что и торговый бот

P.s, Обосрался с названий его стратегий
Аноним 29/08/23 Втр 20:58:44 470427 222
>>470290
Посмотрел его профиль, какой то чел продвигающий УСПЕХ ДЛЯ ВСЕХ S&P500 СМОТРИТ НАВЕРХ, ебать кринжанул
Аноним 29/08/23 Втр 21:00:03 470428 223
>>470213
Бирже пофиг, если твой бот не спамит заявками каждую мсек. Доступ все равно через Апи брокера
Аноним 29/08/23 Втр 21:07:37 470436 224
>>470422
Ты не понял. Это ЕГО доходность полученная советниками на начальную сумму. Тебе никто не запрещает использовать программу, если это не нарушает правила биржи.
Аноним 30/08/23 Срд 01:17:11 470768 225
>>470428
Тогда можно потом попробовать потестить
Аноним 30/08/23 Срд 14:17:27 471095 226
>>395560
Чтобы предсказывать движение курса, надо по идее не тех.аналитическую хуиту собирать, а то, от чего он собственно движется, т.е. новостной поток. Свечки и стакан тут вторичны. Но думаю если бы это работало, то уже бы работало. Хотя может у кого-то и работает, просто не палят тему.
Аноним 30/08/23 Срд 17:30:45 471371 227
>>471095
Крипта меньше завязана на новостях так как сама по себе является валютой используемой во всём мире, поэтому она волатильней любых фиатных валют, новости сильно влияют на акции компаний, отчёты компаний и так далее, для такого тоже можно написать нейросеть, но тут уже никаких моих средств не хватит чтобы обучить её, да и датасет собрать будет та ещё задача, так что ну нахер на данный момент. Есть уже работающие аналоги, но не основанные на нейросети, поэтому я пытаюсь работать с нейросетью
Аноним 30/08/23 Срд 17:51:30 471390 228
>>471371
А давно ты в этой теме? На волне всех этих нейронок и жизненных перемен меня это все наконец заинтересовало, но программистский базис у меня совершенно в другую сторону. Есть смысл вкуривать?
Аноним 30/08/23 Срд 18:21:08 471404 229
>>471390
Ну, по факту можешь вкурить, но не обязательно мою тему, просто нейронки могут достаточно много, начиная от всяких чат помощников и ботов для каверов и заканчивая чуть ли не полноценным собеседником, но последнее уже посложнее. В общем тут куча применений может быть, а базу выучить можно дня за два, дальше уже чтобы углубиться это да, книги нужны, выше уже кидали. В общем я не могу тебе точно советовать вкатываться в нейросети, но могу сказать, что они могут довольно много, так что думай сам. Я в этой теме месяца 2-3 и увидел достаточно, чтобы утверждать, что нейросети в наши дни могут довольно много и очень полезны
Аноним 30/08/23 Срд 18:44:24 471431 230
>>471404
Принял, спасибо анон
Аноним 30/08/23 Срд 22:30:35 471728 231
Слушай, а если сделать лайт версию, ну например для тредингвью, которая бы просто показывала график на опережение, а там график любой биржи подтянуть можно. Ну и теханализ, помимо новостей., тоже нужен. Хотя, то, что вчера творила крипта на новости про выигранный суд, просто взрыв башки, жаль не запрыгнул.
Вижу фанатеешь по теме, у тебя все получится 100%!!!!
Аноним 31/08/23 Чтв 00:06:20 471840 232
>>471728
Если сначала почитаешь тред, то увидишь что не получилось, или я плохо пока владею теми временными рядами или это просто очень сложно или вообще невозможно, там нейронка просто пытается наебать меня и сдвигает график вправо, так что примерную цену прогнозировать не получится
Аноним 01/09/23 Птн 08:14:17 473328 233
Пипец тут тема
Аноним 01/09/23 Птн 13:01:27 473443 234
>>385611 (OP)
А как учитываются внешние факторы? Политика, геополитика, природные явления и прочее, что может влиять на него? Просто курс в вакууме не интересен.
Аноним 02/09/23 Суб 03:05:04 474053 235
>>473443
Никак, пока пытаюсь онли на внутренней статистике прогнозировать, для новостей нужно отдельную нейросеть писать чтобы основная использовала другую и смотрела где от новостей идёт прирост а где отток, так что это ещё на пол года разроботки.

А теперь вопрос, задал вопрос уже на оверстаке, ну потому что пипец, чё делать https://stackoverflow.com/questions/77018998/problem-with-pickle-load-after-creating-model-with-gen-algorithm
Аноним 02/09/23 Суб 17:35:51 474453 236
>>385611 (OP)
Как всегда в таких делах, чуть ли не самым важным является то как ты настроил валидацию и бектестинг. Как устроено у тебя? Ты же валидацию с обучением по времени разнёс так чтобы валидировалось у тебя на ряде позже по времени чем обучение, да? Проводил ли ты руками анализ какой-то сам, как у тебя распределение таргета меняется в зависимости от времени и сезонности, что будет давать твоя моделька если ты протестируешь на отрезке ряда где распределение отличается от трейна? Это всё важно на практике
Аноним 02/09/23 Суб 17:37:15 474454 237
Да, и зачем тут это генетическое старьё, ты смотрел в сторону самого примитивного RL? Многорукий бандит там, всё такое
Аноним 02/09/23 Суб 17:48:10 474462 238
>>474053
Нахуя тебе пикл?
Чем save_weights/load_weights или save_model/load_model из кераса не устраивает?
Аноним 02/09/23 Суб 20:02:57 474527 239
>>474454
>RL
В чем смысл его применять, если тебе не известно сеть с какими параметрами наилучшим образом подходит для этой задачи?
Аноним 03/09/23 Вск 05:55:49 474889 240
>>474462
У меня с ними тоже траблы были, самый лёгкий путь был через pkl, но сейчас почему то поломалась фигня после выгрузки с сервера
Аноним 05/09/23 Втр 23:08:55 477960 241
image.png 14Кб, 506x155
506x155
Обновка, кароч проблемы на моей стороне, я каким то боком нихуя не делая сломал свою среду (Я честно без понятия, как так получилось) В итоге обработал всё на коллабе и вышло вот это
Я без понятия что это за пиздень и что произошло, но если эта модель реально так хорошо работает на понижение, а это я потещу сегодня, то это прям успех.




(Но мне кажется это всё пиздёж и что то пошло не так, пока обучается другая модель я перепроверю код)
Аноним 06/09/23 Срд 01:37:33 478145 242
>>477960
Кстати спешу заметить что тут мат обьёбка идёт, так то оно может постоянно говорить что цена будет падать и в 77% будет права, просто потому что свечей падения больше, так что такая модель скорее всего будет пососной, сейчас проверим
Аноним 06/09/23 Срд 04:59:38 478192 243
>>478145
Как я и отметил, произошёл обьёб, ген алгоритм вывел наилучшую модель для наебалова а именно она постоянно ставит на понижение и из за того что свечей на понижение физически больше раза в 3+, поэтому они и отбирались как и лучше, сейчас тестирую другую модельку а также чуть позже подправлю ген алгоритм чтобы он лучше отбирал модели
Аноним 06/09/23 Срд 22:31:31 479244 244
Если у кого то есть неплохо работающая модель, можете вкинуть на гит или в личку файлом keras или pkl, так у меня появится больше времени на разработку софта а не выделку модели (чем я сейчас и занят). Пока не найду оптимальную модель со средним кол-вом предсказаний 75%+, обновлять тред буду редко если уж прям что то важное добавлю, а так пока ждём
Аноним 08/09/23 Птн 22:30:06 481581 245
Анон, как ты хранишь датасет? В .csv или как-то еще?
Аноним 09/09/23 Суб 07:15:54 481886 246
>>481581
хотел сначала в csv, но потом решил в npy, выгружаю с бинанса, обрабатываю и складываю всё в один лист, который и сохраняю как .npy
Аноним 09/09/23 Суб 17:57:54 482378 247
Аноним 10/09/23 Вск 20:06:13 483890 248
>>482378
Да ни в чём по факту, там просто без разницы в чём сохранять, может из какого то формата быстрее считываться будет, но лично мне непринципиально, главное чтобы нормально считывалось и в нейросеть загружалось
Аноним 13/09/23 Срд 01:38:48 486607 249
>>385611 (OP)
>обучения нейронки для предсказания движения курса
Проорал с дебила.
Аноним 13/09/23 Срд 01:50:39 486613 250
>>385611 (OP)
Упростил твой код немного:


import random

print(random.randint(0, 1))
Аноним 14/09/23 Чтв 20:30:47 488577 251
Аноним 15/09/23 Птн 18:39:33 489681 252
Аноним 18/09/23 Пнд 09:02:44 492301 253
Аноним 18/09/23 Пнд 11:29:51 492362 254
>>486607
да вроде с него кто только не проорал
Аноним 22/09/23 Птн 08:19:33 496529 255
>>492362
ну то есть никто, я так понял? Пол треда пыталось помочь, другая половина пыталась обосрать но обосрались сами
Аноним 22/09/23 Птн 09:42:45 496556 256
>>395560
Такие нейронки используются в корпорациях, они уже много лет работают и работают на охуенно мощных кластерах.
Аноним 23/09/23 Суб 02:00:15 497628 257
>>496556
Пруф или фантазер.
Аноним 24/09/23 Вск 14:26:08 498789 258
1.png 112Кб, 1159x572
1159x572
ОП криворукий какой-то там делов на 10 минут. Чё он там кодит второй месяц?
Аноним 25/09/23 Пнд 20:07:24 500226 259
>>498789
Господи что это за говно? в чем смысла этого оверфита? какой нахуй плюс от этого прогнозирования. Я ебал. Дурачки думают что без базовых знаний ассет менеджмента и инвестирования можно фитнуть кривую модель и это что будет предсказывать. Я смеюсь с вас.
Аноним 25/09/23 Пнд 22:49:01 500417 260
>>500226
>без базовых знаний ассет менеджмента и инвестирования
>тред про алготрейдинг на базовых индикаторах

Где-то узнал новые слова и решил применить их ни к месту?
Аноним 26/09/23 Втр 05:49:09 500674 261
Screenshot 2023[...].png 13Кб, 710x139
710x139
>>500226
>какой нахуй плюс от этого прогнозирования
Прикольный опыт например??? Я вот например в отличии от ОПа ни строчки кода не написал, всё сделали ИИ ассистенты и даже модель и параметры помогли подобрать. Самое смешное что это говно неплохо скальпирует
Аноним 26/09/23 Втр 07:55:44 500708 262
>>500417
К месту, ты то не знаешь этих слов.
Аноним 26/09/23 Втр 07:56:12 500709 263
>>500674
Что блять? скальпирует? это что блять?
Аноним 26/09/23 Втр 10:24:53 500764 264
>>500709
Скальпинг/пипсовка не? Алло ты там вообще в теме?
Аноним 26/09/23 Втр 12:03:20 500828 265
>>500708
К какому месту тут твой высер про инвестирование и AM? Ты тред-то читал, клоун? Тут достаточно базовых знаний о risk ruin, соотношении RR и WR, можно ещё recovery factor смотреть.

>>500709
Залетуха вообще не в теме.
Аноним 26/09/23 Втр 12:06:37 500831 266
>>496529
>>488577
Ты - нагляднейший пример того, почему макаки без высшего образования - зло.
У тебя же напрочь отсутствует понимание того, что ты вообще блять делаешь и почему нельзя движение рынков предсказать статистически.
Если бы ты знал хотя бы основы матстата, этот тред бы просто не появился.
Поэтому мой код абсолютно валидный: >>486613
Более того, я не удивлюсь, если он дает предсказания точнее твоего.
Аноним 29/09/23 Птн 18:00:25 503514 267
>>500828
ага и ты все еще не работаешь по профессии.
Аноним 30/09/23 Суб 20:01:29 504301 268
Оп на связи, ну тут как всегда всё скатилось в полную парашу, кому интересно я уже дал ссылку на гит, кто хочет заколлабит. Я в данный момент занят немного другим делом, но в ближайшее время вернусь к модели, возможно тут ещё буду постить крупные обновления, но по видимому, тут только тролли-клоуны собрались, которые думают что всё знают и говорят что люди с вышкой уже всё давно поняли. Ну видимо я особенный что с вышкой с кафедры вышмата нихуя не понял, пруфов не будет так как я хочу ещё больше позлить этих клоунов.

Кому интересно можете писать тут или в телеге, буду отвечать по возможности только на нормальную адекватную критику и предложения.

По существу у меня есть несколько идей как переделать саму нейросеть, и да, для тех кто проскипал весь тред, она анализирует не просто свечи а много других факторов (пока без новостей, так как у меня просто не хватит мощностей чтобы такую нейросеть сделать)
Аноним 01/10/23 Вск 01:15:29 504572 269
>>504301
Чел, забей, тут два с половиной дегенерата троллят. Просто нихуя не было нового, никто по существу и не пишет
Аноним 01/10/23 Вск 22:30:43 505451 270
>>504572
Ну а я и не делал потому что ничего пока нового. Вот сейчас переделываю датасет чтобы состоял только из индикаторов, возможно будет лучше. Но тут сразу же возникла проблема с тренировкой, видимо херово датасет обработал, кароч решил немного ковырнуть, теперь проблем на неделю себе сделал
Аноним 02/10/23 Пнд 12:38:16 505884 271
image.png 1002Кб, 665x1000
665x1000
>>504301
никому нахуй не нужен твой говнокод. Вот кстати тебе литература.
Аноним 02/10/23 Пнд 15:31:30 506085 272
image.png 485Кб, 460x460
460x460
>>504301
https://github.com/FreeTile
>я уже дал ссылку на гит
Да уж, гитхаб впечатляет, не то слово.

>вышкой с кафедры вышмата нихуя не понял
Если верить написанному на твоем гитхабе:
>Hi, my name is Mark, I am 20 years old. I like coding and playing video games, more information you can find by pressing button below.
Ты 20 летний задрот в игры.
А вышка твоя, в силу возраста, это всего 2 курса непонятно какой шараги.

Но клоуны тут, разумеется, все, кто не согласен с ОПом. Кстати, сабж на пике.
Аноним 02/10/23 Пнд 17:52:02 506217 273
>>506085
Ну пока по факту разноса кода не увидел, так что можешь говорить что хочешь

>Кстати. сабж на пике.

Ебать, скопировал мою фотку с гитхаба который я кинул тут же, вот это достойный деанон
Аноним 02/10/23 Пнд 17:54:27 506223 274
>>505884
Ну если не нужен, нахуй ты в тред то зашёл, чтобы написать это?)

За книгу спасибо, просмотрю в свободное время
Аноним 02/10/23 Пнд 17:56:30 506225 275
>>506085
Кстати да, то что ты нашёл это дзха для другого вуза, в который я сейчас ушёл, так что док-ва взятые со сраной хтмл странички по дз, это как минимум странно, если удобно, давай я залочу этот репоз и оставлю только тот, о котором идёт речь
Аноним 02/10/23 Пнд 19:08:35 506297 276
Ладно, я уже даже не знаю зачем отвечаю этим троллям, я просто создал тред для тех кому интересна тема, без понятия зачем тролли тут распинаются, но раз им нравится, то пусть
Аноним 03/10/23 Втр 01:03:57 506729 277
>>445904
если он анализирует количество свечей и просто статвероятность это смерть. на рынке боьшую часть времени нет активности и смотреть на свечи в это время бесполезно. нужно смотреть объемы
Аноним 03/10/23 Втр 01:06:16 506731 278
или лучше вообще смотреть движения на кошельках. есть такая возможность? хотя хули там смотреть
Аноним 03/10/23 Втр 01:27:22 506745 279
Goi.png 113Кб, 604x328
604x328
Даю бесплатно идею по нагреву гоев на шекели.

Делаете русский дубляж любой популярной игры, которая щас на хайпе, с помощью нейронки HeyGen. Но только трейлер! Далее постите по всем парашам (дтф, маилы и пр.). И сыграв на националистическом настроении гоев - просите бабки на фул перевод такой игры (и похуй, что это не реал, гои поведутся). Мол, вот, они скоты и фашысты ушли с нашего рынка, хуесосят нас и пр.
И сразу в трейлере припишете (уже озвученном нейронкой HeyGen), что собираете донат на покупку нового железа и пр. (и похуй, что у HeyGen синтез идёт на собственных сервах). Оставляя ссылочку с кошельком на WebMoney.
Я клянусь эти ебланы поведутся.

Даю идею работягам, которые пока незнают как заработать на нейронках.
Аноним 03/10/23 Втр 02:33:42 506787 280
>>506729
Так я вытаскиваю всё что предоставляет бинанс, там и обьёмы есть в том числе, единстенное чего нет это стакана, но его и в теории быть не может, иначе приходилось бы вытаскивать его каждую секунду

>>506731
К сожалению такой возможности нет (Как минимум у бинанса)
Аноним 03/10/23 Втр 02:35:55 506789 281
>>506745
Да тут дохуя методов заработка (моя нейронка не считается на данный момент, так как недоделана), но я чисто ради опыта клепаю и делюсь результатами.
Аноним 15/12/23 Птн 12:00:18 573709 282
Нахуй ты такую лицензию на гитхаб поставил ещё и написал описание на английском. Ты Же с русскими общаешься, вот и пиши на русском.
P. S. Если нейронка бабки не теряет это уже частично успех. Обычай её скальпингу раз она у тебя предсказывает только одну свечу дальше.
Аноним 27/03/24 Срд 21:29:12 684335 283
Бамп
Аноним 09/04/24 Втр 06:03:16 697838 284
>>385611 (OP)
Надеюсь ты еще тут появляешься, ОП.
Стало интересно, и я посмотрел в сторону ByBit, там тоже есть API, есть либа для питона, но вот когда получаешь инфу о свечах - параметров меньше чем у бинанса, не могу пока понять, насколько это критично.
А нет именно
quote_asset_volume
number_of_trades
'taker_buy_base_asset_volume
taker_buy_quote_asset_volume

Но есть Turnover (Unit of figure: quantity of quota coin)

Я подумал, что может быть еще стоит Open Interest так же добавить в данные для обучения.

И вообще, как идут/шли дела? На чем остановился?
Аноним 25/04/24 Чтв 23:54:45 717940 285
>>385611 (OP)
это работать не будет, не трать в пустую время
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов