[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 412
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в учебнике по MQL в главе Стандартные функции в разделе Операции с графиками приведена функция WindowHandle со следующим описанием: "… возвращает системный дескриптор окна (window handle), содержащего указанный график".
Вопрос: что означает (что такое) "системный дескриптор окна" и для чего он нужен?
P.S. Чтобы не захламлять форум, заранее благодарю за ответ
в учебнике по MQL в главе Стандартные функции в разделе Операции с графиками приведена функция WindowHandle со следующим описанием: "… возвращает системный дескриптор окна (window handle), содержащего указанный график".
Вопрос: что означает (что такое) "системный дескриптор окна" и для чего он нужен?
P.S. Чтобы не захламлять форум, заранее благодарю за ответ
Ответ:
дескриптор окна - это число
дескриптор окна нужен для последующей работы с окном
здравствуйте! проблема с кодам!!! мне нужно чтобы ордера открывались по очереди sell, bay, sell и т.д. но чтобы подсчет велся в течений дня, на следующий день по новому, не учитывая последовательность открытия ордеров предыдущего дня! то есть новый день новый цикл! выше код я думаю, что это примерно так должно выглядеть! только вот советник не открывает ни одного ордера! не могу понять в чем дела...подскажите если знаете!!
Так при открытие отложенного ордера задайте время истечения отложенного ордера, скажем 23:59, он сам и закроется.
nt OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
здравствуйте! проблема с кодам!!! мне нужно чтобы ордера открывались по очереди sell, bay, sell и т.д. но чтобы подсчет велся в течений дня, на следующий день по новому, не учитывая последовательность открытия ордеров предыдущего дня! то есть новый день новый цикл! выше код я думаю, что это примерно так должно выглядеть! только вот советник не открывает ни одного ордера! не могу понять в чем дела...подскажите если знаете!!
А почему он должен открывать ордера, особенно если в история пустая. И научитесь код вставлять по человечески, мне не нравится редактировать чужие посты.
Как в этом советнике дополнить
//+------------------------------------------------------------------+
//| CCI.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern double LotTrend = 0.1;
extern int TP=100;
extern int SL=250;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==False)
{
if (Bid>iMA(Symbol(),PERIOD_M15,100,0,1,4,0)
)
{
OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,0,0,Green);
}
if (Bid<iMA(Symbol(),PERIOD_M15,100,0,1,4,0)
)
{
OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,0,0,Green);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
1.Чтобы Сделка открывалась только по закрытию свечи.(Когда цена пересекает SMA)
Здравствуйте! Меня вот волнует один вопрос по индикаторам на MQL4, и никак не могу до конца понять... Например, есть несложный индикатор фракталов:
Если его компилировать в этом виде, то при расширении левой границы графика и подгрузке истории он начинает глючить и показывать метки там, где их быть не должно (см. скрин во вложении). Если закомментировать часть кода:
То такие глюки исчезают... эти же глюки появляются при подгрузке истории, если заполнять только "непустые" элементы индикаторного массива и не обнулять значение индикатора там, где метки нет...
Почему это происходит? Почему, получается, обязательно надо при подгрузке истории пересчитывать весь индикатор? И почему надо обнулять значения "пустых" элементов инд. массива?
Если бы бары индексировались слева направо, то при подгрузке истории индексы баров сменялись бы и индикатор без перерасчёта отображался бы неверно, тогда был бы понятен такой глюк... Но ведь в МТ4 бары индексируются справа налево, значит, при подгрузке истории, индексы тех баров, которые были, должны были остаться теми же (и значения индикатора тоже), тогда зачем перерасчитывать индикатор и откуда берутся эти сдвиги меток?
Коллеги подскажите ответ на следующий вопрос.
Открываю руками 4 ордера на бай, запускаю советник который удаляет установленные ордера по цене бид, проскальзывание поставил 100 пунктов, удаление в цикле, проверка занятости потока и обновление котировок присутствует. Почему ордера не удаляются в цикле все ? по логу видно что удаление идёт за несколько инициализаций функции start()
код советника
вот лог советника:
17:16:59 temp EURUSD,M1: loaded successfully
17:17:51 temp EURUSD,M1: Пришёл новый тик
17:17:51 temp EURUSD,M1: Всего ордеров = 4
17:17:51 temp EURUSD,M1: удаляем ордер = 0 тикет ордера = 2808657
17:17:52 temp EURUSD,M1: close #2808657 buy 1.00 EURUSD at 1.28969 at price 1.28973
17:17:52 temp EURUSD,M1: ошибка=0
17:17:52 temp EURUSD,M1: удаляем ордер = 1 тикет ордера = 2808659
17:17:52 temp EURUSD,M1: close #2808659 buy 1.00 EURUSD at 1.28974 at price 1.28975
17:17:52 temp EURUSD,M1: ошибка=0
17:17:54 temp EURUSD,M1: Пришёл новый тик
17:17:54 temp EURUSD,M1: Всего ордеров = 2
17:17:54 temp EURUSD,M1: удаляем ордер = 0 тикет ордера = 2808658
17:17:54 temp EURUSD,M1: close #2808658 buy 1.00 EURUSD at 1.28969 at price 1.28976
17:17:54 temp EURUSD,M1: ошибка=0
17:17:56 temp EURUSD,M1: Пришёл новый тик
17:17:56 temp EURUSD,M1: Всего ордеров = 1
17:17:56 temp EURUSD,M1: удаляем ордер = 0 тикет ордера = 2808660
17:17:56 temp EURUSD,M1: close #2808660 buy 1.00 EURUSD at 1.28976 at price 1.28977
17:17:56 temp EURUSD,M1: ошибка=0