Я ,как обычно, с оформительскими пожеланиями. Хорошо бы сделать, чтобы при открытии , графики автоматически становились бы в положение "смещение графика" т.е. ,чтобы сразу был виден конец графика .
Думаю это несложно. Особенно это было бы удобно, когда на экран выводится группа графиков.
Думаю это несложно. Особенно это было бы удобно, когда на экран выводится группа графиков.
Как насчет неточной отрисовки гистограммы "наложенной" на бары, иногда барывыглядывают на 1 пиксел из под гистограммы, раньше (до 170) было все ок.
//+------------------------------------------------------------------+ //| SM Bars With MFI.mq4 | //| Copyright © 2005, smazovec developer | //| smazovec@mail.ru | //+------------------------------------------------------------------+ //| For SM Bars With MFI we recommend next chart settings ( press F8 | //| or select on menu 'Charts'->'Properties...'): | //| - On 'Common' Tab disable 'Chart on Foreground' checkbox | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, smazovec developer" #property link "smazovec@mail.ru" double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double tmpMFIBuffer[]; double tmpVolumeBuffer[]; // 1. Custom indicator initialization function int init() { // Indicators style SetIndexStyle(0, DRAW_HISTOGRAM, 0, 1, Lime); SetIndexStyle(1, DRAW_HISTOGRAM, 0, 1, Pink); SetIndexStyle(2, DRAW_HISTOGRAM, 0, 1, Blue); SetIndexStyle(3, DRAW_HISTOGRAM, 0, 1, SaddleBrown); // Indicator buffers mapping SetIndexBuffer(0, ExtMapBuffer1); SetIndexBuffer(1, ExtMapBuffer2); SetIndexBuffer(2, ExtMapBuffer3); SetIndexBuffer(3, ExtMapBuffer4); return(0); } // 2. Custom indicator iteration function int start() { double curVolume, prvVolume, curMFI, prvMFI; // Рассчитаем индикатор for(int i = 0; i < Bars; i++) { curVolume = Volume[i]; prvVolume = Volume[i+1]; curMFI = iBWMFI(NULL, 0, i); prvMFI = iBWMFI(NULL, 0, i+1); if((curVolume > prvVolume) && (curMFI > prvMFI)) { ExtMapBuffer1[i] = High[i]; ExtMapBuffer2[i] = Low[i]; ExtMapBuffer3[i] = 0; ExtMapBuffer4[i] = 0; } else if((curVolume > prvVolume) && (curMFI < prvMFI)) { ExtMapBuffer2[i] = High[i]; ExtMapBuffer1[i] = Low[i]; ExtMapBuffer3[i] = 0; ExtMapBuffer4[i] = 0; } else if((curVolume < prvVolume) && (curMFI > prvMFI)) { ExtMapBuffer3[i] = High[i]; ExtMapBuffer4[i] = Low[i]; ExtMapBuffer1[i] = 0; ExtMapBuffer2[i] = 0; } else if((curVolume < prvVolume) && (curMFI < prvMFI)) { ExtMapBuffer4[i] = High[i]; ExtMapBuffer3[i] = Low[i]; ExtMapBuffer1[i] = 0; ExtMapBuffer2[i] = 0; } } return(0); } // End. Thank you for nothing!
Если переключаться между счетами в момент просмотра и модификации ордеров (у меня вероятность попадания 99%, поскольку таймауты стоят между командами), то AccountNumber() возвращает номер предыдущего счета (с которого переключились).
В результате происходит попытка на новом аккаунте модифицировать ордера старого аккаунта. Ну что, после каждой строчки в скрипте рефреши вызывать?
В результате происходит попытка на новом аккаунте модифицировать ордера старого аккаунта. Ну что, после каждой строчки в скрипте рефреши вызывать?
int Acc = AccountNumber(); ............................. for(int i = 0; i < count; i++) { ....................... if (ot == OP_BUY) { ........................ if (MathAbs(osl - nsl) > 2*(Ask-Bid)) { WaitOrderTimeOut(); if (Acc == AccountNumber()) <=== не помогает OrderModify(OrderTicket(),Ask,nsl,OrderTakeProfit(),0); } } ............................... }
И если для модификации ордеров наверное можно выкрутиться с помощью тикетов, то с открытием позиции сложнее. У меня было несколько случаев, когда сигнал эксперта на одном счете при переключении срабатывал на другом счете.
И еще напоминаю про невозможность определить разрешена ли торговля на сервере.
Установил ... посмотрел.
А вот эту штуку не нашел :
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стетмент
Где смотреть и как использовать ?
А вот эту штуку не нашел :
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стетмент
Где смотреть и как использовать ?
Установил ... посмотрел.
А вот эту штуку не нашел :
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стетмент
Где смотреть и как использовать ?
А вот эту штуку не нашел :
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стетмент
Где смотреть и как использовать ?
Вызываешь окно "Настройки" - там увидишь закладку "Публикации" ("Publish").
Установил ... посмотрел.
А вот эту штуку не нашел :
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стетмент
Где смотреть и как использовать ?
А вот эту штуку не нашел :
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стетмент
Где смотреть и как использовать ?
Вызываешь окно "Настройки" - там увидишь закладку "Публикации" ("Publish").
Круто !
Спасибо что направили по адресу ...
Заметил удивительную вещь (для меня) - оказывается формируются не все бары. На минутках во всяком случае.
Так и должно быть или это бага версии 173?
У бара стоит время 1:28, а у следующего 1:32
Так и должно быть или это бага версии 173?
У бара стоит время 1:28, а у следующего 1:32
Заметил удивительную вещь (для меня) - оказывается формируются не все бары. На минутках во всяком случае.
Так и должно быть или это бага версии 173?
У бара стоит время 1:28, а у следующего 1:32
Так и должно быть или это бага версии 173?
У бара стоит время 1:28, а у следующего 1:32
тики приходят не обязательно каждую минуту - отсюда и пропуски
Заметил удивительную вещь (для меня) - оказывается формируются не все бары. На минутках во всяком случае.
Так и должно быть или это бага версии 173?
У бара стоит время 1:28, а у следующего 1:32
Так и должно быть или это бага версии 173?
У бара стоит время 1:28, а у следующего 1:32
Ночью котировки очень редкие - поэтому в это время бывают пропуски.
значения АДХ на графике и в вызовах функций отличаются.
интересно, как с другими индикаторами?
интересно, как с другими индикаторами?
for (shift=limit;shift>=0;shift--,limit--) { adx1=iADX(NULL,0,adx,MODE_CLOSE,MODE_MAIN,shift+sh); adx2=iADX(NULL,0,adx,MODE_CLOSE,MODE_MAIN,shift+sh+1); adxp1=iADX(NULL,0,adx,MODE_CLOSE,MODE_PLUSDI,shift+sh); adxp2=iADX(NULL,0,adx,MODE_CLOSE,MODE_PLUSDI,shift+sh+1); adxm1=iADX(NULL,0,adx,MODE_CLOSE,MODE_MINUSDI,shift+sh); adxm2=iADX(NULL,0,adx,MODE_CLOSE,MODE_MINUSDI,shift+sh+1); Print(adx1," ",adx2," ",adxp1," ",adxp2," ",adxm1," ",adxm2);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Исправлена отрисовка графических объектов при переключении таймфреймов;
2. Исправлен экспорт котировок по DDE.
3. Добавлена вкладка Publish - теперь легко можно в рилтайме публиковать свой стейтмент
4. В распечатке чартов добавлено текущее время