Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме
Страница 5 из 254
Первая ... 4 5 6 15 ... Последняя ◄╝

Показаны сообщения: с 81 по 100 из 5065

Тема: Помогите исправить советник или индикатор

 Перейти в классический вид темы
     
  1. ТОП сообщений
    2018-08-28   08:56
    Лучший ответ #1
     

    Цитата Сообщение от auralmagic Посмотреть сообщение
    ALEXBMW, благодарю Вас безмерно, все что нужно было мне для вставки в мой советник, я увидел в присланном вами примере. Огромное спасибо! Всех Благ!
    Привет. Тестировал своего советника. с мая дал выдающийся результат с 74 баксов +620 дол. Конечно дал я ему нагрузку лот 0,25.
    А вот при тестировании с января при лот 0,07 убил депозит. Пришлось подбирать настройки. Нашлись такие и в результате прошел тест.
    Напомню, о чем я писал раннее:
    Любой советник, дающий потрясающие результаты при одной рыночной ситуации обязательно даст сбой при ее смене.
    И если возникла ситуация, когда советник, написанный и оттестированный собственноручно или приобретенный за хорошие деньги по партнерской ссылке, вдруг слил депозит, неизбежно назревает ряд вопросов:
    а есть ли советники «Святого Грааля»?
    а почему они вообще сливают счет?
    а можно ли вообще доверять советникам?
    При этом мало кому в голову приходит, что советник – вовсе не станок для печатания купюр, а всего лишь торговый алгоритм, созданный людьми.
    В идеале, советник – это просто помощник грамотному трейдеру. И если в тандеме «советник-трейдер» последний лишь включает торговый терминал и выводит прибыль или вводит средства на рынок, этот путь заведомо приведет к краху.
    Для успешной торговли трейдеру необходимо постоянно анализировать состояние рынка и определять, насколько благоприятен рыночный фон для работы того или иного советника. А для этого необходимо понимать принципы его торгового алгоритма, а не просто знать, какую кнопку кликать для его запуска.
    Любой советник – это не панацея, а лишь средство, применяемое в данных конкретных условиях.
    Исходя из анализа, решение о возможности применения советника и корректировке его работы остается в конечном итоге за человеком.

    2018-10-05   18:29
    Лучший ответ #2

    Давно занимаюсь поиском хороших функций или условия для прибыльного входа в рынок. Действительно, согласен с выводами, что при разных рыночных условий, необходимо корректировать настройки. Универсальных настроек не бывает. Но с другой стороны, если во время "врубился" в рыночные условия, как бы и советник не нужен. В результате многих проб и ошибок, пока как бы мне удалось создать как бы прибыльного советника. Но, у разных брокеров, при одних и тех же условий и настроек, данный советник работает по разному. Так что пока в поисках.
    До
    Вложение 2200022
    И После
    Вложение 2200026

    Вложение
    Превью
    2018-06-30   13:44
    Лучший ответ #3
    Накопленные выплаты 133418 RUB

    Бодрого времени ! Интересно MQL5 тоже можно выкладывать ? Нужно в советник добавить возможность установки отложенных ордеров. Т.е после закрытия позиции советник удаляет все отложенные ордера. Это хорошо. Но потом добавить отложку нельзя -советник удаляет. Получается что вход только по рынку.
    Вот такая задача.... что бы после закрытия удалял отложки и была возможность установки других отложек . Надеюсь понятно объяснил

    Вложение
    Превью
    2018-02-28   19:55
    Лучший ответ #4
    Накопленные выплаты 24919 RUB

    Цитата Сообщение от Anubiz Посмотреть сообщение
    Дак ведь сам понимаю, насколько это смешным может выглядеть, но вот уже как лет восемь этой байдой занимаюсь, и уже на восьмом году точно запомнил, где лежат звуковые файлы, где лежат индикаторы, где лежат эксперты и вся остальная...... Но всё же ни как не успокаивает, в чем же может быть причина...?
    Сегодня весь день наблюдал за индикатором... Он реагирует на появление новых точек и их сдвиги. Ни одной не пропустил. Почему у вас не все сигналы отрабатывает мне сказать сложно. Могу поделиться не большим бонусом. По ссылке yandex.disk именованные озвучки к большинству популярных инструментов на МИН, МАКС.

    2018-09-16   18:06
    Лучший ответ #5
     

    А я потихоньку программирую, но редко я эти советники запускаю на реал. Обычно это в феврале- апреле. Но это не главное, то что я их часто штампую. Дело в том, что все мы прекрасно понимаем, что главное в в алгоритме каждого без исключения советника, это правильный вход, который обычно мы "вставляем" в условиях открытия и закрытия ордеров. Вот в этом и проблема. Сколько я не пытался, так и "догнать" не смог какие же загнать условия "грааля" в этот алгоритм.
    Вот одно из условий, открытия ордеров, которое я применял в программировании советника.
    if( Bid>topS && ld_2508>100 && kvs-kv<=ogr && ld_808<ld_2604)
    {
    ticketS=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0," EUS1GR",MagicNumber,0,Red);
    topB=Bid-shag*Point;topS=Ask+shag*Point;
    }
    if( Ask<topB && ld_744-ld_2508<-100 && kv-kvs<=ogr && ld_2604<ld_296 )
    {
    ticketB=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"E UB2GR",MagicNumber,0,Green);
    topB=Bid-shag*Point;topS=Ask+shag*Point;
    }
    Где открытие ордеров через определенный шаг shag - (в настройках), ld_2508 показания CCI по ТФ Н4. ld_2604 и ld_296 MACD ТФ Н4.
    kv- к-во ордеров бай, kvs - к-во ордеров селл. (в настройках ogr)
    При этом ордера BUY открывается в районе минимумов, а ордера SELL, в районе максимумов.
    Написав это, я бы хотел что бы и другие посетители этой темы, написали здесь, - какие условия они используют для вхождения в рынок.
    Вложение 2159093

    Вложение
    Превью
    2021-01-18   13:56
    Лучший ответ #6
    Накопленные выплаты 169750 RUB

    Цитата Сообщение от zxzxz Посмотреть сообщение
    Я думал,что здесь умные люди сидят и глупых вопросов не задают,и таких-же абсурдных ответов не дают...
    Не.. Умные все давно на канарах. А тут остались только жалкие и тупые сборщики бонусов с абсурдными ответами.
    Цитата Сообщение от zxzxz Посмотреть сообщение
    Вопрос был предельно ясен,в какую часть кода вставляют,эту функцию?
    Ответ тоже был предельно ясен.
    Цитата Сообщение от ir0407 Посмотреть сообщение
    В то место кода, где ей будет самое место.
    Цитата Сообщение от zxzxz Посмотреть сообщение
    что тут не понятного и причем здесь телепатия?
    А при том, что...
    С точки зрения банальной эрудиции, каждый здравомыслящий индивидуум, метафизирующий в области ультрарадикальных функций-стракций...
    Другими словами... Сколько людей - столько и "логики", вариантов, стилей написания кода. То, что у вас там может быть, для какой-то функции, какое-то конкретное место - совсем не является фактом того, что у сотен тысяч других программистов найдется точно такое же конкретное место для той же самой функции. Место какой либо функции в коде определяет не ее название(содержание, функционал), а исключительно мнение конкретного программиста, который решает конкретную задачу, согласно конкретного алгоритма и который в конечном счете определяет, где ставить, почему ставить, а может и вообще не использовать ту или иную функцию.
    Цитата Сообщение от zxzxz Посмотреть сообщение
    После формулы окрашивания индикатора или в конец кода? Так как скрипт делиться на несколько частей
    Так у вас там что? Скрипт или все же индикатор? Походу вы даже не разделяете эти понятия, хотя они, в парадигме MQL, кардинально отличны. Вообще же грамотно построенный код(не важно чего, скрипта, индикатора или советника) вообще не должен нуждаться в использовании функции ChartRedraw(). Но могут быть и исключения.
    Цитата Сообщение от zxzxz Посмотреть сообщение
    Так и думал,что простой вопрос будет высмеян и останется без ответа!
    Ответы вам дали. Но вы их не смогли понять.

  2. линк#81
    Частый гость
    anvin приемлемый уровень репутации Аватар для anvin
    Регистрация:
    11.06.2010
    Сообщений:
    110
    Накопленные выплаты (Подробнее):
    1045 RUB
    Поставил(а) лайков:
    5
    Получено лайков:   15
    в 9 сообщениях
    14%
    ПодписатьсяПодписаться
    Подписано 0

    Последний раз редактировалось Gold; 21.10.2014 в 22:37.

  3. post_thanks Получено лайков: 1

    strit25 (16.09.2018)

    Contests
  4. линк#82
    Частый гость
    Timmen стараюсь положительно себя зарекомендовать Аватар для Timmen
    Регистрация:
    12.09.2012
    Пол:
    Мужчина
    Сообщений:
    56
    Накопленные выплаты (Подробнее):
    645 RUB
    Поставил лайков:
    3
    Получено лайков:   34
    в 31 сообщениях
    61%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Shadal Посмотреть сообщение
    Здравствуйте! Интересует вопрос по программированию на МТ5. Как поместив советника на 1 график, обращаться к другим парам? По текущей паре я могу посмотреть позицию и её параметры, а как получить позицию по другой заданной паре и параметры по этой позиции? и Как совершить операцию по другой паре?
    Trade.Buy(0.1,_Symbol) например купит мне 0,1 лот текущего символа.. А Trade.Buy(0.1,"EURUSD") например правильный синтаксис ? Или это както по другому нужно делать?
    Цикл, который перебирает текущие позиции

    MQL-Код:
    
        int total = PositionsTotal();// количество существующих позиций по символам    for(int index = total-1; index>=0; index--)    {        PositionSelect(PositionGetSymbol(index));        // тут можно получать параметры выбранной на текущей итерации позиции        // её символ можно проверить вызвав PositionGetSymbol(index)    } 
    
    
    


  5. post_thanks Получено лайков: 1

    Shadal (15.11.2012)

  6. линк#83
    Свой человек
    Сама доброта
     
    Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Аватар для Shadal
    Регистрация:
    14.12.2011
    Пол:
    Мужчина
    Сообщений:
    565
    Накопленные выплаты (Подробнее):
    3866 RUB
    Поставил лайков:
    1,068
    Получено лайков:   1,132
    в 301 сообщениях
    200%
    ПодписатьсяПодписаться
    Подписано 0
    Вот попытка купить 0,1 EURUSD и продать по 0,1 EURNZD и NZDUSD. Проходит неудачно говорит что неверные символы... Как мне позиционироваться на нужных символах не имея по ним открытых позиций?
    MQL-Код:
    
    #include <Trade/Trade.mqh>input string first_symbol="EURUSD"; // first symbolinput int Style_first =1;   // 1-Buy 0-Sell input string second_symbol="EURNZD"; // second symbolinput int Style_second =0;   // 1-Buy 0-Sell input string fird_symbol="NZDUSD"; // fird symbolinput int Style_fird =0;   // 1-Buy 0-Sell input double Size_Lot = 0.1;  // Lots size//Main position classCTrade *Trade;void OnInit(){ Trade = new CTrade;}void OnDeinit(const int reason){ delete Trade;}void OnTick(){  double Vol = 0.0;  Vol=fmax(Vol,fReturn_Vol(first_symbol)); Vol=fmax(Vol,fReturn_Vol(second_symbol)); Vol=fmax(Vol,fReturn_Vol(fird_symbol));  if(Vol==0.0) fOpen_new();    }//+------------------------------------------------------------------+//| Return_Vol                                                            |//+------------------------------------------------------------------+double fReturn_Vol(string a_symbol){ double Vol1=0.0; if(PositionSelect(a_symbol)) //We have a position {  Vol1 = PositionGetDouble(POSITION_VOLUME); } return Vol1;}//+------------------------------------------------------------------+//| Open_new                                                            |//+------------------------------------------------------------------+void fOpen_new(){ if (Style_first) Trade.Buy(Size_Lot,first_symbol); else Trade.Sell(Size_Lot,first_symbol); if (Style_second) Trade.Buy(Size_Lot,second_symbol); else Trade.Sell(Size_Lot,second_symbol); if (Style_fird) Trade.Buy(Size_Lot,fird_symbol); else Trade.Sell(Size_Lot,fird_symbol);} 
    
    
    


  7. линк#84
    Свой человек
    Сама доброта
     
    Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Аватар для Shadal
    Регистрация:
    14.12.2011
    Пол:
    Мужчина
    Сообщений:
    565
    Накопленные выплаты (Подробнее):
    3866 RUB
    Поставил лайков:
    1,068
    Получено лайков:   1,132
    в 301 сообщениях
    200%
    ПодписатьсяПодписаться
    Подписано 0
    Вроде бы что-то получилось.. Если пишу "EURUSD.m" А не просто "EURUSD" тогда отрабатывает. Пойду дальше мучить МТ5))) ждите новых вопросов. Думаю при тестировании советника в мультивалютном режиме они появятся..


  8. линк#85
    В начале пути
    KLoAF стараюсь положительно себя зарекомендовать Аватар для KLoAF
    Регистрация:
    14.06.2012
    Пол:
    Мужчина
    Сообщений:
    20
    Накопленные выплаты (Подробнее):
    129 RUB
    Поставил лайков:
    3
    Получено лайков:   7
    в 7 сообщениях
    35%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Shadal Посмотреть сообщение
    Вроде бы что-то получилось.. Если пишу "EURUSD.m" А не просто "EURUSD" тогда отрабатывает. Пойду дальше мучить МТ5))) ждите новых вопросов. Думаю при тестировании советника в мультивалютном режиме они появятся..
    Возможны отклонения в названиях инструментов у разных ДЦ...Короче, правило таково - как в терминале пишется, так и надо делать запрос


  9. post_thanks Получено лайков: 1

    Shadal (16.11.2012)

  10. линк#86
    Свой человек
    Сама доброта
     
    Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Shadal авторитетный пользователь Аватар для Shadal
    Регистрация:
    14.12.2011
    Пол:
    Мужчина
    Сообщений:
    565
    Накопленные выплаты (Подробнее):
    3866 RUB
    Поставил лайков:
    1,068
    Получено лайков:   1,132
    в 301 сообщениях
    200%
    ПодписатьсяПодписаться
    Подписано 0
    появился ещё вопросик по МТ5. Как мне в условии указать оператор "И"? Конструкция типа "if((а=в)and(в>0)) fDo_Smthing();" не работает т.к. компилятор пишет что не знает что такое "and". А со вложенными if МТ5 себя ведёт глючно как-то. Можно конечно в процедуру "fDo_Smthing();" передать параметр "fDo_Smthing(в);"
    И уже там проверять, но использование оператора "И" было бы попроще...


  11. линк#87
    Знающий
    Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Аватар для Laryx
    Регистрация:
    04.10.2012
    Пол:
    Мужчина
    Сообщений:
    3,726
    Накопленные выплаты (Подробнее):
    30110 RUB
    Поставил лайков:
    15
    Получено лайков:   605
    в 502 сообщениях
    16%
    Цитата Сообщение от Shadal Посмотреть сообщение
    Как мне в условии указать оператор "И"? Конструкция типа "if((а=в)and(в>0)) fDo_Smthing();" не работает т.к. компилятор пишет что не знает что такое "and"
    Язык MQL5 очень близок к языку С++, соответственно, оператор должен быть "сиплюсплюсный".

    Попробуйте:
    if((а=в) && (в>0)) fDo_Smthing();"


  12. post_thanks Получено лайков: 1

    Shadal (16.11.2012)

  13. линк#88
    Частый гость
    Timmen стараюсь положительно себя зарекомендовать Аватар для Timmen
    Регистрация:
    12.09.2012
    Пол:
    Мужчина
    Сообщений:
    56
    Накопленные выплаты (Подробнее):
    645 RUB
    Поставил лайков:
    3
    Получено лайков:   34
    в 31 сообщениях
    61%
    ПодписатьсяПодписаться
    Подписано 0
    Оператор сравнения == , а не =. Естественно будет глючить условие - Вы присваиваете переменной a переменную b вместо их сравнения.

    MQL-Код:
    
    if( (а == в) && (в > 0) ){   fDo_Smthing();} 
    
    
    


  14. post_thanks Получено лайков: 1

    Laryx (17.11.2012)

  15. линк#89
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Здравствуйте!
    Подскажите как можно значение тика записать в массив. Скажем цену ask каждого тика.
    MQL-Код:
    
     MqlTick last;static double cena[];ArrayResize(cena,200);double ask;   SymbolInfoTick(Symbol(),last);    ask = last.ask;    for(int j=0;j>200;j++){          cena[j]=ask;          break;          } 
    
    
    

    В таком исполнении не работает.


  16. линк#90
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Хотелось бы еще уточнить как переменной запретить двигаться за ценой.

    Пример: Простой тралл стопа, слежение за ценой без обозначения для брокера стопов. Мы говорим переменной следить за ценой на расстоянии 20 пунктов(к примеру). Т.е. переменная = цена bid - 20 пунктов(при условии что мы купили). Ценна идет в верх и мы успешно следуем за ней. Далее цена пошла в низ, а нам надо что бы переменная осталась в своем значении на прежнем уровне.

    Т.е. мой вопрос - как запретить переменной принимать значения в определенный момент?


  17. линк#91
    Знающий
    Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Аватар для Laryx
    Регистрация:
    04.10.2012
    Пол:
    Мужчина
    Сообщений:
    3,726
    Накопленные выплаты (Подробнее):
    30110 RUB
    Поставил лайков:
    15
    Получено лайков:   605
    в 502 сообщениях
    16%
    Цитата Сообщение от talliy Посмотреть сообщение
    В таком исполнении не работает.
    А что именно не работает ? В данном случае первое значение массива cena[] заполняется очередным тиком; остальные значения - остаются неизменными.
    Что не так ?

    ---------- Сообщение добавлено в 11:11 ---------- Предыдущее сообщение размещено в 11:09 ----------

    Цитата Сообщение от talliy Посмотреть сообщение
    Т.е. мой вопрос - как запретить переменной принимать значения в определенный момент?
    Все зависит от того, как назначаем цену.
    По идее - следует запоминать последнюю цену, и если текущая цена больше - то подвигаем тралл, если нет - не подвигаем.

    Кстати, пользуйтесь классом CTrailingFixedPips - кажется, это то, что вам нужно.


  18. линк#92
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Laryx Посмотреть сообщение
    А что именно не работает ? В данном случае первое значение массива cena[] заполняется очередным тиком; остальные значения - остаются неизменными.
    Что не так ?
     
    Проверкой заполнения массива можно вывести на печать в журнал любое его значение. В случае который я привел примером массив

    заполняется нулями кроме первого его значения. Он выдает на печать число , к примеру: 4.564543334554433234-е408

    Цитата Сообщение от Laryx Посмотреть сообщение
    Кстати, пользуйтесь классом CTrailingFixedPips - кажется, это то, что вам нужно.
    В том то и дело что хочется вести слежение за ценой без обозначения стоп лосов для брокера. При открытии ордера не обозначать размер тейка и стопа.

    Последний раз редактировалось talliy; 17.11.2012 в 11:43.

  19. линк#93
    Знающий
    Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Аватар для Laryx
    Регистрация:
    04.10.2012
    Пол:
    Мужчина
    Сообщений:
    3,726
    Накопленные выплаты (Подробнее):
    30110 RUB
    Поставил лайков:
    15
    Получено лайков:   605
    в 502 сообщениях
    16%
    Цитата Сообщение от talliy Посмотреть сообщение
    В случае который я привел примером массив

    заполняется нулями кроме первого его значения. Он выдает на печать число , к примеру: 4.564543334554433234-е408
    Совершенно верно, я так и говорю - первое значение заполняется очередным тиком, остальные значения - не меняются, в них инициализационное значение (как правило, одни единицы) - вы и получаете массив, в котором первое значение - это последний тик, а остальные - неизменное значение, не представляющее интереса.

    Что не так ?

    Цитата Сообщение от talliy Посмотреть сообщение
    В том то и дело что хочется вести слежение за ценой без обозначения стоп лосов для брокера. При открытии ордера не обозначать размер тейка и стопа
    Ну, значит, указывайте тейк и стоп нулевыми.
    Не вполне понял сути задачи. Если мы не обозначаем стоплоссы - зачем следить за ценой ?


  20. линк#94
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Laryx,
    Если решить вопрос с заполнение массива значением тика, то я думаю будет и решить слежение за ценой. Так скажем невидимый трал.

    И еще, может он себя так ведет потому что тестируется на истории тиков


  21. линк#95
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Laryx Посмотреть сообщение
    Совершенно верно, я так и говорю - первое значение заполняется очередным тиком, остальные значения - не меняются, в них инициализационное значение (как правило, одни единицы) - вы и получаете массив, в котором первое значение - это последний тик, а остальные - неизменное значение, не представляющее интереса.

    Что не так ?
    А задача стоит последовательно заполнить каждый элемент массива новым значением цены аск .

    Цитата Сообщение от Laryx Посмотреть сообщение
    Ну, значит, указывайте тейк и стоп нулевыми.
    Не вполне понял сути задачи. Если мы не обозначаем стоплоссы - зачем следить за ценой ?
    Про тейк и стоп я к примеру привел.
    Мне необходимо оставить значение переменной на прежнем уровне. Скажем переменная принимает динамическое значение, т.е. значение постоянно меняется, При наступлении определенного условия эта переменная прекращает принимать значения и остается со значением с последним обращеннием к ней.


  22. линк#96
    Знающий
    Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Аватар для Laryx
    Регистрация:
    04.10.2012
    Пол:
    Мужчина
    Сообщений:
    3,726
    Накопленные выплаты (Подробнее):
    30110 RUB
    Поставил лайков:
    15
    Получено лайков:   605
    в 502 сообщениях
    16%
    Цитата Сообщение от Timmen Посмотреть сообщение
    Оператор сравнения == , а не =.
    Да-да. Я упустил этот момент. Все верно.

    ---------- Сообщение добавлено в 12:06 ---------- Предыдущее сообщение размещено в 12:04 ----------

    Цитата Сообщение от talliy Посмотреть сообщение
    А задача стоит последовательно заполнить каждый элемент массива новым значением цены аск .
    В таком случае - надо каждый раз передвигать индекс J. А у вас он - присваивается нулю, потом заполняется нулевой элемент массива очередным тиком, после чего происходит выход из цикла. На следующем тике - снова индекс присваивается нулю, потом заполняется нулевой элемент массива (старое значение затирается), после чего происходит выход из цикла.

    Вам следует хранить значение номера тика, и использовать его в качестве индекса.

    ---------- Сообщение добавлено в 12:08 ---------- Предыдущее сообщение размещено в 12:06 ----------

    Цитата Сообщение от talliy Посмотреть сообщение
    Скажем переменная принимает динамическое значение, т.е. значение постоянно меняется, При наступлении определенного условия эта переменная прекращает принимать значения и остается со значением с последним обращеннием к ней
    Ну, значит, вам надо объявить вашу внутреннюю переменную, и на каждом тике присваивать ей значение исходной, постоянно меняющейся переменной ПО УСЛОВИЮ. Пока условие будет выполняться - ваша внутренняя переменная будет каждый раз обновляться изменяющейся переменной. Как только условие перестанет выполняться - ваша внутренняя переменная останется прежней, а внешняя по-прежнему, будет меняться. И так будет, пока условие не будет выполняться. Если вдруг условие снова начнет выполняться - ваша внутренняя переменная снова будет присвоена внешней.


  23. линк#97
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Laryx Посмотреть сообщение
    Вам следует хранить значение номера тика, и использовать его в качестве индекса.
    а это как ?

    И... Все равно спасибо. Есть над чем подумать. ))) Конечно описать это в коде мне займет достаточное время.


  24. линк#98
    Знающий
    Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Аватар для Laryx
    Регистрация:
    04.10.2012
    Пол:
    Мужчина
    Сообщений:
    3,726
    Накопленные выплаты (Подробнее):
    30110 RUB
    Поставил лайков:
    15
    Получено лайков:   605
    в 502 сообщениях
    16%
    Цитата Сообщение от talliy Посмотреть сообщение
    Есть над чем подумать. ))) Конечно описать это в коде мне займет достаточное время
    Безусловно, хорошо было бы, чтобы вы сами догадались - я уже все в словах вам объяснил.

    Но если уж очень хочется... Пишем:

    Вне функций:

    double cena[];
    int iNumOfTick;
    MqlTick last;

    В инициализации:

    ArrayResize(cena,200);
    iNumOfTick = 0;

    В обработчике тика:

    SymbolInfoTick(Symbol(),last);
    if (iNumOfTick<200)
    {
    cena[iNumOfTick]=last.ask;
    ++iNumOfTick;
    }

    В месте использования всех цен:

    for(int j=0;j>iNumOfTick;j++)
    {
    ...
    DoSomething(cena[j]);
    ....
    }

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

    Последний раз редактировалось Laryx; 17.11.2012 в 12:31. Причина: Уточнение кода

  25. post_thanks Получено лайков: 1

    talliy (17.11.2012)

  26. линк#99
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Laryx Посмотреть сообщение
    Безусловно, хорошо было бы, чтобы вы сами догадались - я уже все в словах вам объяснил
    На все сто согласен. Мой вопрос с переменной и ее значениями я постараюсь разобраться самостоятельно.
    Еще раз спасибо!


  27. линк#100
    Знающий
    Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Laryx хорошая репутация Аватар для Laryx
    Регистрация:
    04.10.2012
    Пол:
    Мужчина
    Сообщений:
    3,726
    Накопленные выплаты (Подробнее):
    30110 RUB
    Поставил лайков:
    15
    Получено лайков:   605
    в 502 сообщениях
    16%
    Цитата Сообщение от talliy Посмотреть сообщение
    Мой вопрос с переменной и ее значениями я постараюсь разобраться самостоятельно
    В вашем коде - главная ошибка в организации цикла. В нем ВСЕГДА будет инициализироваться только первое значение массива. А это, насколько я понимаю, не то, что вам требуется.

    Последний раз редактировалось Laryx; 17.11.2012 в 12:55.

  28. Contests
  29. линк#101
    В начале пути
    talliy стараюсь положительно себя зарекомендовать Аватар для talliy
    Регистрация:
    17.11.2012
    Пол:
    Мужчина
    Сообщений:
    25
    Накопленные выплаты (Подробнее):
    234 RUB
    Поставил лайков:
    3
    Поблагодарили 1 раз в
    1 сообщении
    4%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Laryx Посмотреть сообщение
    Но если уж очень хочется... Пишем:
    При этом данный массив - cena[], будет динамичным,т.е. постоянно меняющем в себе значения цены в периоде 200 тиков.

    Немного доработав код можно зафиксировать значения цены.
    Обозначив переменную счета тиков статической и задать условие, что запись тиков вести до определенного значения этой переменной.

    MQL-Код:
    
    double cena[];
    static int iNumOfTick=0;
    static bool stop=false;
    MqlTick last;
    
    ArrayResize(cena,200);
    
    SymbolInfoTick(Symbol(),last);
    if(iNumOfTick==200)
    {
     stop=true;
    }
    if (!stop)
    {
    cena[iNumOfTick]=last.ask;
    ++iNumOfTick;
    }
    
    В месте использования всех цен:
    
    for(int j=0;j>iNumOfTick;j++)
    {
    ...
    DoSomething(cena[j]);
    ....
    } 
    
    
    



Страница 5 из 254
Первая ... 4 5 6 15 ... Последняя ◄╝

Подписанные на тему (86)

Похожие темы

  1. Помогите, не могу исправить ошибку
    от Tyson Gerard в разделе MQL-программирование, АТС
    Replies: 12
    Последнее сообщение: 04.03.2015, 18:38
  2. Помогите исправить советник для Опционов
    от cashyra в разделе MQL-программирование, АТС
    Replies: 9
    Последнее сообщение: 16.10.2014, 11:10
  3. [Архив] Помогите исправить советник или индикатор
    от anvin в разделе MQL-программирование, АТС
    Replies: 3250
    Последнее сообщение: 12.06.2014, 10:32
  4. Помогите Модернизировать Индикатор
    от GeneralRock в разделе MQL-программирование, АТС
    Replies: 1
    Последнее сообщение: 30.01.2012, 20:06
  5. Помогите исправить советника за вознаграждение!
    от Fo-eX в разделе Доска объявлений
    Replies: 0
    Последнее сообщение: 16.06.2011, 14:40

Метки этой темы