Перейти к содержанию

Доработка советников: общая тема


Рекомендуемые сообщения

Доработка советников: общая тема Опубликовано

Вроде подправил. Просто я не стал уточнять, что же ТС надо, давно собирался поставить себе 509 и 600+ билды и посмотреть, какие же там грабли, а тут повод.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 2,5k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Версия с правками. Я немного свернул код, чтобы не перебирались ордера попусту и чтобы проверка красной/синей зоны делалась в одном месте. Прогнал в тесте с настройками по умолчанию. Ожидаемо лье

Перейти

Нате 1_2_3 _Fraktal.mq4

Перейти

Система маятника, или попрыгунчика, или фиг ее знает как ее еще назвать не намного младше сетки мартингейла. Мы в далеком 2017 писали по ней сов с индикатором на вход: https://tlap.com/forum/labo

Перейти
Доработка советников: общая тема Опубликовано


Проверьте этот...



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

Доработка советников: общая тема Опубликовано


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



Е-мое, я даже не вникал в то что он делает, сорри, от количества информации меня слегка рвет на части, это полезнейшая вещь!
Я обязательно его посмотрю более детально.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

GBPUSD , м1. 2 графика. на одном only long с сетом, на другом only short.
Мартингейл уже работает, приносит прибыль, в новости отключать не нужно, если все делать по инструкции и с нужными параметрами. параметры уже подобраны, единственно что мартин не работает в долгие безоткатные движения, как например было 12 февраля. нужно научиться преодолевать эти движения, либо настроить советник так чтобы отключал торговлю до неопределенного времени при какой то определенной просадке

еще раз повторю, советник уже работает

при депозите в 20 000 центов, это 200 долларов, не сливает, торгует нонстоп и в новости, нужно только решить проблему с безоткатными движениями

январь.rar
февраль_слил.rar
PBank_fix_Full.rar

Изменено пользователем arthur0001
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


нужно только решить проблему с безоткатными движениями


:d

Здравствуйте. Эту проблему если решить то форекс перестанет существовать. По этому ее решать как бы не очень уместно - мы ведь не хотим, чтобы форекс рухнул :d

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

Короче долго это обяснять, суть такова, что безоткат не страшен. На исьме сложно обяснить. Можем по скайпу созвоницца, разложу что как.

Мой скайп: jason.bourne477
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

советник работает. необходима добавить функцию закрытия ордеров при просадке в n единиц, чтобы вручную вбивать. ну а запуск советника уже вручную как появится хорошая возможность

ДА не грааль, но похоже, сливы будут, но редко

будьте добры, просто добавьте эту функцию!)(

PBank_fix_Full.rar

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано



советник работает. необходима добавить функцию закрытия ордеров при просадке в n единиц, чтобы вручную вбивать. ну а запуск советника уже вручную как появится хорошая возможность

ДА не грааль, но похоже, сливы будут, но редко

будьте добры, просто добавьте эту функцию!)(



щас придёт модератор и будет ругатся что вы плодите темы :)

что касается вашего советника это обычный илан вот в этой теме
http://tlap.com/forum/arhiv/25/nuzhna-besplatnaya-pomosch-v-napisanii-ili-ispravlenii-ekspertov-v-mql/6403
практически один в один сов откуда вы берёте эти граали :d
возьми какой нибудь достойный советник вбей в него свои параметры тот же эфект будет с сеткой в 6 пунктов будет молотить за месяц по 300 ордеров и сливать буде тоже раз в месяц
попробуй интегру где отключается индикаторный вход торговля в две стороны
есть закрытие по просадке вроди как и слоками есть есть ручная панель для открытия первого ордера
либо на этом сайте глянь по веткам есть достойные моды сеток
в сове ниже возможны ошибке и скачай длл mt4gui2.dll с сайта http://www.mt4gui.com/download/ другие версии поищи а то у меня их не один десяток модов сразу даже и не выложить примерно то что тебе нужно надо прибратся в совах

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

Integra_v2.8.7_DuoMulti_1.12_14-02.mq4
PBank_CurrencySL.mq4
PBank_CurrencySL.ex4

