Ищу трейдера для совместной разработки торговых ботов.

  • Автор темы Автор темы AndreyTr
  • Дата начала Дата начала
Покупка, когда цена подошла к машке сверху вниз и коснулась ее и rsi ниже уровня 30. Без стопов. Тейк на сигнале rsi в противоположную сторону.
Продажа, когда цена подошла к машке снизу вверх и коснулась ее, rsi в это время выше уровня 70. Тейк по противоположному сигналу rsi.
Вспомнил где я это видел. В каком то видосе сидит целая команда наемных дейтрейдеров в какой то конторе на уоол-стрит и колбасят "Stock's in Play" по одной машке и к ней что то подшито было типа осцилятора . Но они это ручками делали и не на всех акциях а только выборочно.
 
Вспомнил где я это видел. В каком то видосе сидит целая команда наемных дейтрейдеров в какой то конторе на уоол-стрит и колбасят "Stock's in Play" по одной машке и к ней что то подшито было типа осцилятора . Но они это ручками делали и не на всех акциях а только выборочно.
Они, наверно, уже миллиардерами стали
 
Они, наверно, уже миллиардерами стали
Каждый по отдельности вряд ли а вот хозяин конторы наверняка , там же текучка в таких конторах , дают лимиты каждому и месяц-два испытательный строк . Если косячат то досвидос , и набирают новых . Желающих торговать 80/20 чужими жирными деньгами всегда хватает.
 
А ты по этой стратегии руками торгуешь, есть история хотя-бы за полгода?
 
А ты по этой стратегии руками торгуешь, есть история хотя-бы за полгода?
Это к кому вопрос ? Я так не торгую , у меня "все сложно" ) Но в связи появившимся желанием автоматизировать торговлю освежаю память по разным стратегиям и ищу новые идеи пригодные для роботов. Кстати ИИ написал мне базовый код к такой машке с rsi за 5 секунд , нужно доработать улучшить и все такое .Но я не уверен что это то что мне нужно . Пусть полежит в закромах.
 
Это к кому вопрос ? Я так не торгую , у меня "все сложно" ) Но в связи появившимся желанием автоматизировать торговлю освежаю память по разным стратегиям и ищу новые идеи пригодные для роботов. Кстати ИИ написал мне базовый код к такой машке с rsi за 5 секунд , нужно доработать улучшить и все такое .Но я не уверен что это то что мне нужно . Пусть полежит в закромах.
Пусть уж здесь лежит. Выкладывайте
 
Это к кому вопрос ? Я так не торгую , у меня "все сложно" ) Но в связи появившимся желанием автоматизировать торговлю освежаю память по разным стратегиям и ищу новые идеи пригодные для роботов. Кстати ИИ написал мне базовый код к такой машке с rsi за 5 секунд , нужно доработать улучшить и все такое .Но я не уверен что это то что мне нужно . Пусть полежит в закромах.
Вот все мы к этому приходим, но я убежден что разделение на программиста и трейдера это прям идеальный вариант сотрудничества, правда трейдеру не нужно понимать в программировании, а вот программисту в трейдерстве обязательно надо.
ИИ хорош для того чтобы базу накидал, потом допиливать задолбаешся до норм результата
 
Пусть уж здесь лежит. Выкладывайте
Ничего не чистил не добавлял , не напрягал ИИ хорошо подумать и улучшить немедленно , а это нужно обязательно делать!

Пояснения:

  • Советник открывает только одну позицию за раз.
  • Вход в сделку — по условиям касания SMA и значения RSI.
  • Выход — по противоположному сигналу RSI (противоположная зона).
  • Нет стоп-лоссов, тейк-профит только по сигналу.
  • Параметры периода SMA и RSI можно менять в настройках.
Рекомендации:

  • Перед использованием на реальном счете обязательно протестируйте советник на демо-счете или в тестере стратегий MT4.
  • Код можно доработать под ваши дополнительные требования.

text
//+------------------------------------------------------------------+
//| Expert advisor: SMA + RSI |
//+------------------------------------------------------------------+
#property strict

input int smaPeriod = 14;
input int rsiPeriod = 14;
input double lotSize = 0.1;

int ticket = -1;

void OnTick()
{
double sma = iMA(NULL, 0, smaPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
double rsi = iRSI(NULL, 0, rsiPeriod, PRICE_CLOSE, 1);
double prevClose = Close[1];
double currClose = Close[0];

// Проверяем, есть ли открытые позиции
int total = OrdersTotal();
bool haveBuy = false, haveSell = false;
for(int i=0; i<total; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderType() == OP_BUY) haveBuy = true;
if(OrderType() == OP_SELL) haveSell = true;
}
}

// Условия для покупки
if(!haveBuy && !haveSell)
{
if(prevClose > sma && currClose <= sma && rsi < 30)
{
ticket = OrderSend(Symbol(), OP_BUY, lotSize, Ask, 3, 0, 0, "SMA+RSI Buy", 0, 0, clrBlue);
}
// Условия для продажи
else if(prevClose < sma && currClose >= sma && rsi > 70)
{
ticket = OrderSend(Symbol(), OP_SELL, lotSize, Bid, 3, 0, 0, "SMA+RSI Sell", 0, 0, clrRed);
}
}

// Выход из покупки по противоположному сигналу RSI
if(haveBuy && rsi > 70)
{
for(int i=0; i<total; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, 3, clrAqua);
}
}
}

// Выход из продажи по противоположному сигналу RSI
if(haveSell && rsi < 30)
{
for(int i=0; i<total; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, 3, clrAqua);
}
}
}
}
 
вот я про то и говорю что ИИ конечно хорош, но код не рабочий) Поэтому если вернуться к предыдущему разговору про ценность ручного кода, она как была и так остается))
 
