Jump to content

Напишу советник, скрипт, индикатор на MQL бесплатно (архив)


muvingman

Recommended Posts

AntZ

Скрины чуть позже скину, сейчас тест идёт. Блок записи средств в файл каждую минуту и 00 сек. может кто изобразит?

Link to post
Share on other sites
  • Replies 2.9k
  • Created
  • Last Reply

Top Posters In This Topic

  • AntFX

    364

  • Voldemar227

    263

  • Ugar68

    133

  • cmillion

    99

Top Posters In This Topic

Popular Posts

Есть скрипт на открытие 2х рыночных и/или 2х отложенных ордера по обе стороны от текущей цены со стоп лоссами и тейк профитами. Можно выставлять магик, расстояние от цены и проскальзывание. Скрипт не

Неблагодарное это дело писать тут для кого либо. Я как то, в начале года пытался помочь тут одному персонажу с индикатором, так он потом мне весь мозг, через личные сообщения вынес,  с тех пор пишу т

Posted Images

AntFX
19 минут назад, AntZ сказал:

Блок записи средств в файл каждую минуту и 00 сек. может кто изобразит?

Что-то типа такого (правда это не точно 00 сек, но дальше уже сами сообразите)

Скрытый текст

 

int h;

 

int OnInit(){

h=FileOpen("equity.csv",FILE_WRITE|FILE_TXT|FILE_ANSI);

if(h==INVALID_HANDLE){Print("Error creating file!"); return(INIT_FAILED);}

EventSetTimer(60);

return(INIT_SUCCEEDED);

}

 

void OnDeinit(const int reason){

FileClose(h);

EventKillTimer();

}

 

void OnTimer(){

if(h!=INVALID_HANDLE){

FileWriteString(h,TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS)+";"+(string)AccountEquity()+"\n");

}

}

 

 

Edited by AntFX

1

Link to post
Share on other sites
AntZ

))) я не особо програмист, вставил в тело "старт" куча ошибок, вставил как функцию тоже что-то не то

2019-01-12_12-42-36.png

Link to post
Share on other sites
AntFX
3 минуты назад, AntZ сказал:

))) я не особо програмист, вставил в тело "старт" куча ошибок, вставил как функцию тоже что-то не то

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


1

Link to post
Share on other sites
AntZ

понял, сейчас разберёмся

Link to post
Share on other sites
AntZ

разобрался, спасибо,  всё пишет

  • Upvote 1
Link to post
Share on other sites
AntZ

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

Link to post
Share on other sites
AntFX
11 минут назад, AntZ сказал:

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

Если из моего кода делали с OnTimer то тики непричем. В любом случае как уже сказал помочь можно только если Вы выложите код целиком.


1

Link to post
Share on other sites
Ugar68

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


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ
12.01.2019 в 12:19, AntFX сказал:
  12.01.2019 в 12:07, AntZ сказал:

В тестере четвёрке визуально на графике средства видно что просадка допустим 1000 а в отчёте 5000, как это можно объяснить?

 

А там вообще есть график средств, или только баланса?))) В отчете тоже разные просадки показываются. Для конкретизации нужны скрины из тестера.

МТ4 строит график по сделкам, заставить его строить график по времени не получится. Как Вы правильно сказали для этого нужно самому из эксперта записывать эквити в файл.

 

Тест за 3 года, на графике не видно просадки в 9800 ?

2019-01-13_00-08-02.thumb.png.f10574190fd95079eaa671f658f7ed3a.png2019-01-13_00-06-51.thumb.png.c32a574ef86b9de5bcf538ee76f530a4.png

Link to post
Share on other sites
Ugar68

Тестер рисует график по сделкам, а просадку фиксирует даже когда сделки открыты. Если открыть сделку она сходила в просадку, потом вышла в прибыль и её закрыли в прибыли, на графике просадки не будет, а в отчёте будет.


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ

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

2019-01-13_13-04-44.png

2019-01-13_13-13-07.png

Link to post
Share on other sites
Ugar68