Изменено пользователем pegaskrs
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Доброго времени суток всем!
Написал советника, торгующего сеткой ордеров, компилируется, но после запуска в терминале ничего не происходит, он не открывает ни одного ордера! (ошибки при компиляции все исправлены) :(( :((

Filin_Martin.mq4

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

всё торгует :d смотри настройки лота куча ошибок связанных с модификацией ордеров

alpari_limited_mt4.png

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


всё торгует :d смотри настройки лота куча ошибок связанных с модификацией ордеров


Попробую :) я в программировании плохо понимаю)
Я не знаю как ты его запустил, но у меня он в тестере ни за какой период, никаких сделок не открывает @-)

Добавлено: 14-03-2014 11:58:35

Все!! Заработал))
Вопрос можно снять! :d Изменено пользователем Trader888
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Для тестирования на истории написал советника, но он именно на ней(истории) отказывается работать. Помогите кто чем может :)) А если серьезно, то просто подскажите где моя ошибка :-/

P.S. Там конечно бардак в коде... Заранее извиняюсь :">

TDI_Red_Green.mq4
GiK_ASS_Test.mq4

Изменено пользователем Pavel888
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Зачем на каждом шагу использовать цикл while ,опасный цикл в нём можно зависнуть ,
и время открытия бара ты присваиваешь два раза time_bar = iTime(NULL, 0, 0);
ну и индикаторы наверное надо было тоже выложить ,и не забываем про волшебную функцию
Print ох как помагает в отладке ;)

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Знаю что while опасный, если есть варианты как его заменить то я хочу их увидеть :) Ага, уже сам вижу :-b
тайм_бар и правда будет лишний. Как исправлю выложу.
Индикаторы добавил в первое сообщение.
Принтами и алертами код был завален по самое нехочу, почти на каждом шаге. Пришлось почистить, а то самого кода не видно.

Изменено пользователем GiK
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

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

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Пишу советник, смысл в том, чтобы при прохождении цены в какую либо сторону открыть ордер в сторону движения цены. Если цена развернётся и сработает СтопЛосс, открылся новый ордер от стопа, опять по движению ценыС теми же СЛ и ТП. Первый ордер открываеться без проблем, а второе условие не срабатывает. Помогите в чём ошибка (((

Спойлер

-----------------------------------------------------------------+
//| Plan B 3.mq4 |
//| C |
//| http:/ |
//+------------------------------------------------------------------+
#property copyright "C"
#property link "http:/"
#property version "1.00"
#property strict

extern double Lots = 0.1;
extern int TakeProfit = 150;
extern int StopLoss = 50;
extern int Slippage = 5;
extern string comment = "Tma Bot";
extern int Magic = 12345;


extern string Indi = "Данные индикатора";
extern string TimeFrame = "current time frame";
extern int HalfLength = 56;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern int ATRPeriod = 100;
extern bool Interpolate = true;

double PriceHigt, PriceLow, SL, TP, price;
int ticket;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
if (Digits == 3 || Digits == 5)
{
TakeProfit *=10;
StopLoss *=10;
Slippage *=10;
}


return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
PriceHigt = iCustom(Symbol(), 0, "TMA with Distances", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0);
PriceLow = iCustom(Symbol(), 0, "TMA with Distances", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0);

if (Ask >= PriceHigt && CountBuy() + CountSell() == 0)
{

SL =NormalizeDouble(Ask - StopLoss * Point, Digits);
TP =NormalizeDouble(Ask + TakeProfit * Point, Digits);

ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, comment, Magic, 0, Blue);
if (ticket >0)
{

if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify (ticket, OrderOpenPrice(), SL, TP, 0);


}


}


if (Bid {
SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);
if (ticket >0)
{

if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify (ticket, OrderOpenPrice(), SL, TP, 0);


}

}


if (CountTrades() == 0 && FindLastOrderType() == OP_BUY && Bid {

SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);
if (ticket >0)
{

if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify (ticket, OrderOpenPrice(), SL, TP, 0);


}



}

if (CountTrades() == 0 && FindLastOrderType() == OP_SELL && Ask >= NormalizeDouble(FindLastPrice(OP_SELL) + StopLoss*Point, Digits))
{

SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

ticket = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);
if (ticket >0)
{

if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify (ticket, OrderOpenPrice(), SL, TP, 0);


}



}
}
//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0;
for (int trade = OrdersTotal()-1; trade >=0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic )
{
if (OrderType() == OP_BUY)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+

int CountSell()
{
int count = 0;
for(int trade = OrdersTotal()-1; trade >=0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic )
{
if (OrderType() == OP_SELL)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
double FindLastPrice(int otype)
{
double oldopenprice;
int oldticket;

ticket = 0;

for( int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
{
oldticket = OrderTicket();
if (oldticket > ticket)
{
oldopenprice = OrderOpenPrice();
ticket = oldticket;
}
}
}
}
return(oldopenprice);
}

//+------------------------------------------------------------------+

int FindLastOrderType()
{
for (int i = OrdersTotal()-1; i>=0; i-- )
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
return(OrderType());
}
}
return(-1);
}


