Информация

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

Close
Авторизация
#121
06 дек 2013, 20:27
Аватар пользователя
Сообщений: 463
Поблагодарили: 28 раз(а) в 23 сообщениях
Зарегистрирован: 26 апр 2011, 13:56
Откуда: Барнаул
Кроме того, таким образом избавился в одном месте от разделения на режим тестирования и торговли. И сделал одинаковый лот для селл и бай. Теперь нужно встроить функцию подсчета открытых ордеров по магику, и убрать тогда:
if ( IsTesting( ) == false)
ВклB = 0; и тому подобное.
4x_trader offline
#122
07 дек 2013, 12:07
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#123
07 дек 2013, 12:27
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Несколько замечаний, которые я ранее не сделал:
- Использование в именах переменных кириллицы, хоть и допускается компилятором, но крайне нежелательно, и не является "хорошим тоном" в программировании. Написание некоторых символов совпадают, но для программ - они разные, поэтому при усложнении кода могут возникнуть проблемы - на глаз ошибок нет, а по факту есть и сразу не найдёшь... Кириллицу лучше оставить только в комментариях.
...
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#124
07 дек 2013, 12:31
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
- Не нужно писать так:
if (IsTesting() == false && Ticket > 0)
Функция IsTesting() возвращает TRUE, если эксперт работает в режиме тестирования, иначе возвращает FALSE, поэтому достаточно писать:
if (!IsTesting() && Ticket > 0)
а для случая тестирования - без отрицания (восклицательного знака):
if (IsTesting()...)
Этого уже достаточно.
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#125
07 дек 2013, 12:35
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
- У тебя нигде в коде, кроме случая тестирования нет селекции ордера перед его закрытием...
Это очень грубая ошибка. Посмотри, как правильно это делать в коде скрипта и функции Закрыть Всё, что я выкладывал выше...
- последняя строка return(0) - вообще за закрывающей скобкой функции start()...
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#126
07 дек 2013, 15:00
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
В условии
if ( ВклB == 1 && OrdersTotal() < OrdTotal && iClose(NULL, 1440, 1) < iOpen(NULL, 1440, 1))
Ты проверяешь общее количество ордеров, включая отложки, на соответствие входному параметру OrdTotal... В случае, если на одном счёте имеются ордера, открытые другим советником или вручную, логика работы нарушится.
То же самое и дальше - роботом не используется Magik, поэтому свои ордера от "чужих" он не отличит...
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#127
07 дек 2013, 15:12
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Нет проверки на соответствие параметров торговых функций торговым условиям и ограничениям, в том числе нет нормализации цен. Всё это может приводить к появлению ошибок при отправке торговых запросов. Нет контроля выполнения запроса и, соответственно, повторных запросов в случае ошибок.
Выставление СЛ/ТП одновременно с открытием позиции возможно только на счетах классик (Instant Execution), поэтому на счёте Маркет он уже работать не будет...
Короче - удивительно, что хотя бы иногда этот робот умудряется торговать. Не надо его модифицировать - переписывай его заново с учётом всех требований к роботу, торгующему на реале, а не в тестере. ;)
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#128
07 дек 2013, 15:24
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Теперь посмотрим на логику...
//----------------------------------------------------------блок БАЙ
if ( ВклB == 1 && OrdersTotal() < OrdTotal && iClose(NULL, 1440, 1) < iOpen(NULL, 1440, 1))// вчерашняя дневка медвежья?
{
double KB = iStochastic(NULL, 1440, PKB, PDB, 3, MODE_SMA, 0, MODE_MAIN, 1);
double DB = iStochastic(NULL, 1440, PKB, PDB, 3, MODE_SMA, 0, MODE_SIGNAL, 1);
double XB = MathPow((200-(KB - DB))/100, (50 - DB)/MathAbs(50 - DB));
}
if ( KB > DB && MathAbs(KB - dKB) > SB )
{
double СЛB = ИсторСЛB *XB *Point;
double ТПB = ИсторТПB *XB *Point;
OrderSend(Symbol(), OP_BUY, Лот, Ask, 3, Ask - СЛB, Ask + ТПB, "SS24", 1, 0);// если условия истинны, то открывем ордер
if ( IsTesting( ) == false) ВклB = 0;
}
Если выполняются такие-то условия, то робот присваивает нескольким переменным значения, А ЕСЛИ НЕ ВЫПОЛНЯЮТСЯ, то не присваивает, но сразу за этим начинает их сравнивать - нелогично, не так ли?)
Всё, на этом заканчиваю копаться в этом эксперте... Нужно переписывать однозначно.
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
#129
07 дек 2013, 15:27
Аватар пользователя
Сообщений: 463
Поблагодарили: 28 раз(а) в 23 сообщениях
Зарегистрирован: 26 апр 2011, 13:56
Откуда: Барнаул
#130
07 дек 2013, 15:35
Аватар пользователя
Сообщений: 463
Поблагодарили: 28 раз(а) в 23 сообщениях
Зарегистрирован: 26 апр 2011, 13:56
Откуда: Барнаул

BBCode ВЫКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ

   

Если Вы не хотите добавлять вложения, оставьте поля пустыми.

Пред.След.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Список форумов

Часовой пояс: UTC + 4 часа (Russia: MSK) по летнему времени Удалить cookies форума

В вашем браузере отключена поддержка cookie. При отключенной поддержке cookie в браузере у вас могут возникнуть проблемы с отображением Личного кабинета. Как включить (активировать) поддержку cookie.