Потому что системный таймер не работает в тестере.  Надо перенести всё что написано внутри OnTimer внутрь OnTick.

Edited by Ugar68

Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ
26 минут назад, Ugar68 сказал:

Потому что системный таймер не работает в тестере.  Надо перенести всё что написано внутри OnTimer внутрь OnTick.

дак тогда он будет только на тиках писать, ночью будет пропускать минуты т.к. тиков мало, и надо тогда "защиту" от повтора ставить, в одну минуту несколько раз пишет

Link to post
Share on other sites
Ugar68
8 минут назад, AntZ сказал:

дак тогда он будет только на тиках писать, ночью будет пропускать минуты т.к. тиков мало, и надо тогда "защиту" от повтора ставить, в одну минуту несколько раз пишет

Так Вам надо в тестере или в реале? Вы же писали что в отчёте тестера просадка, которой нет на графике.

Если поместить в OnTick то будет писать с каждым тиком. Если по таймеру будет писать с интервалами таймера независимо от тиков, но не при работе в тестере.

Edited by Ugar68

Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ

Конечно же в тестере нужно чтоб работало. Прогнал советника допустим за неделю, получил 5дней*24*60  записей средств. И можно построить реальный график. Прогнал по нескольким парам, суммировал построил мультивалютный график. Вот что нужно. Я блин столько провозился а оказывается этот грёбаный таймер в тестере не работает...вот блин.

Link to post
Share on other sites
Ugar68
1 час назад, AntZ сказал:

Конечно же в тестере нужно чтоб работало. Прогнал советника допустим за неделю, получил 5дней*24*60  записей средств. И можно построить реальный график. Прогнал по нескольким парам, суммировал построил мультивалютный график. Вот что нужно. Я блин столько провозился а оказывается этот грёбаный таймер в тестере не работает...вот блин.

Тестер, на модели все тики, работает по тиками. При том что не по реальным, а смоделированным. То есть тики врутри минутного бара выдуманы тестером. Реальны только бары High, Low, Open, Close. В Вашем случае, если надо писать средства в файл каждую минуту, то лучше это делать при открытии минутного бара. Если есть минутный бар, то и запись не будет пропущена.

Это должно быть в OnTick.

static datetime prev_time0;

datetime time0=iTime(NULL,1,0);

if(prev_time0!=time0)

{

//Здесь запись в файл

}

prev_time0=time;


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ

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

 

if( Minute()>=time && S!=Minute())
{
FileWriteString(h,Month()+";"+Day()+";"+Hour()+";"+Minute()+";"+(string)AccountEquity()+"\n");
//Alert ("-------------------------ТЕСТ");
S=Minute();
time=Minute()+interval;  //периодичность записи, по умолчанию 1 мин.
if(time==60){time=0;}
}

Link to post
Share on other sites
AntZ

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

Link to post
Share on other sites
AntZ

Ugar68, в твоей версии нет "защиты" от повторной записи на одной и той же минуте

2019-01-13_16-58-33.png

Link to post
Share on other sites
Ugar68

Так не должно быть в тестере. Должно быть только одна запись за минутный бар. В работе на счёте может быть повтор при инициализации графика с советником. Ничего не перепутали? Ничего не забыли?

prev_time0  должна быть статической

В конце должно быть запоминание времени минутного бара. prev_time0=time;


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ

точно пишет повторы, записал всё верно 

2019-01-13_17-11-24.png

Link to post
Share on other sites
Ugar68

Я ошибся в имени переменной в последней строке

prev_time0=time0; 


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
AntZ

да, теперь всё отлично, спасибо,  удобно что писать можно согласно таймфреймам, каждые 5, 15 минут если требуется "позжатей" график.   

Link to post
Share on other sites
AntFX
11.01.2019 в 16:43, AntZ сказал:

Здравствуйте. Существует ли реально работающий компилятор кода   mql4  в  mql5 ?

Вот ещё советую глянуть (сам не смотрел)


1

Link to post
Share on other sites
  • Capman changed the title to Напишу советник, скрипт, индикатор на MQL бесплатно (архив)
  • Capman locked and unpinned this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...