Добавление цвета к индикатору - страница 3

 
mrchuckw:


Вот как выглядит ваша ea после того, как я поиграл с ней. Подскажите, пожалуйста, как поставить квадрат на прямую линию. ?

Спасибо

Просто установите значения этих переменных на 0 ....

if(Down.5.0) AshiRed[shift] = 0 ;
if(Up.5.0) AshiWhite[shift] = 0 ;
 
Хорошо... Я сделал это, теперь ничего не отображается. Я пробовал вводить число... например 1.43851 (текущая цена), и оно выводит его на прямую линию, но только для начала, потом оно снова начинает прыгать. И я не могу понять, как получить вторую линию там.... любые идеи.
 

этот фрактал инди может помочь.

Файлы:
 
mrchuckw:
Хорошо... Я сделал это, теперь ничего не отображается. Я пробовал вводить число... например 1.43851 (текущая цена), и оно выводит его на прямую линию, но только для начала, потом оно снова начинает прыгать. И я не могу понять, как получить вторую линию там.... любые идеи.
Проблема в том, что отдельное окно автоматически масштабируется для данных, которые отображаются в данный момент. Я не уверен в лучшем способе исправить это.... Я знаю, что будет работать, создайте 2 новых буфера для квадратов без цвета, установите их значения для столбцов 0 и 1 на 1 и -1 соответственно ... затем установите значения для буферов красного и белого квадратов на 0 ... .
 
19730719:

что-то вроде этого

int    iSquare=110;
double dGap=10*Point
int init()
  1. не хватает точки с запятой после точки.
  2. Глобальные переменные могут быть инициализированы только константами. Необходимо инициализировать внутри init()
  3. Советники и индикаторы должны настраивать 4/5-значных брокеров. 10*Point - это 10 пунктов на 4-х значном брокере и 1 пункт на 5-ти - разрыв кода.
    //++++ These are adjusted for 5 digit brokers.
    int     pips2points;    // slippage  3 pips    3=points    30=points
    double  pips2dbl;       // Stoploss 15 pips    0.0015      0.00150
    int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
    int     init(){
        if (Digits == 5 || Digits == 3){    // Adjust for five (5) digit brokers.
                    pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
        } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
        // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
    

  4. Не понимаю, зачем нужен квадрат, если можно использовать два разных символа, например 225/226, 241/241, 67/68, 71/72.
  5.     if ( counted_bars > 0 ) {counted_bars--;          // Last bar will be recounted
        }    
        int limit = Bars - counted_bars;
        for (int shift = limit; shift >=0 ; shift--)      // Paint bars going from left to right . . 
    
    Ограничение - Bars - 1 - counted_bars, т.е. при первом counted==0 вы делаете цикл от Bars - 1...zero. Декременты не нужны.
 
RaptorUK:
Проблема в том, что отдельное окно автоматически масштабируется для данных, которые отображаются в данный момент. Я не уверен в лучшем способе исправить это.... Я знаю, что будет работать, создайте 2 новых буфера для квадратов без цвета, установите их значения для бара 0 и бара 1 на 1 и -1 соответственно ... затем установите значения для буферов красных и белых квадратов на 0 ....

Я все еще читаю о буферах. Это совершенно новое для меня, поэтому я немного затягиваю.

То, что у меня есть на данный момент (индикатор в отдельном окне), начинает работать, но я не могу преодолеть этот блок.

Мне нужен цвет 5-минутного графика в виде маленького квадрата на прямой линии... в отдельном окне индикатора.

Я не могу заставить белый и красный цвета отображаться на одной линии. Затем я хочу перейти к цвету 15-минутного графика на следующей линии.

Я нахожусь в ментальном блоке или что-то в этом роде.

Есть идеи... кроме индикаторного буфера... который мне нужно когда-нибудь освоить.

Файлы:
ashi-2.mq4  3 kb
 
mrchuckw:

Я все еще читаю о буферах. Для меня это совершенно ново, поэтому я немного медлю.


Это поможет: https://book.mql4.com/samples/icustom
 
mrchuckw:

Я нахожусь в ментальном блоке или что-то в этом роде.

Есть идеи... кроме индикаторного буфера... который мне нужно когда-нибудь изучить.

Попробуйте это... но, пожалуйста, используйте это для обучения, я прокомментировал, что я добавил или изменил, распечатайте это, распечатайте свою версию 2 и сравните их бок о бок... изучайте, понимайте, практикуйте - это единственный способ научиться....

Если у вас есть вопросы о том, почему я сделал то, что сделал, пожалуйста, спрашивайте, и я объясню.

Файлы:
ashi-2.1.mq4  4 kb
 
Вам нужно будет установить цвет для 5-го и 6-го буферов в соответствии с цветом фона вашего графика.
 
RaptorUK:

Попробуйте это... но, пожалуйста, используйте это для обучения, я прокомментировал, что я добавил или изменил, распечатайте это, распечатайте свою версию 2 и сравните их бок о бок... изучайте, понимайте, практикуйте - это единственный способ научиться....

Если у вас есть вопросы о том, почему я сделал то, что сделал, пожалуйста, спрашивайте, и я объясню.

Это прекрасно. Спасибо вам большое. Он делает именно то, что я хотел. Я поиграл с ним, немного передвинул линии и добавил больше таймфреймов.

Единственное, что.... Я не могу получить больше 4 линий. Убрал верхнюю и нижнюю, которые вы добавили, и у меня есть 5 мин, 15 мин, 30 мин и 60 мин. Хотелось бы добавить 240 (4 часа), но это не так критично.

Мне понравились верхняя и нижняя линии... они центрируют другие гораздо лучше, но я пожертвовал ими, чтобы получить другие линии.

И еще... как сделать так, чтобы индикатор перерисовывался так, как будто он загружается в первый раз... 5 мин. и выше двигаются вместе с 1 мин. (график, на котором я использую индикатор), поэтому он выглядит немного перекошенным...

Например... если 1 мин. падает, на графике появляется красный бар для каждого бара вниз. После нескольких красных баров, 5-минутный график тоже покажет несколько красных баров, но он может быть ниже только на 1 бар... Это заставляет вас думать, что 5-минутный график падает дольше, чем на самом деле.

Но это не так важно, потому что для точек входа я смотрю только на текущий бар.

Еще раз, спасибо большое!!!!!