Помощь в кодировании - страница 359

 
apprentice coder:
Как я могу отсортировать закрытые ордера (со всей их информацией) в порядке убывания времени закрытия?

Вы должны создать двумерный массив, который будет заполнен временем закрытия и номерами билетов, а затем отсортировать его. Но поскольку metatrader не может сортировать двухмерные и более массивы, вы также должны иметь пользовательскую процедуру сортировки для этого двухмерного массива (подойдет любой алгоритм сортировки: я предполагаю, что у вас не будет тысяч закрытых ордеров).

 
mladen:
Нужно создать двумерный массив, который будет заполнен временем закрытия и номерами билетов, а затем отсортировать его. Но поскольку metatrader не может сортировать двухмерные и более массивы, вы также должны иметь пользовательскую процедуру сортировки для этого двухмерного массива (подойдет любой алгоритм сортировки: я предполагаю, что у вас не будет тысяч закрытых ордеров).

Есть ли пример такой функции сортировки?

 

Привет, Младен и Мастеркэш,

Я действительно заставил работать и оригинал, и обновление Младена... но я не делал ничего особенного... просто использовал настройки по умолчанию, как я сказал ранее... (использую билд 670, если это поможет).

И пересмотренный фрагмент проверки Младена, похоже, работает... с ограничением 1 сделки на текущем баре...

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

Вот что я увидел... в качестве примера...

Обе версии запускают сделку (например, на покупку)... но условие сделки на покупку, похоже, никогда не снимается... и он продолжает торговать тем же условием на покупку... даже после того, как условие (пересечение) меняется на продажу...

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

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

Надеюсь, это поможет вам обоим,

Роберт

PS - В целях тестирования.... я сократил торговые условия только до пересечения EMA... чтобы было проще и быстрее увидеть, как работают сделки. Я не проверял, вызывают ли другие торговые условия какие-либо проблемы, однако... но пересечения EMA дали мне достаточно сделок, чтобы увидеть, как работает этот советник (как объяснено выше)...

 

Mastercash и Mladen....

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

Вы можете ясно видеть "все покупки" и "все продажи"...

Я не совсем понимаю блок торгового кода и почему он всегда возвращает (-1)... но что-то сохраняет торговое условие неизменным...

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

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

Роберт

 

Cosmiclifeform

это был мой опыт с шаблоном.... тот, который отредактировал mladen, даже не торгует вообще на моем графике.

cosmiclifeform:
Mastercash и Mladen....

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

Вы можете ясно видеть "все покупки" и "все продажи"...

Я не совсем понимаю блок торгового кода и почему он всегда возвращает (-1)... но что-то сохраняет торговое условие неизменным...

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

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

Роберт

 
Mastercash:
Cosmiclifeform это был мой опыт с шаблоном.... тот который отредактировал mladen вообще не торгует на моем графике.

И на моих тестах ни одна из версий не торгует. Ни оригинальная, ни измененная (я обычно использую 1 минуту EURUSD для быстрых тестов, и он не открывал никаких ордеров на ней - никаких сообщений об ошибках, никаких предупреждений. никаких открытых ордеров вообще, независимо от версии, которую я использовал).

Ребята, этот советник только что показал мне, что компилятор metatrader имеет больше ошибок, чем я думал: проверьте строки с 39 по 49 - они там бессмысленные, совершенно бессмысленные (вызов iMA() вне тела любой функции является чем угодно, только не нормальным - и компилятор не выдал никакого предупреждения вообще).

_______________________________

Если код из этих строк перенести в функцию check_signal(), то это откроет и длинные и короткие позиции :):):).

 

Результаты при переносе этих строк в функцию check_signal():

Когда эти строки перемещаются в ту же функцию в оригинальном советнике, он также начинает торговать.

Это советник, протестированный на примере выше: nicetrader_1.02.mq4

Файлы:
 

Младен,

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

mladen:
Mastercash

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

А версия, которую вы выложили, вообще торговала?
Файлы:
nicetrader.mq4  26 kb
 
Mastercash:
Младен, оригинал, который я отправил, был для заключения сделок, но если он вводит сделку, скажем, покупку по EURUSD, он будет продолжать брать эту покупку по EURUSD, даже когда условие покупки закончится.....Это снова прикреплено ниже.

Mastercash

Это не тот, который был размещен здесь: https: //www.mql5.com/en/forum/174385/page239 (проверьте его и вы увидите, что они разные - в том, который вы разместили там, нет закомментированной части кода).

В любом случае, используйте этот или тот, который я разместил в сообщении до вашего сообщения, и он должен открыть все позиции - длинные и короткие: nicetrader-original.mq4

Файлы:
 

Младен,

Если мы сможем заставить этот шаблон работать правильно, многие из нас будут иметь готовый шаблон для работы нашей ea в новом билде mt4.

mladen:
Mastercash

Это не тот, который был опубликован здесь: https: //www.mql5.com/en/forum/174385/page239 (проверьте его и вы увидите, что они разные - нет закомментированной части кода в том, который вы опубликовали там).

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