вот я про то и говорю что ИИ конечно хорош, но код не рабочий) Поэтому если вернуться к предыдущему разговору про ценность ручного кода, она как была и так остается))
Я же сказал, я его не мучал "хорошо подумать" "сделать лучше чем это делает Клод" и тому подобное . А Клода я не юзаю временно из-за а сбоев с ВПН . Щас я даже знаю кто сюда прибежит хейтить ИИ ))
 
Так ИИ просто надо уметь пользоваться, хейтить его это же тупо?) Даже интересно кто это будет.
 
Так ИИ просто надо уметь пользоваться
Вот именно , просто у меня браузер с впн слетел(добрался Роскомнадзор и до индийского браузера) и временно нет доступа к тем моделям которые хороши в кодах. Тыкаю пока подбираю разные платники . Но суть то не в этом , техническую революцию не остановить .
 
Уважаемый автор темы, мы, трейдеры должны делать прогнозы по роду своей деятельности. Поэтому мой небольшой прогноз: вы годами будете перебирать схемы, затем все выбросите в мусорное ведро и возьмете мою схему, ибо она простая и эффективная
 
Плюс минус схема, стратегия и вообще все что касается торговли по которой торгует трейдер мне абсолютно не важно. Если ты скажешь что я годами торгую по стратегии один бар продажи, два бара покупки, заходишь в продажу и получаем профит, вообще без проблем, хоть так - покажешь реальный счет с плюсом на котором торгуешь полгода, вот это и будет другой разговор. в 99% случаев все подобные схемы зарабатывают только на скриншотах)
Я просто спросил торгуешь ли ты сам по этой стратегии и есть ли реальный результат хотя бы за полгода?) Тут ответ может быть один, либо да либо нет) причем я не прошу раскрывать стратегию, секреты и нюансы.
Поэтому мне просто интересно это реальная торгующая стратегия или из раздела - "я думаю это сработает")
 
Пусть уж здесь лежит. Выкладывайте
Вот , дал ему пару подзатыльников и пообещал выдернуть штепсель , и он немного пошуршал . Наверно еще можно лучше сделать.


text
//+------------------------------------------------------------------+
//| Expert Advisor: SMA + RSI Touch (Optimized for MT4) |
//+------------------------------------------------------------------+
#property strict

// --- Оптимизируемые параметры ---
input int smaPeriod = 14; // Период SMA
input int rsiPeriod = 14; // Период RSI
input double lotSize = 0.1; // Размер лота
input int rsiLowLevel = 30; // Нижний уровень RSI для покупки
input int rsiHighLevel = 70; // Верхний уровень RSI для продажи
input int magic = 123456; // Магический номер
input int slippage = 3; // Проскальзывание

// Для отслеживания нового бара
datetime lastBarTime = 0;

// --- Проверка наличия открытой позиции по символу и magic ---
int GetOpenPositionType()
{
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == magic)
{
if(OrderType() == OP_BUY) return OP_BUY;
if(OrderType() == OP_SELL) return OP_SELL;
}
}
}
return -1; // Нет позиций
}

// --- Закрытие позиции по сигналу ---
bool ClosePosition(int type)
{
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == magic && OrderType() == type)
{
double price = (type == OP_BUY) ? Bid : Ask;
bool closed = OrderClose(OrderTicket(), OrderLots(), price, slippage, clrAqua);
if(closed)
Print((type == OP_BUY ? "Buy" : "Sell"), " order closed by RSI signal");
else
Print("Order close failed. Error: ", GetLastError());
return closed;
}
}
}
return false;
}

// --- Открытие позиции ---
bool OpenPosition(int type)
{
double price = (type == OP_BUY) ? Ask : Bid;
int ticket = OrderSend(Symbol(), type, lotSize, price, slippage, 0, 0, "SMA+RSI", magic, 0, (type == OP_BUY) ? clrBlue : clrRed);
if(ticket > 0)
{
Print((type == OP_BUY ? "Buy" : "Sell"), " order opened. Ticket: ", ticket);
return true;
}
else
{
Print("Order send failed. Error: ", GetLastError());
return false;
}
}

// --- Основная функция советника ---
void OnTick()
{
// Работаем только на новом баре
if (Time[0] == lastBarTime) return;
lastBarTime = Time[0];

double smaPrev = iMA(NULL, 0, smaPeriod, 0, MODE_SMA, PRICE_CLOSE, 2);
double smaCurr = iMA(NULL, 0, smaPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
double closePrev = Close[2];
double closeCurr = Close[1];
double rsi = iRSI(NULL, 0, rsiPeriod, PRICE_CLOSE, 1);

int posType = GetOpenPositionType();

// --- Открытие позиции ---
if(posType == -1)
{
// Buy: закрытие предыдущего бара выше SMA, текущего — ниже/равно, RSI < rsiLowLevel
if(closePrev > smaPrev && closeCurr <= smaCurr && rsi < rsiLowLevel)
{
OpenPosition(OP_BUY);
}
// Sell: закрытие предыдущего бара ниже SMA, текущего — выше/равно, RSI > rsiHighLevel
else if(closePrev < smaPrev && closeCurr >= smaCurr && rsi > rsiHighLevel)
{
OpenPosition(OP_SELL);
}
}

// --- Закрытие позиции по противоположному сигналу RSI ---
if(posType == OP_BUY && rsi > rsiHighLevel)
ClosePosition(OP_BUY);

if(posType == OP_SELL && rsi < rsiLowLevel)
ClosePosition(OP_SELL);
}
 
хоть так - покажешь реальный счет с плюсом на котором торгуешь полгода, вот это и будет другой разговор.
Как интересно , а наш первый секретарь обкома Савинский тоже самое говорит программистам которые продают советников ) И он даже на три месяца торговли в реале согласен )
 
Назад
Верх