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

Показаны сообщения: с 61 по 80 из 563

Тема: Учимся программировать на MQL4 вместе с Mr.Артуром

 Перейти в классический вид темы
  1. линк#61
    Кандидат форумных наук
    Отдыхаю
     
    Artur приемлемый уровень репутации Artur приемлемый уровень репутации Аватар для Artur
    Регистрация:
    06.09.2010
    Пол:
    Мужчина
    Сообщений:
    2,038
    Накопленные выплаты (Подробнее):
    26207 RUB
    Поставил(а) лайков:
    49
    Получено лайков:   210
    в 174 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано: 0
    Приветствую всех новичков так же как я желающих самостоятельно научиться писать программы на MQL4. В этой теме я буду конспектировать нелегкий путь своего обучения с примерами и конкретными задачами которые предлагаю решать сообща . Думаю всем вместе нам будет легче разобраться и освоиться в этом языке программирования.

    Код:
    //+------------------------------------------------------------------+
    //|                                                          111.mq4 |
    //|                      Copyright © 2011, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2011, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"
    
    //+++-здесь вписываются переменные-+++
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start() //+++- старт самой программы и написание его основного кода тут-+++
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    это код простого советника
    дальше я буду выкладывать прочее необходимое
    если будут вопросы пишите постараюсь ответить

    Последний раз редактировалось DGreen; 24.07.2011 в 22:51.

    Предлагаю к инвестированию ^ /-/ Перечитайте регламент найдёте много интерестного!

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

    Krashid (13.03.2012)

    Crypto
     
  3. ТОП сообщений
    2012-08-15   15:38
    Лучший ответ #1
    Накопленные выплаты 18175 RUB

    Цитата Сообщение от mechanic40 Посмотреть сообщение
    Это понятно - но вопрос как связан индекс ордера со временем его открытия?
    Представьте себе массив, в который записываются различные события, все идет по порядку, можно проверить:
    [PHP]void start()
    {
    for(int i = OrdersTotal() -1; i >= 0;i--)
    {
    if(OrderSelect(i,SELECT_BY_POS))
    Alert("index = ",i," open_time = ",TimeToStr(OrderOpenTime(), TIME_DATE|TIME_MINUTES|TIME_SECONDS));
    }
    }[/PHP]
    Но ситуации бывают разными, вот например: - "Есть ДЦ, где OrderOpenTime() показывает время выставления отложенного ордера, а не время его срабатывания. Поэтому затруднительно узнать, когда же открылась позиция".

    2019-05-07   23:11
    Лучший ответ #2
    Накопленные выплаты 164763 RUB

    Цитата Сообщение от kola16 Посмотреть сообщение
    советник привязан к брокеру , не могу отвязать советника.
    Вместо
    Код:
    if(StringSubstr(broker,0,2) == "XM")
    пропиши
    Код:
    if(true)

    2011-08-03   17:59
    Лучший ответ #3
    Накопленные выплаты 322 RUB

    Цитата Сообщение от TioSin Посмотреть сообщение
    чтоб наверняка быть уверенным что бот выбрал именно последний закрытый ордер
    Для поиска последнего закрытого ордера можно использовать время закрытия ордеров, пробегаем по всем ордерами находим максимальное время...
    int Magic = 0;
    int closetime= 0,lastorder=0;
    for(int i=0;i<OrdersHistoryTotal();i++)
    {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
    if(OrderMagicNumber()!=Magic) continue;
    if(closetime<OrderCloseTime())
    {
    closetime = OrderCloseTime();
    lastorder = OrderTicket();
    }
    }
    OrderSelect(lastorder,SELECT_BY_TICKET,MODE_HISTOR Y);
    Alert("order_" + OrderTicket() + " close_time= "+ TimeYear(OrderCloseTime())+"."+TimeMonth(OrderClos eTime())+"."+TimeDay(OrderCloseTime())+ " " + TimeHour(OrderCloseTime())+":"+TimeMinute(OrderClo seTime())+":"+TimeSeconds(OrderCloseTime()) );

    2012-02-27   20:51
    Лучший ответ #4
    Накопленные выплаты 4855 RUB

    Цитата Сообщение от Artur Посмотреть сообщение
    а как закрепить по другому что когда отошла от цены открытия ордера до -31 пункта то тогда модифицировать...???
    Что модифицируешь от того и отталкивайся, если тп, то делай условие чтобы тп ордера модифился при подходе цены к текущему теикпрофиту на несколько пунктов.При открытии ордера ставишь тп на (31 пункт + расстояние модификации(5пип допустим) итого 36) от открытия ордера и далее запускаешь условие вида (для селл) if (bid<=OrderTakeProfit()+ 5*point) {Модифицирвать тп ордера на OrderTakeProfit() минус расстояние на которое нужно перенести тп +5пип}

    2018-05-26   02:56
    Лучший ответ #5
    Накопленные выплаты 8369 RUB

    Привет всем. Кто подскажет может, надо 2 советника объединить. На разных окнах не удобно. темболее что их надо одновременно запускать.сигналы не сразу со всех валют идут. евро допустим я включу. а вот далее беда. через функцию можно как то сделать.Как?

    2018-07-23   14:07
    Лучший ответ #6
    Накопленные выплаты 472 RUB

    Цитата Сообщение от MoneyDay Посмотреть сообщение
    Привет всем. Кто подскажет может, надо 2 советника объединить. На разных окнах не удобно. темболее что их надо одновременно запускать.сигналы не сразу со всех валют идут. евро допустим я включу. а вот далее беда. через функцию можно как то сделать.Как?
    Доброго дня MoneyDay .Подобные ситуации можно решить через Magicnumber самих советников.То есть.Поясню.Открываем один график и на него присоеденяем первый советник с первым magic number/.На второй график так же можно прикрепить другой советник с другим magic .На третий график прикрепляем третий советник и третий magic если надо и так далее.Если нужно пишите подскажу более детально,но советник должен быть с открытым кодом.Удачного тренда

  4. линк#62
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,183
    Накопленные выплаты (Подробнее):
    164763 RUB
    Поставил(а) лайков:
    922
    Получено лайков:   7,267
    в 3,494 сообщениях
    101%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от fore-x Посмотреть сообщение
    как с помощью вертикальной линии, присвоить переменной N значение индекса бара, на котором она находится? Проблема - вертикальная линия возвращает значение типа datetime, не могу сообразить, как задуманное нужно осуществить технически?
    Берешь значение, которое тебе дает эта вертикальная линия и в цикле по барам сравниваешь его с ценой открытия бара. Если совпало то индекс искомого бара будет в счетчике цикла. Надеюсь понятно объяснил?


  5. линк#63
    Знающий
    Сама доброта
     
    DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь Аватар для DGreen
    Регистрация:
    01.11.2010
    Пол:
    Мужчина
    Сообщений:
    4,018
    Накопленные выплаты (Подробнее):
    4855 RUB
    Поставил(а) лайков:
    3,491
    Получено лайков:   3,779
    в 1,500 сообщениях
    94%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Берешь значение, которое тебе дает эта вертикальная линия и в цикле по барам сравниваешь его с ценой открытия бара. Если совпало то индекс искомого бара будет в счетчике цикла. Надеюсь понятно объяснил?
    Мне не совсем понятно, а если он поставит линию не на время открытия(Я думаю с ценой ты ошибся просто вертикальная линя возвращает время) свечи а чуть дальше ? К примеру часовая свеча вышла в 13.00, а линия стоит на 13.30. Мне тож приходила идея по открытим искать, но отбросил ее именно по этому .


  6. линк#64
    Кандидат форумных наук
    no
     
    fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация Аватар для fore-x
    Регистрация:
    18.03.2011
    Пол:
    Мужчина
    Сообщений:
    1,716
    Накопленные выплаты (Подробнее):
    18175 RUB
    Поставил(а) лайков:
    440
    Получено лайков:   588
    в 401 сообщениях
    34%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от DGreen Посмотреть сообщение
    Мне не совсем понятно, а если он поставит линию не на время открытия(Я думаю с ценой ты ошибся просто вертикальная линя возвращает время) свечи а чуть дальше ? К примеру часовая свеча вышла в 13.00, а линия стоит на 13.30. Мне тож приходила идея по открытим искать, но отбросил ее именно по этому .
    А мне тем более не понятно , хотя все получилось, теперь осталось узнать какая функция возвращает - текущий таймфрейм, задать для каждого таймфрейма свою константу, на которую будем делить полученную временную разность и вроде все с этим.
    PHP код:
    #property indicator_chart_window

    double sdvig,spread,x;
    extern int N;

    ObjectCreate( "high v tele",OBJ_HLINE,0,0,0);
    ObjectCreate( "low v tele",OBJ_HLINE,0,0,0);
    ObjectSet( "high v tele",6 ,Blue);
    ObjectSet( "low v tele",6 ,Red);
    ObjectCreate( "time",OBJ_VLINE,0,Time[0],0);

    int start()
    {
    spread = Ask - Bid;
    sdvig = spread/2;
    x = (High[N]- Low[N])/3;
    ObjectSet( "high v tele",OBJ_HLINE ,High[N] + sdvig - x);
    ObjectSet( "low v tele",OBJ_HLINE ,Low[N] + sdvig + x);
    N = (TimeCurrent() - ObjectGet("time", OBJPROP_TIME1))/3600; // для H1 - 3600 sec;
    Comment(N);

    return(
    0);
    }


  7. линк#65
    Знающий
    Сама доброта
     
    DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь Аватар для DGreen
    Регистрация:
    01.11.2010
    Пол:
    Мужчина
    Сообщений:
    4,018
    Накопленные выплаты (Подробнее):
    4855 RUB
    Поставил(а) лайков:
    3,491
    Получено лайков:   3,779
    в 1,500 сообщениях
    94%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от fore-x Посмотреть сообщение
    А мне тем более не понятно , хотя все получилось, теперь осталось узнать какая функция возвращает - текущий таймфрейм, задать для каждого таймфрейма свою константу, на которую будем делить полученную временную разность и вроде все с этим.
    Используй все таки не Timecurrent, а опен 0го бара как я писал постом выше, потому что таим куррент текущее время и если у тебя щас три 4х часовом фреиме середина свечи то будет погрешность в 2 часа - это очень много, свеча будет неточно определятся . Про определение фрейма почитай тут.


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

    fore-x (27.07.2011)

  9. линк#66
    Кандидат форумных наук
    no
     
    fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация Аватар для fore-x
    Регистрация:
    18.03.2011
    Пол:
    Мужчина
    Сообщений:
    1,716
    Накопленные выплаты (Подробнее):
    18175 RUB
    Поставил(а) лайков:
    440
    Получено лайков:   588
    в 401 сообщениях
    34%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от fore-x Посмотреть сообщение

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


  10. линк#67
    Кандидат форумных наук
    no
     
    fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация Аватар для fore-x
    Регистрация:
    18.03.2011
    Пол:
    Мужчина
    Сообщений:
    1,716
    Накопленные выплаты (Подробнее):
    18175 RUB
    Поставил(а) лайков:
    440
    Получено лайков:   588
    в 401 сообщениях
    34%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от DGreen Посмотреть сообщение
    Используй все таки не Timecurrent, а опен 0го бара как я писал постом выше, потому что таим куррент текущее время и если у тебя щас три 4х часовом фреиме середина свечи то будет погрешность в 2 часа - это очень много, свеча будет неточно определятся . Про определение фрейма почитай тут.
    Все переделал, еще хочется чтоб перерисовка горизонтальных линий, при перемещении вертикальной линии, происходила не с приходом нового тика, а мгновенно, как это сделать?
    N = (Time[0] - ObjectGet("time", OBJPROP_TIME1))/(Period()* 60);


  11. линк#68
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,183
    Накопленные выплаты (Подробнее):
    164763 RUB
    Поставил(а) лайков:
    922
    Получено лайков:   7,267
    в 3,494 сообщениях
    101%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от DGreen Посмотреть сообщение
    Мне не совсем понятно, а если он поставит линию не на время открытия(Я думаю с ценой ты ошибся просто вертикальная линя возвращает время) свечи а чуть дальше ? К примеру часовая свеча вышла в 13.00, а линия стоит на 13.30. Мне тож приходила идея по открытим искать, но отбросил ее именно по этому .
    А ты попробуй открыв например ТФ Н1 поставить линию мышкой на время не кратное 1 часу. Да, в параметрах прописать ручками можно, но мышкой поставить нет. Да и учесть в цикле любое время можно элементарно просто. Я ж не знаю всех деталей, которые у человека могут случиться. Он спросил - я ответил.


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

    DGreen (27.07.2011)

  13. линк#69
    Кандидат форумных наук
    no
     
    fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация fore-x хорошая репутация Аватар для fore-x
    Регистрация:
    18.03.2011
    Пол:
    Мужчина
    Сообщений:
    1,716
    Накопленные выплаты (Подробнее):
    18175 RUB
    Поставил(а) лайков:
    440
    Получено лайков:   588
    в 401 сообщениях
    34%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Берешь значение, которое тебе дает эта вертикальная линия и вцикле по барам сравниваешь его с ценой открытия бара.
    Сравниваешь его с ценой открытия бара - это как (зачем сравнивать время и цену)? Пример кода можно?

    Цитата Сообщение от DGreen Посмотреть сообщение
    Используй все таки не Timecurrent, а опен 0го бара как я писал постом выше
    Опен 0го бара = Open[0] - а время, как к нему привязать?

    Цитата Сообщение от fore-x Посмотреть сообщение
    N = (Time[0] - ObjectGet("time", OBJPROP_TIME1))/(Period()* 60);
    Time[0] - вроде бы самое то или нет?


  14. линк#70
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,183
    Накопленные выплаты (Подробнее):
    164763 RUB
    Поставил(а) лайков:
    922
    Получено лайков:   7,267
    в 3,494 сообщениях
    101%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от fore-x Посмотреть сообщение
    Сравниваешь его с ценой открытия бара - это как (зачем сравнивать время и цену)? Пример кода можно?
    Это я второпях ошибку допустил. Конечно же не ценой, а временем открытия бара.


    Опен 0го бара = Open[0] - а время, как к нему привязать?
    Time[0] - вроде бы самое то или нет?
    Да, массив Time[] самое то.

    ЗЫ: Эскизный пример кода. Накидал на скорую руку и естественно, что не проверял.
    PHP код:
    int GetBarNumberByTime(datetime InputTime)
    {
    Result = 0;
    for(
    int i = 0; i <= WindowFirstVisibleBar() + 1; i++)
    if(!(
    InputTime < Time[i]))
    {
    Result = i;
    break;
    }
    return(
    Result);
    }
    Здесь кстати должно также автоматом учитываться замечание DGreen-а по поводу того, что время может быть не точно кратно времени открытия бара.

    Последний раз редактировалось ir0407; 27.07.2011 в 22:43.

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

    fore-x (27.07.2011)

  16. линк#71
    Кандидат форумных наук
    Отдыхаю
     
    Artur приемлемый уровень репутации Artur приемлемый уровень репутации Аватар для Artur
    Регистрация:
    06.09.2010
    Пол:
    Мужчина
    Сообщений:
    2,038
    Накопленные выплаты (Подробнее):
    26207 RUB
    Поставил(а) лайков:
    49
    Получено лайков:   210
    в 174 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано: 0
    Код:
    int start()
      {
       string text = Bid;
       
       string Market_Price = DoubleToStr(Bid, Digits);
       ObjectCreate("text", OBJ_LABEL, 0, 0, 0);
       ObjectSetText("text", text, 50, "Comic Sans MS", Green);
      
       return(0);
      }
    скажите как изменить шрифт (пробовал менять на Arial но после этого не выходит числа а только объект лейбл) и объёкт расположить в нижнем правом углу? а ещё число не может выйти double с 4мя цифрами после запятой, как исправить?


    Предлагаю к инвестированию ^ /-/ Перечитайте регламент найдёте много интерестного!

  17. линк#72
    Свой человек
    ais79 стараюсь положительно себя зарекомендовать Аватар для ais79
    Регистрация:
    04.07.2011
    Пол:
    Мужчина
    Сообщений:
    532
    Накопленные выплаты (Подробнее):
    5196 RUB
    Поставил(а) лайков:
    2
    Получено лайков:   27
    в 26 сообщениях
    5%
    ПодписатьсяПодписаться
    Подписано: 0
    люди извените меня конечно . но я считаю лично так что програмировать и торговать не получится надо чему то одному отдавать свое время или програмираванию или торговать


  18. линк#73
    Кандидат форумных наук
    mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь mell авторитетный пользователь Аватар для mell
    Регистрация:
    15.06.2011
    Пол:
    Мужчина
    Сообщений:
    2,079
    Накопленные выплаты (Подробнее):
    9596 RUB
    Поставил(а) лайков:
    1,141
    Получено лайков:   4,035
    в 1,229 сообщениях
    194%
    ПодписатьсяПодписаться
    Подписано: 0
    [QUOTE=Artur;861538

    скажите как изменить шрифт (пробовал менять на Arial но после этого не выходит числа а только объект лейбл) и объёкт расположить в нижнем правом углу? а ещё число не может выйти double с 4мя цифрами после запятой, как исправить?[/QUOTE]

    PHP код:
    ObjectDelete("Lable4"); //удаляем старое значение
    ObjectCreate("Lable4",OBJ_LABEL,0,0,1.0); //создаем новый объект
    ObjectSet("Lable4", OBJPROP_CORNER, 3); // координаты в окне графика в правый нижний угол
    ObjectSet("Lable4", OBJPROP_XDISTANCE, 33);
    ObjectSet("Lable4", OBJPROP_YDISTANCE, 11);
    txt4=(DoubleToStr(AccountStopoutLevel(), 2));// преобразуем циферки в тест
    ObjectSetText("Lable4","StopOut "+txt4+"%",15,"Times New Roman",DodgerBlue); //выводим на экран: 15-это размер,название шрифта, цвет.
    цифра 2 - количество знаков после запятой.
    PHP код:
    txt2=(DoubleToStr(AccountBalance(), 2));

    Индикаторы зло! Не верю никому кроме Bollinger Bands. хотя.. и ему не верю!
    Тестирую новинку, сольет не сольет...:
    [img]http://widgets.********.com/widgets/1072581/mini.jpg[/img]

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

    Artur (30.07.2011)

  20. линк#74
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация:
    02.12.2010
    Сообщений:
    7,183
    Накопленные выплаты (Подробнее):
    164763 RUB
    Поставил(а) лайков:
    922
    Получено лайков:   7,267
    в 3,494 сообщениях
    101%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от ais79 Посмотреть сообщение
    люди извените меня конечно . но я считаю лично так что програмировать и торговать не получится надо чему то одному отдавать свое время или програмираванию или торговать
    Ну почему же? У меня например неплохо получается совмещать полезное с приятным.


  21. линк#75
    Кандидат форумных наук
    Отдыхаю
     
    Artur приемлемый уровень репутации Artur приемлемый уровень репутации Аватар для Artur
    Регистрация:
    06.09.2010
    Пол:
    Мужчина
    Сообщений:
    2,038
    Накопленные выплаты (Подробнее):
    26207 RUB
    Поставил(а) лайков:
    49
    Получено лайков:   210
    в 174 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от ais79 Посмотреть сообщение
    люди извените меня конечно . но я считаю лично так что програмировать и торговать не получится надо чему то одному отдавать свое время или програмираванию или торговать
    полезное пиятному не мешает. и тем более они вжиты друг в друга и одно без другова сложно представить


    Предлагаю к инвестированию ^ /-/ Перечитайте регламент найдёте много интерестного!

  22. линк#76
    Кандидат форумных наук
    Отдыхаю
     
    Artur приемлемый уровень репутации Artur приемлемый уровень репутации Аватар для Artur
    Регистрация:
    06.09.2010
    Пол:
    Мужчина
    Сообщений:
    2,038
    Накопленные выплаты (Подробнее):
    26207 RUB
    Поставил(а) лайков:
    49
    Получено лайков:   210
    в 174 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано: 0
    вот код
    PHP код:
    int start()
    {

    if (
    OrdersTotal()<1){
    double iSt = iStochastic(NULL,0,PersentK,PersentD,Ma,MODE_SMA,0,MODE_MAIN,0);
    double iSt2 = iStochastic(NULL,0,PersentK,PersentD,Ma,MODE_SMA,0,MODE_SIGNAL,0);

    if (
    iSt>LevelSell&&iSt2>LevelSell){
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid, Digits),2,NormalizeDouble(Bid, Digits)+StopLoss*Point,NormalizeDouble(Bid, Digits)-TakeProfit*Point,"12345",Magic_Number,0,Red);

    }
    if (
    iSt<LevelBuy&&iSt2<LevelBuy){
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask, Digits),2,NormalizeDouble(Ask, Digits)-StopLoss*Point,NormalizeDouble(Ask, Digits)+TakeProfit*Point,"12345",Magic_Number,0,Blue);
    m = (Bid);
    }
    }
    // открытие второго ордера
    if (OrdersTotal()>0){
    if (
    Ask>=(m+13)){
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask, Digits),2,NormalizeDouble(Ask, Digits)-StopLoss*Point,NormalizeDouble(Ask, Digits)+TakeProfit*Point,"12345",Magic_Number,0,Blue);
    }
    }

    return(
    0);
    }
    цель открытие второго ордера после того как цена аск достигнет +13 от цены первого ордера. полная цель вот тут в этом посте
    помогите отредактировать


    Предлагаю к инвестированию ^ /-/ Перечитайте регламент найдёте много интерестного!

  23. линк#77
    Знающий
    Не в духе
     
    iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь Аватар для iMag
    Регистрация:
    31.10.2010
    Пол:
    Мужчина
    Сообщений:
    3,715
    Накопленные выплаты (Подробнее):
    31375 RUB
    Поставил(а) лайков:
    5,074
    Получено лайков:   3,880
    в 1,757 сообщениях
    104%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от ir0407 Посмотреть сообщение

    А если использовать
    int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)Search for bar by open time. The function returns bar shift with the open time specified. If the bar having the specified open time is missing, the function will return -1 or the nearest bar shift depending on the exact.
    не проще ли будет?


  24. линк#78
    Знающий
    Не в духе
     
    iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь iMag авторитетный пользователь Аватар для iMag
    Регистрация:
    31.10.2010
    Пол:
    Мужчина
    Сообщений:
    3,715
    Накопленные выплаты (Подробнее):
    31375 RUB
    Поставил(а) лайков:
    5,074
    Получено лайков:   3,880
    в 1,757 сообщениях
    104%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от Artur Посмотреть сообщение

    Какой мустанг, однако! Попробуй подставь какие-то реальные цифры в выражение Ask>= (m+13) и посмотри, что получится.
    В целом, "истина где-то рядом" - "The Truth is out there"


  25. линк#79
    Кандидат форумных наук
    Отдыхаю
     
    Artur приемлемый уровень репутации Artur приемлемый уровень репутации Аватар для Artur
    Регистрация:
    06.09.2010
    Пол:
    Мужчина
    Сообщений:
    2,038
    Накопленные выплаты (Подробнее):
    26207 RUB
    Поставил(а) лайков:
    49
    Получено лайков:   210
    в 174 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от iMag Посмотреть сообщение
    Попробуй подставь какие-то реальные цифры в выражение Ask>= (m+13) и посмотри, что получится.
    чуть выше я закрепил цену открытия ордера Бид за параметром М например 1,4130 а после я сделал условие при достижении АСК>1.4130+15*Point) должно происходить открытие второго ордера... или что то не так я пишу?


    Предлагаю к инвестированию ^ /-/ Перечитайте регламент найдёте много интерестного!

  26. линк#80
    Знающий
    Сама доброта
     
    DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь DGreen авторитетный пользователь Аватар для DGreen
    Регистрация:
    01.11.2010
    Пол:
    Мужчина
    Сообщений:
    4,018
    Накопленные выплаты (Подробнее):
    4855 RUB
    Поставил(а) лайков:
    3,491
    Получено лайков:   3,779
    в 1,500 сообщениях
    94%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от Artur Посмотреть сообщение
    чуть выше я закрепил цену открытия ордера Бид за параметром М например 1,4130 а после я сделал условие при достижении АСК>1.4130+15*Point) должно происходить открытие второго ордера... или что то не так я пишу?
    У тебя m как double объявлена ?Перед условием выведи в функцию Comment значение переменной м и смотри в режиме визуализации какое значение она имеет на момент когда условие уже должно бы выполниться. Кстате тебе надо сваять какой то модуль определения своих ордеров и нахождения последнего открытого иначе при сбое в работе программы или выключения включения бота переменная м может просто затереться и работа советника прервется.


  27. <a href="https://www.instaforex.com/ru/pamm_system">Форекс портал</a>
  28. линк#81
    Кандидат форумных наук
    Отдыхаю
     
    Artur приемлемый уровень репутации Artur приемлемый уровень репутации Аватар для Artur
    Регистрация:
    06.09.2010
    Пол:
    Мужчина
    Сообщений:
    2,038
    Накопленные выплаты (Подробнее):
    26207 RUB
    Поставил(а) лайков:
    49
    Получено лайков:   210
    в 174 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано: 0
    Цитата Сообщение от DGreen Посмотреть сообщение
    У тебя m как double объявлена ?
    double m = (Bid);
    Перед условием выведи в функцию Comment значение переменной м и смотри в режиме визуализации какое значение она имеет на момент когда условие уже должно бы выполниться.
    вставил Comment (m); и поставил гонять в виртуализации ... вышло что даже при открытых ордерах значение всегда ноль. ???
    Кстате тебе надо сваять какой то модуль определения своих ордеров и нахождения последнего открытого иначе при сбое в работе программы или выключения включения бота переменная м может просто затереться и работа советника прервется.
    OrderSelect(OrdersTotal()-1,SELECT_BY_POS); //нахождение последнего открытого ордера
    модуль определения своих ордеров это типа MagicNumber?


    Предлагаю к инвестированию ^ /-/ Перечитайте регламент найдёте много интерестного!


Страница 4 из 29
Первая ... 3 4 5 14 ... Последняя ◄╝

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

Похожие темы

  1. Торговать по Фибоуровням прибыльно.GBP\USD (Или учимся торговать по фибо сетке)
    от Viovol в разделе Каналы, ZigZag, волновой и графический анализ
    Replies: 68
    Последнее сообщение: 25.07.2017, 18:39
  2. MQL5: Учимся пошагово писать советника и разбираться со скриптами
    от Родионов Алексей в разделе MQL-программирование, АТС
    Replies: 299
    Последнее сообщение: 17.08.2016, 09:17
  3. MQL для тех, кто не умеет программировать
    от VDev в разделе MQL-программирование, АТС
    Replies: 45
    Последнее сообщение: 05.01.2014, 17:09