Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 704
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В советнике вот такой код (лонг после растущей свечи, закрытие позиции после снижающейся свечи):
{
printf("Сигнал на покупку");
trade.Buy(1);
}
if (PositionsTotal()>0 && Close[1]<Open[1]) trade.PositionClose(Symbol());
trade - объект класса CTrade
Происходит множество сделок (в тестере). Но некоторые сделки выполняются по нереальным ценам.
Например, при текущей цене 131540, максимуме свечи 131630, покупка происходит по цене 134570.
Записи в логе:
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 Сигнал на покупку
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 exchange buy 1.00 RTS-6.13 at 134570 (131540 / 134570 / 131540)
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 deal #6 buy 1.00 RTS-6.13 at 134570 done (based on order #6)
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 deal performed [#6 buy 1.00 RTS-6.13 at 134570]
2016.12.18 05:27:03.087 Core 1 2013.04.22 10:01:00 order performed buy 1.00 at 134570 [#6 buy 1.00 RTS-6.13 at 134570]
2016.12.18 05:27:03.087 Core 1 2013.04.22 10:01:00 CTrade::OrderSend: exchange buy 1.00 RTS-6.13 [done]
Почему такое происходит? откуда берется левая цена (134570 в данном случае)? Подавляющее большинство сделок происходит по нормальным ценам, но одна из 20-30 сделок - по каким-то левым ценам. На графике такие сделки тоже отображаются сильно выше свечи.
В советнике вот такой код (лонг после растущей свечи, закрытие позиции после снижающейся свечи):
{
printf("Сигнал на покупку");
trade.Buy(1);
}
if (PositionsTotal()>0 && Close[1]<Open[1]) trade.PositionClose(Symbol());
trade - объект класса CTrade
Происходит множество сделок (в тестере). Но некоторые сделки выполняются по нереальным ценам.
Например, при текущей цене 131540, максимуме свечи 131630, покупка происходит по цене 134570.
Записи в логе:
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 Сигнал на покупку
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 exchange buy 1.00 RTS-6.13 at 134570 (131540 / 134570 / 131540)
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 deal #6 buy 1.00 RTS-6.13 at 134570 done (based on order #6)
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 deal performed [#6 buy 1.00 RTS-6.13 at 134570]
2016.12.18 05:27:03.087 Core 1 2013.04.22 10:01:00 order performed buy 1.00 at 134570 [#6 buy 1.00 RTS-6.13 at 134570]
2016.12.18 05:27:03.087 Core 1 2013.04.22 10:01:00 CTrade::OrderSend: exchange buy 1.00 RTS-6.13 [done]
Почему такое происходит? откуда берется левая цена (134570 в данном случае)? Подавляющее большинство сделок происходит по нормальным ценам, но одна из 20-30 сделок - по каким-то левым ценам. На графике такие сделки тоже отображаются сильно выше свечи.
П Включите показ цены ask. Так как покупки открываются по ask, а свечки стояться по цене bid.
Как? И причем здесь ask, если котировок таких на истории даже близко не было?
Вы уверены? Сервер демо или реал? Распринтовывали тиковую историю с 10:00:30 по 10:01:30?
Добавлено:
хотя я сомневаюсь в корректности истории, которой ТРИ года:
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 exchange buy 1.00 RTS-6.13 at 134570 (131540 / 134570 / 131540)
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 deal #6 buy 1.00 RTS-6.13 at 134570 done (based on order #6)
2016.12.18 05:27:03.086 Core 1 2013.04.22 10:01:00 deal performed [#6 buy 1.00 RTS-6.13 at 134570]
2016.12.18 05:27:03.087 Core 1 2013.04.22 10:01:00 order performed buy 1.00 at 134570 [#6 buy 1.00 RTS-6.13 at 134570]
2016.12.18 05:27:03.087 Core 1 2013.04.22 10:01:00 CTrade::OrderSend: exchange buy 1.00 RTS-6.13 [done]
Всем привет. Подскажите пожалуйста что здесь не так?
double RedLine = iCustom (Symbol(), 0, Forexofftrend3, CountBars, SSP, Kmin, Kmax, 0, 0);
при компиляции пишет Forexofftrend3 - undeclared identifier.
И так при любом вызываемом идикаторе.
Всем привет. Подскажите пожалуйста что здесь не так?
double RedLine = iCustom (Symbol(), 0, Forexofftrend3, CountBars, SSP, Kmin, Kmax, 0, 0);
при компиляции пишет Forexofftrend3 - undeclared identifier.
И так при любом вызываемом идикаторе.
Включите показ цены ask. Так как покупки открываются по ask, а свечки стояться по цене bid.
Вы были правы.
Сделал распринтовку цены ask - она выше на 3030 пунктов, чем bid/ask.
Причем на большей части истории - 10 пунктов (реальный шаг цены этого инструмента), а на части истории - поднимается до 3030 пунктов (в 18:44 в нижеприведенной распринтовке).
Как это изменить?
FJ 0 13:13:23.758 Core 1 2013.04.19 18:43:57 Last 128966.000000 Bid 128966.000000 Ask 128996.000000
CO 0 13:13:23.758 Core 1 2013.04.19 18:43:57 Last 128967.000000 Bid 128967.000000 Ask 128997.000000
CL 0 13:13:23.758 Core 1 2013.04.19 18:43:58 Last 128966.000000 Bid 128966.000000 Ask 128996.000000
OQ 0 13:13:23.758 Core 1 2013.04.19 18:43:58 Last 128968.000000 Bid 128968.000000 Ask 128998.000000
HF 0 13:13:23.758 Core 1 2013.04.19 18:43:58 Last 128967.000000 Bid 128967.000000 Ask 128997.000000
KK 0 13:13:23.758 Core 1 2013.04.19 18:43:58 Last 128968.000000 Bid 128968.000000 Ask 128998.000000
LO 0 13:13:23.758 Core 1 2013.04.19 18:43:58 Last 128967.000000 Bid 128967.000000 Ask 128997.000000
GL 0 13:13:23.758 Core 1 2013.04.19 18:43:58 Last 128968.000000 Bid 128968.000000 Ask 128998.000000
OQ 0 13:13:23.758 Core 1 2013.04.19 18:43:59 Last 128967.000000 Bid 128967.000000 Ask 128997.000000
DF 0 13:13:23.758 Core 1 2013.04.19 18:43:59 Last 128968.000000 Bid 128968.000000 Ask 128998.000000
CK 0 13:13:23.758 Core 1 2013.04.19 18:43:59 Last 128967.000000 Bid 128967.000000 Ask 128997.000000
GH 0 13:13:23.758 Core 1 2013.04.19 18:43:59 Last 128970.000000 Bid 128970.000000 Ask 129000.000000
FM 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128970.000000 Bid 128970.000000 Ask 132000.000000
CR 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128971.000000 Bid 128971.000000 Ask 132001.000000
RF 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128970.000000 Bid 128970.000000 Ask 132000.000000
OK 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128971.000000 Bid 128971.000000 Ask 132001.000000
NH 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128970.000000 Bid 128970.000000 Ask 132000.000000
NM 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128972.000000 Bid 128972.000000 Ask 132002.000000
IR 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128971.000000 Bid 128971.000000 Ask 132001.000000
JG 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128972.000000 Bid 128972.000000 Ask 132002.000000
ED 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128971.000000 Bid 128971.000000 Ask 132001.000000
EI 0 13:13:23.758 Core 1 2013.04.19 18:44:00 Last 128973.000000 Bid 128973.000000 Ask 132003.000000
Вы были правы.
Сделал распринтовку цены ask - она выше на 3030 пунктов, чем bid/ask.
Причем на большей части истории - 10 пунктов (реальный шаг цены этого инструмента), а на части истории - поднимается до 3030 пунктов (в 18:44 в нижеприведенной распринтовке).
Как это изменить?