Jump to content

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


muvingman

Recommended Posts

Andy Tacker
Ошибки 4200 и 4202 это ошибки работы с объектами. То есть их появление возможно при применении функций типа ObjectCreate, ObjectDelete при указании ошибочного имени объекта в качестве параметра.

 

так-так-так, нука-нука... щя погляжу!


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
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

Andy Tacker
так-так-так, нука-нука... щя погляжу!

 

При компилировании выдаёт сначала единожды "символ,4002-Индекс массива вне диапазона" один раз, а потом, естественно каждый тик "символ,4200-Объект уже существует".


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX
При компилировании выдаёт сначала единожды "символ,4002-Индекс массива вне диапазона" один раз, а потом, естественно каждый тик "символ,4200-Объект уже существует".

 

В общем, если хочешь, чтобы помогли, выкладывай код полностью


1

Link to post
Share on other sites
Andy Tacker
В общем, если хочешь, чтобы помогли, выкладывай код полностью

 

Код бестолковый, выкладывать не буду. Модуль с ошибкой нашёл, сейчас буду исправлять. Благодарю, Антон, за помощь. :agree: Навёл меня на правильные мысли! Спасибо! С уважением, Андрей.


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX
Код бестолковый, выкладывать не буду. Модуль с ошибкой нашёл, сейчас буду исправлять. Благодарю, Антон, за помощь. :agree: Навёл меня на правильные мысли! Спасибо! С уважением, Андрей.

 

Не за что, обращайся :agree:


1

Link to post
Share on other sites
Ale111
знаете я был бы премного благодарен. часто слышу от знающих трейдеров что рынок живой. и тот советник который раньше приносил прибыль на сегодня может сливать. может для этого сова самое благоприятное время! в любом случае нужно тестить.

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

Эффективность пока под вопросом, но попробовать можно. Скоро не обещаю, сообщу в личку.

Link to post
Share on other sites
mixanik.rus
Да, в основном это так происходит. Поэтому я не сторонник полного автомата, а скорее советник должен быть помошником включаемым целенаправленно трейдером.

Эффективность пока под вопросом, но попробовать можно. Скоро не обещаю, сообщу в личку.

спасибо буду ждать.
Link to post
Share on other sites
Andy Tacker

Привет всем! Сделал ф-цию подсчёта залога в валюте депо для мультивалютника. Показывает с искажениями на разных брокерах. Что может быть?

//+------------------------------------------------------------------+
//|       Функция подсчета залога всех ордеров советника             |
//+------------------------------------------------------------------+
double Margin_All() { double Margin=0; int i,Total=OrdersTotal();
for(i=0;i<Total;i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==Magic) { double Lots,OneLot;
if(OrderType()==1||OrderType()==0) { Lots=OrderLots(); 
OneLot=MarketInfo(OrderSymbol(),MODE_MARGINREQUIRED); 
Margin+=OneLot*Lots; }}} return(Margin); } 
//+------------------------------------------------------------------+   

проблема на ***-демо, а на Альпе и ********** пока ништяк...

Все счета без комиссий, ********** - реалцент, Альпа - демо-руб.

post-74216-1404220650,4253_thumb.png

post-74216-1404220650,5809_thumb.png

post-74216-1404220650,7058_thumb.png

Edited by AntFX

:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX

А можно не индусским кодом писать а нормальным? :)

Типа того:

double Margin_All() 
{ 
double Margin=0; 
int i, Total=OrdersTotal();
for(i=0;i<Total;i++) 
{ 
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderMagicNumber()==Magic) 
 { 
  double Lots,OneLot;
  if(OrderType()==1||OrderType()==0) 
  { 
   Lots=OrderLots(); 
   OneLot=MarketInfo(OrderSymbol(),MODE_MARGINREQUIRED); 
   Margin+=OneLot*Lots; 
  }
 }
} 
return(Margin); 
} 

Очевидно, что в формуле расчета (кроме самого списка ордеров) участвует одна переменная - MARGIN REQUIRED по всем задействованным инструментам. Её различие у разных брокеров и нужно проверять, чтобы понять, откуда разница.

Edited by AntFX

1

Link to post
Share on other sites
Andy Tacker

%2$s

А можно не индийским кодом писать а нормальным? :)

Типа того:

double Margin_All() 
{ 
double Margin=0; 
int i, Total=OrdersTotal();
for(i=0;i<Total;i++) 
{ 
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderMagicNumber()==Magic) 
 { 
  double Lots,OneLot;
  if(OrderType()==1||OrderType()==0) 
  { 
   Lots=OrderLots(); 
   OneLot=MarketInfo(OrderSymbol(),MODE_MARGINREQUIRED); 
   Margin+=OneLot*Lots; 
  }
 }
} 
return(Margin); 
} 

Очевидно, что в формуле расчета (кроме самого списка ордеров) участвует одна переменная - MARGIN REQUIRED по всем задействованным инструментам. Её различие у разных брокеров и нужно проверять, чтобы понять, откуда разница.

 

так-так... щя пазырю! А по поводу кода сорри. Написано-то хоть правильно?

Edited by AntFX
для читабельности ветки

:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX
так-так... щя пазырю! А по поводу кода сорри. Написано-то хоть правильно?

 

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


1

Link to post
Share on other sites
Andy Tacker
Да вроде правильно. Вопрос вообще странный. В формуле участвует две группы переменных - список ордеров и данные о марже. Очевидно, если результат отличается, то отличие нужно искать либо в одном, либо в другом...

 

Короче, чем больше залог, тем больше искажение в сторону увеличения на любом брокере и счёте... Следовательно здесь что то в моих расчётах. Но я врубиться не могу, как суммарную маржу только определённых ордеров высчитывать! Параметрами можно манипулировать следующими: магик, имя советника, ГлобалВар., комент...


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
Andy Tacker

Приношу извинение за засорение этой ветки своими вчерашними(индусскими) постами.

Вопрос был неправильно сформулирован. Я не прошу написать мне эту функцию, а прошу дать такую информацию: - как считается маржа вообще? Дайте мне рычаг(или пинка)...


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX
Вопрос был неправильно сформулирован. Я не прошу написать мне эту функцию, а прошу дать такую информацию: - как считается маржа вообще?

Кэп отвечает, что маржа определяется брокером (MarketInfo(Symbol(), MODE_MARGINREQUIRED)) :)

Edited by AntFX

1

Link to post
Share on other sites
Andy Tacker
Кэп отвечает, что маржа определяется брокером (MarketInfo(Symbol(), MODE_MARGINREQUIRED)) :)

 

...прикольно! Но я хочу посчитать залог каждого робота на одном счету. Чтоб на кинескопе показывало бабло, затраченное каждым советником, участвующем в данной "оргии"!


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX
...прикольно! Но я хочу посчитать залог каждого робота на одном счету. Чтоб на кинескопе показывало бабло, затраченное каждым советником, участвующем в данной "оргии"!

 

Так кто мешает? Вроде бы у тебя в коде все верно было написано. Возможно, причина в том, что твои роботы не правильно выставляют Magic к ордерам.

Edited by AntFX

1

Link to post
Share on other sites
Andy Tacker
Так кто мешает? Вроде бы у тебя в коде все верно было написано.

 

мешает К.О.


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX

Ага, вот ещё что. Код не учитывает маржу за локированные позиции. Она взимается обычно в размере 50%, то есть только за 1 сторону


1

Link to post
Share on other sites
Andy Tacker
Ага, вот ещё что. Код не учитывает маржу за локированные позиции

 

это я уже пробовал! Про хэдж тоже пробовал.


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
Andy Tacker
Так кто мешает? Вроде бы у тебя в коде все верно было написано. Возможно, причина в том, что твои роботы не правильно выставляют Magic к ордерам.

 

вроде правильно...


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX
это я уже пробовал! Про хэдж тоже пробовал.

 

Что значит пробовал?


1

Link to post
Share on other sites
Andy Tacker
Что значит пробовал?

 

MarketInfo(OrderSymbol(),MODE_MARGINHEDGED)

 

- не склоняется!


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
AntFX

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

Номер тикета[(;символ;направление;...)];Лотность;РазмерМаржи

 

Запусти эту функцию на разных брокерах и сравни получившиеся файлы. Поймешь в чем разница и от чего дальше плясать

MarketInfo(OrderSymbol(),MODE_MARGINHEDGED)

Судя по всему функция глючная (MODE_MARGINHEDGED) и работает шут знает как. Лучше исходить из того что если есть локированные лоты, то нужно самостоятельно вычислять 50% от MODE_MARGINREQUIRED

Edited by AntFX

1

Link to post
Share on other sites
Andy Tacker
Вообще, чтобы понять причину различий - вместо расчета результата в функции выводи в какой-нибудь файл таблицу из строк вида:

Номер тикета[(;символ;направление;...)];Лотность;РазмерМаржи

 

Запусти эту функцию на разных брокерах и сравни получившиеся файлы. Поймешь в чем разница и от чего дальше плясать

 

Судя по всему функция глючная и работает шут знает как. Лучше исходить из того что если есть локированные лоты, то нужно самостоятельно вычислять 50% от MARGIN_REQUIRED

 

Ну не знаю... на разных куфняхъ адинакава! буду думать...


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
Link to post
Share on other sites
Andy Tacker

а на счёт таблиц - я не сильный программист - школы не хватает...


:crazy:...или держите дольше, или макайте глубже - дно мутное, ни хрена не видно!!!
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...