Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Докладываю: будучи прикладным программистом, я решил этот вопрос как смог. Тупо запилил свой индикатор свечей.
Может быть это и не лучший выход, но работает. Как говорится, с блекджеком и машками (машки прилагаются там же).
Проблемы:
В зависимости от условия в if сова открывает только buy не глядя на фракталы или совсем ничего не делает. Если б не было ограничения на количество ордеров, то покупала бы на каждом тике вроде. Значение upFr всегда =2147483647 (на каждом баре). При этом на экране "-1" если нет фрактала, если фрактал есть то Value равно какому то значению 1,ХХХХ (1,1182 например).
Как исправить это?
Пробовал другие подобные индюки, картина не меняется.
upd: если прописать какое-нить другое простецкое условие входа типа
PHP:
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_CLOSE,0);
if (Bid>MA_1_t) {
Alert(MA_1_t);
Opn_S=true;
//Cls_B=true;
}
if (Bid<MA_1_t)
{
Opn_B=true;
//Cls_S=true;
}
то на М1 видно, что все нормально работает, а со стрелками никак.
Проблемы:
В зависимости от условия в if сова открывает только buy не глядя на фракталы или совсем ничего не делает. Если б не было ограничения на количество ордеров, то покупала бы на каждом тике вроде. Значение upFr всегда =2147483647 (на каждом баре). При этом на экране "-1" если нет фрактала, если фрактал есть то Value равно какому то значению 1,ХХХХ (1,1182 например).
Как исправить это?
Пробовал другие подобные индюки, картина не меняется.
upd: если прописать какое-нить другое простецкое условие входа типа
PHP:
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_CLOSE,0);
if (Bid>MA_1_t) {
Alert(MA_1_t);
Opn_S=true;
//Cls_B=true;
}
if (Bid<MA_1_t)
{
Opn_B=true;
//Cls_S=true;
}
то на М1 видно, что все нормально работает, а со стрелками никак.
мне надо чтоб в работе одновременно было не более одного ордера. Если в условии входа прописать не стрелочый индюк, а что-нить другое, то сделки нормально открываются по одной, друг за дружкой. Но ради проверки поставил ограничение до 5 ордеров. Все равно, итог печален (при сдвиге =3 одна сделка).
Поставил
extern int rightBars=2;
и сдвиг 2, потом 3. Не помогло.
Здравствуйте, коллеги. Скажите пожалуйста есть ли в MT4 встроенная горячая клавиша чтобы скрывать/показывать линию цены?
За незнанием таковой делаю программно - в торговой панели.
Зачем? Все для того же - убираю с графика то, что мешает его воспринимать. А для спреда у меня семафорчик есть.
Честно, без линии цены чувствуешь себя совсем по-другому - свободнее и спокойнее.
Еще вот такой вопрос: как получить тикет того ордера, на котором щелкнули мышкой?
Объясняю зачем. В процессе торговли я оставляю некоторые ордера в долгую.
Моя торговая панель хранит их список и всячески их игнорирует: не рассчитывает для них суммарный профит, суммарные уровни бу, не закрывает их по кнопке "Закрыть все".
Только вот вставлять номера тикетов в список торговой панели приходится ручками. А хотелось бы добавлять щелчком мыши на ордере, но для этого нужно узнать тикет.
Еще вот такой вопрос: как получить тикет того ордера, на котором щелкнули мышкой?
Объясняю зачем. В процессе торговли я оставляю некоторые ордера в долгую.
Моя торговая панель хранит их список и всячески их игнорирует: не рассчитывает для них суммарный профит, суммарные уровни бу, не закрывает их по кнопке "Закрыть все".
Только вот вставлять номера тикетов в список торговой панели приходится ручками. А хотелось бы добавлять щелчком мыши на ордере, но для этого нужно узнать тикет.
Здравствуйте, коллеги. Скажите пожалуйста есть ли в MT4 встроенная горячая клавиша чтобы скрывать/показывать линию цены?
За незнанием таковой делаю программно - в торговой панели.
Зачем? Все для того же - убираю с графика то, что мешает его воспринимать. А для спреда у меня семафорчик есть.
Честно, без линии цены чувствуешь себя совсем по-другому - свободнее и спокойнее.
Здравствуйте, коллеги. Скажите пожалуйста есть ли в MT4 встроенная горячая клавиша чтобы скрывать/показывать линию цены?
За незнанием таковой делаю программно - в торговой панели.
Зачем? Все для того же - убираю с графика то, что мешает его воспринимать. А для спреда у меня семафорчик есть.
Честно, без линии цены чувствуешь себя совсем по-другому - свободнее и спокойнее.
На основе своего кода сделай скрипт без вызова настроек и назначь ему горячую клавишу.
PS.
А если добавить в код определение - отображена ли линия, тогда можно реализовать переключатель: если линии нет - показать, а при следующем набросе скрипта, если есть линия - скрыть.
Товарищи дорогие, коллеги-программисты!
Вспомните пожалуйста анекдот про Холмса и Ватсона на воздушном шаре и программиста. В отличие от них я спрашиваю ровно то что мне нужно.
Летят Холмс с Ватсоном на воздушном шаре. И спят в полете. Просыпаются над какой-то незнакомой землей, видят - внизу какой-то хрен коров пасет.
Снизились они и спрашивают мужика:
- Скажите, сэр, где мы находимся?
- На воздушном шаре.
- Спасибо, сэр! - и летят вверх. Холмс задумчиво говорит:
- Интересная местность, Ватсон! Программист пасет коров!
- Холмс, а с чего вы взяли, что он программист?
- Это элементарно! Во-первых, он долго думал над ответом. Во-вторых, его ответ был абсолютно точен. И в третьих - абсолютно бесполезен!
По нажатию кнопки открытия ордера торговая панель отображает обе линии цены на экране, запрашивает разрешение на открытие ордера, а после ответа - опять скрывает их. Мне так удобно.
Ордеров я открываю бывает и 20 в день. Неужели же каждый раз лазить на вторую вкладку свойства графика чтобы ставить, а потом обратно снимать галку линии Ask?
Все чем я часто пользуюсь - я имею по клику на своей торговой панели. У меня даже отдельные индикаторы включаются и выключаются на графике по нажатию кнопок - потому что так быстро и удобно.
И Вам всем желаю столько удобства, сколько захотите именно Вы :embrace:
Это я плотно использую. Но как в этой процедуре вычислить что клик был по конкретному ордеру и получить его тикет?
Вот вопрос.
Возможно, я воспользуюсь CHARTEVENT_OBJECT_CLICK, предварительно установив графические объекты рядом с ценами открытия ордеров. Я уже думал над таким костылем.
Ордеров я открываю бывает и 20 в день. Неужели же каждый раз лазить на вторую вкладку свойства графика чтобы ставить, а потом обратно снимать галку линии Ask?
Все чем я часто пользуюсь - я имею по клику на своей торговой панели. У меня даже отдельные индикаторы включаются и выключаются на графике по нажатию кнопок - потому что так быстро и удобно.
И Вам всем желаю столько удобства, сколько захотите именно Вы :embrace:
Если бы дело было только в ASK, то F8 - галка и всё. Вкладка открывается та, на которой в последний раз был. Т.е. получается очень быстро, а вот BID так не убрать, это понятно.
Подскажи, плз, откуда эта панель? Самопись какая-то? Был бы исходник - мы там наворотим всё, что хошь
Это моя торговая панель. Я ее засветил чтобы показать, что там есть фичи на все частые случаи моей торговой жизни.
Не распространяю нигде. Не хочу допустить чтобы обращались с просьбами что-то допилить. Мне запросов пользователей и по работе хватает, тысячи их (в буквальном смысле - тысячи пользователей).
Это моя торговая панель. Я ее засветил чтобы показать, что там есть фичи на все частые случаи моей торговой жизни.
Не распространяю нигде. Не хочу допустить чтобы обращались с просьбами что-то допилить. Мне запросов пользователей и по работе хватает, тысячи их (в буквальном смысле - тысячи пользователей).
Был бы ответ на вопрос - я бы сам наворотил все что хочу. Стаж больше 20 лет.
Благодарю высказавших свое мнение по вопросу отображения линии цены, а особенно - mobidik, который подал идею назначить скрипту горячую клавишу.
Рассказываю как я решил вопрос по нажатию клавиши "P". Легко и удобно!
Код:
#import "user32.dll"
int RegisterWindowMessageW(string a0);
#import
void [B][COLOR="navy"]OnChartEvent[/COLOR][/B](const int id, const long &lparam,
const double &dparam, const string &sparam)
{
if (id==CHARTEVENT_KEYDOWN)
{
//P key pressed
if (int(lparam)==80)
{
ShowHidePriceLine(!PriceLinesVisible());
SendTick();
}
}
}
void [B][COLOR="navy"]ShowHidePriceLine[/COLOR][/B](bool aShow)
{
ChartSetInteger(0,CHART_SHOW_BID_LINE,0,aShow);
ChartSetInteger(0,CHART_SHOW_ASK_LINE,0,aShow);
}
bool [B][COLOR="navy"]PriceLinesVisible[/COLOR][/B]()
{
return(ChartGetInteger(0,CHART_SHOW_BID_LINE,0)==true);
}
// обновляет индикацию, немедленно эмулируя тик
// особенно полезно в оффлайне
void [B][COLOR="navy"]SendTick[/COLOR][/B]() {
int message =
RegisterWindowMessageW("MetaTrader4_Internal_Message");
int hwd = WindowHandle(Symbol(), Period());
PostMessageW(hwd, message, 2, 1);
}
Мечтаю управлять компьютером с помощью мысли.
Тогда даже клавишу нажимать не придется