//+------------------------------------------------------------------+
int CountTrades()

{
int count = 0;
for (int i = OrdersTotal() -1; i>0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
count ++;
}
}
return(count);


}

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Странно, почему тогда в моём терминале(АльфаФорекс ), не открывает ордера от стопа???? В чём может быть причина??? ~x( ~x( ~x(

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Здравствуйте, товарищи. Вобщем нужен советник, который каждый день в строго заданное время выставлял 2 противоположных лимитных ордера с заданными ТП и СЛ на заданном расстоянии от текущей цены. Удалял 2-ой при срабатывании одного из них. И Автоматически удалял оба ордера в заданное время, если не сработали.
Нашел вот такой, но это не то, что мне надо(он открывает только 1 ордер 1 раз), а попытки модифицировать с моими знаниями mql пока тщетны((
Заранее спасибо за любую помощь.

time_open_1_0.zip

Изменено пользователем fantmz
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

вот с новым баром поподробнее...
Допилил код до более-менее тестируемого на истории образца(обновил файлы).

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Я тоже пробовал писать сову. ТС хорошо оптится на истории, и быстро умирает в будущем. Стандартная индикаторная стратегия, которая категорически не любит дисциплины, а любит интуицию. Причем стандартные настройки по ТС сливают.

Другое дело руку набить в кодинге mql4 ....

Вот что у меня вышло. Спад начался с момента окончания оптимизации )))


Добавлено: 17-03-2014 20:42:29

Особенно морочная реализация круглых уровней. Которые оказались бесполезными, и даже ухудшали картину слива.

asisy005.jpg

Изменено пользователем dzennn2
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Вот по причине того что стандартные настройки сливают я и взялся за написание совы.
А то взялся на демке руками тестить- сливаю и сливаю. Думал или у меня руки кривые или свечи у меня не правильные...
Помучаюсь еще немного - допишу до конца, а там есть еще пара идей как модернизировать код: прикрутить ММ, небольшой мартингейл...

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

У меня сложилось мнение. Индикаторные стратегии интрадей быстро умирают. И чем больше входов в день и меньше стопы и тейки, тем быстрее стратегия умрет. Долго живут стратегии с малым кол-вом входов. Или в саму стратегию надо внедрять схемы адаптации как это делает человек. Например учет волотильности, новостей и др.
Жесткая дисциплина начинает губить ТС.
Мартины и прочие умножатели лотов - зло. По любому найдется хитрая движуха цены, которая заставит мартин умножить лоты до небес. Хотя есть негласное правило для мартиноподобных систем при прибыли 100% в год, такие системы могут работать годами без слива. Но если захотеть больше, то капец прийдет быстро и неизбежно.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Спасибо, учту на будущее. Но поэксперементирую немного, не понравится есть еще много интересных стратегий

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


вот с новым баром поподробнее...
Допилил код до более-менее тестируемого на истории образца(обновил файлы).


а что тут по подробней , в начале функции старт идёт код который на каждом тике
потом

if (time_bar ==iTime(NULL, 0, 0))return;//если не новый бар выходим
код который выполняется на открытии нового бара
time_bar = iTime(NULL, 0, 0);
return;
так же не забываем обнулять переменные в функциях
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

  • idinesh changed the title to Assae Elite Pro tlap version source code need i have plan convert this mt4 to mt5 and it possible mt4 dll file modified mt5 version
  • Pavel888 pinned this тема

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • ×
    ×
    • Создать...