[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 455

 
todem:
Здравствуйте! Может ли значение magicnumber в поиске ордеров применять значение Empty_value?
Понятно никто ответить не хочет. Просто видимо даже жалко кому то коммент один оставить
 
todem:
Понятно никто ответить не хочет. Просто видимо даже жалко кому то коммент один оставить


Вы видимо проспали этот момент.))

rlx20.06.2011 20:12

https://docs.mql4.com/ru/constants/special

EMPTY_VALUE == 0x7FFFFFFF ---- целое число 2147483647.

ИМХО может.

 

Привет всем, помогите новичку...

хочу тралить все ордера, например sell - а тралится только последний и в журнале выдает ошибку 1 - attempts to replace the values already set with the same values (понятно что эксперт опять пытается установить те же значения последнему ордеру)

Как заставить его перейти к следующему и его модифицировать... подскажите...

//+------------------------------------------------------------------+
//| Check Trall Sell                                                 |
//+------------------------------------------------------------------+
void  Check_TR_Sell()  
{
  int orders = OrdersTotal();  
  for (int i=0; i<orders; i++) 
  {
    if (OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderMagicNumber()==MAGIC) 
      {
       if (OrderOpenPrice()-Ask > Trall * Point && OrderStopLoss() > Ask+(Trall+DeltaTrall-1) * Point) 
        {
         OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(Ask+Trall * Point, Digits), OrderTakeProfit(), 0, Gold);
         continue;            
        }
      }   
  }  
}
  
 
Abylhat:

Привет всем, помогите новичку...

хочу тралить все ордера, например sell - а тралится только последний и в журнале выдает ошибку 1 - attempts to replace the values already set with the same values (понятно что эксперт опять пытается установить те же значения последнему ордеру)

Как заставить его перейти к следующему и его модифицировать... подскажите...

После for (int i=0; i<orders; i++)
{

нужно выбрать ордер через OrderSelect

 

После for (int i=0; i<orders; i++)
{

нужно выбрать ордер через OrderSelect


Спасиб, rlx - все заработало, вот я туплю... в других функциях так и написано, а тут пропустил,

ну новичек - что тут скажешь...

Большое спасибо...

 

Всем доброго времени суток!

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

 
demlin:

Всем доброго времени суток!

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


Смотри в прицепе - там целая библиотека тралов от Юрия Дзюбана - посмотри - разберешься. Особое внимание обрати на параметр в ф-иях

trlinloss - тралить ли в зоне убытков и его отработку в виде кода - прям с первой ф-ии трала (по фракталам) и смотрите как это организовывать - трал только при выходе в профит, там сложного ничего нет.

Файлы:
 
peshihod:


В продолжение темы.

Чтобы научиться, нужна практика.

Сделайте следующее в торговом терминале:
1.Должен быть открыт учебный счет.
Данные счета занести в торговый терминал: Файл->Логин->...
2.Использовать открытый график или открыть новый:Файл->Новый_график->...
3.Установить максимум в: Сервис->Настройки->Графики->Макс.баров_истории->250000
4.Установить минутный таймфрейм: Графики->Период->M1_Одна_минута
5.Сделать обновление: Графики->Обновление
6.Открыть тестер стратегий: Вид->Тестер_стратегий
Все прочие окна закрыть(свернуть), оставить одно окно с графиком и окно с тестером.
------------------
Далее в тестере в настройках:
7.Символ: Выбираем тот символ, график которого открыт.
8.Модель:По ценам открытия(.....)
<<<Эту модель использовать до тех пор пока нет в программе функции OrderSend().>>>
9.Использовать дату: поставить галочку.
Дата: _От:<Вчерашний день(кроме сбб и вск)>, _до:Сегодня
10.Визуализация: убрать галочку если есть.
11.Период: M1
12.Оптимизация: убрать галочку если есть.
---------------------
Дальше открыть MetaEditor:
13.В торговом терминале в меню:Сервис->Редактор_MetaQuotes_Language
14.Пишем программу, например:
//=====================

//=============================

15.В MetaEditor в меню:Файл->Сохранить_как : задаем имя файла, сохраняем расширение .mq4, Папка должна быть 'experts'.
16.В MetaEditor в меню: Файл->Компилировать
---------------------------------------
Далее в тестере в настройках:
17.Советник: находим и выбираем имя файла программы.
18.Нажать кнопку 'Старт' кликом мышки.
19.В тестере->журнал
Видим результат работы программы по сообщениям Print()
-----------------------------------------
Для более удобного просмотра:
20. На любой строчке из журнала нажимаем правой кнопкой мыши->Открыть
При этом откроется папка logs с файлом типа *.log который можно открыть при помощи любого текстового редактора, Блокнот, Word и т.п.

PS
Если файл слишком велик и ни один текстовый редактор не может его открыть, тогда следует удалить этот файл средствами Windows, и запустить программу кнопкой 'Старт' из торгового терминала заново. Папка Тестера: "...\Каталог_Установки\tester\logs", не перепутать с другой: "...\Каталог_Установки\logs"

PPS
Чтобы научится программировать, нужен компилятор языка программирования, который превращает текстовое написание нужных действий "программу"( удобоваримую для человека), в язык машинных команд -- понятных компьютеру. Не имея практики невозможно научиться. Mql4 не создаёт отдельных программ, *.mq4 превращается в *.ex4, который запускается из програмной оболоки.
*.ex4 нельзя запускать напрямую, выше описанный алгоритм позволяет обойти этот момент.

 
Roman.:


Смотри в прицепе - там целая библиотека тралов от Юрия Дзюбана - посмотри - разберешься. Особое внимание обрати на параметр в ф-иях

trlinloss - тралить ли в зоне убытков и его отработку в виде кода - прям с первой ф-ии трала (по фракталам) и смотрите как это организовывать - трал только при выходе в профит, там сложного ничего нет.

Благодарствуйте )))
 

Всем  привет, прошу опытных трейдеров помочь  в вопросе правильной оптимизации эксперта.    Я написал эксперт на двух скользящих. На первом этапе зафиксировал период длинной скользящей и меняя величину периода скользящей с  малым периодом нашел оптимальные периоды скользящих по максимуму прибыли. Получил прибыльность менее 1.5, а просадку в пределах 10-ти процентов. Протестировал на этих параметрах следующий временной интервал и получил за год порядка 70-ти процентов прибыли, но с большими просадками. Очевидно работать с просадками в 10 поцентов нельзя. сольешь весь счет. На втором этапе ввел индикатор АДХ для контроля скорости изменения тренда, усредненые скользящие и контроль за уровнями цен открытия ордеров на разных типах трендов. В результате оптимизации получил прибыльность не хуже 3.5 и просадку не более 3-х процентов. При тестировании на оптимальных параметрах получил: полное отсутствие сделок на очень хороших оптимальных параметрах и слив счета на оптимальных параметрах похуже. Как я понял, у меня получилась подгонка параметров эксперта под статистические параметры цены. Я просмотрел в Кодобазе  десятка два экспертов, просмотрел опубликованные статьи, в свое время прочел по трейдингу ряд книг и везде отсутствует вопрос о правильной методике оптимизации эксперта. Проблема: как найти "золотую середину" между оптимизацией параметров и их подгонкой на конкретном временном интервале? Может быть кто-то знает нужный сайт, статью или просто поделится своим практическим опытом в решении этого вопроса?

                                         Спасибо за внимание, надеюсь на Вашу помощь. 

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