[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 95

 
rid писал(а) >>

А чем коммент ("чертовски") удобнее магика ?

я в коммент пишу аверс/реверс/номер портфеля/номер советника/номер шаблона/алгоритма/оптимизации.

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

 
beruk >>:

я в коммент пишу аверс/реверс/номер портфеля/номер советника/номер шаблона/алгоритма/оптимизации.

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

Совсем не обязательно для этого пользоваться именно строковыми функциями. Ведь в MQ4 есть целочисленные операторы деления и деления по модулю, с помощью которых любое целое можно разложить по "косточкам".



Например номер порфеля - некое число, а номер советника число от 0 до 11


Магик = номер_портфеля * 12 + номер_советника;


Обратное преобразование:


int Номер_советника = Магик % 12;

int Номер портфеля = Магик / 12;

 
Reshetov писал(а) >>

Совсем не обязательно для этого пользоваться именно строковыми функциями. Ведь в MQ4 есть целочисленные операторы деления и деления по модулю, с помощью которых любое целое можно разложить по "косточкам".


Например номер порфеля - некое число, а номер советника число от 0 до 11


Магик = номер_портфеля * 11 + номер_советника;


Обратное преобразование:


int Номер_советника = Магик % 11;

int Номер портфеля = Магик / 11;

да-да, я о чем-то таком и думал!

но для меня это пока сложновато - на первое время разобью мейджик на 3 строки: 100+1000+100, а то я так никогда незакончу...

 
Уважаемые профессионалы подскажите пожалуйста, как вставить в советник команду на безусловную покупку по текущей цене предварительно заданного количества лотов? Как эта стока должна выглядеть? Заранее благодарен.
 
MAGoG >>:
Уважаемые профессионалы подскажите пожалуйста, как вставить в советник команду на безусловную покупку по текущей цене предварительно заданного количества лотов? Как эта стока должна выглядеть? Заранее благодарен.

Заходите в Code Base, открываете просмотр любого советника и любуетесь строчками которых присутствует:


OrderSend(..., OP_BUY, ...)

 

Всем привет! Недавно начал изучать MQL4. Читаю учебник. Спасибо автору!

Я заметил несколько опечаток. Не знал куда лучше написать.

Решил писать пока читаю. Потом забуду.

Учебник по MQL4 Торговые операции Открытие и установка ордеров

Там есть скрипт, насколько я понимаю в параметрах StopLoss и TakeProfit опечатка. Вместо Point должно быть point.

//--------------------------------------------------------------------
// improved.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
  {
   double bid   =MarketInfo("GBPUSD",MODE_BID); // Запрос значения Bid
   double ask   =MarketInfo("GBPUSD",MODE_ASK); // Запрос значения Ask
   double point =MarketInfo("GBPUSD",MODE_POINT);//Запрос Point
   // Открытие BUY
   OrderSend("GBPUSD",OP_BUY,0.1,ask,3,bid-15*Point,bid+15*Point);
   Alert (GetLastError());                      // Сообщение об ошибке
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------

Кто-нибудь, напишите куда это лучше писать и вообще нужно ли?

PS: в разделе Учебник по MQL4 Торговые операции Характеристики ордеров и правила проведения торговых операций

StopLoss = Ask + минимальная дистанция = 1.2989 + 0.0005 = 1.2994

TakeProfit = Ask - минимальная дистанция = 1.2989 - 0.0005 = 1.2984.

В случае если на текущий момент брокером установлено значение = 5, то границы коридора заморозки будут соответственно 1.2994 и 1.2984. В этом случае каждый из стоп-приказов оказывается на границе заморозки, т.е. попадает под ограничение, установленное брокером, поэтому ордер не может быть закрыт по инициативе трейдера или по приказу торгующей программы. В данном примере одновременно оба стоп-приказа подпадают под ограничение.

Не совсем понятно. Сперва пишется, что можно устанавливать стоп приказы на границе, а потом - нельзя. Кто-нибудь может объяснить?

 

И еще.

Я сейчас пишу диплом, связанный с автоматизированной торговлей.

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

Я сам искал, но слишком много всего.

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

А отчет я сделаю, чтобы была прибыль=).

Кстати, тут недавно тестировал MACD_Sample на Eur/Usd H1. С января по май этого года показал прибыль 800$ на 0.1 лоте. После оптимизации. По-моему неплохо =).

Хотя я перепробовал все периоды. Просто нашел самый прибыльный.

Всем заранее спасибо за ответы!

 
HungryStudent >>:

Там есть скрипт, насколько я понимаю в параметрах StopLoss и TakeProfit опечатка. Вместо Point должно быть point.

...

Кто-нибудь может объяснить?

Point

double  Point
Размер пункта текущего инструмента в валюте котировки.
См. также MarketInfo().
Пример:
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point);

 
HungryStudent писал(а) >>

Не совсем понятно. Сперва пишется, что можно устанавливать стоп приказы на границе, а потом - нельзя. Кто-нибудь может объяснить?

Все правильно, нужно использовать pоint, но если торги идут по текущему инструменту то можно и Point.

При открытии сделки цена может измениться на 1-3 и более пунктов и тогда уровень тейка или стопа попадает в запрещенную зону.

 
Dimoncheg >>:

С Мышем то более менее понятно, я просто планирую более универсальную функцию замутить чтоб не важно какой клиент конкретно был так как на компах которые я использую разные клиенты стоят, поэтому тут вижу тока один выход это запуск клиента который по умолчанию через этот файлец или каким может другим образом. А Вы не подскажете откуда эти все WinExec CopyFileA и DeleteFileA берутся, где их все взять и где про них можно почитать?

В частности интересует такая вешь -

CopyFileA(TerminalPath()+"\\experts\\Bears Funeral.ex4","C:\\Games\\Bears Funeral.ex4",false)

- это копирование файла, а можно ли таким же образом папки копировать?

Причина обращения: