У меня есть задача кода, пожалуйста, помогите :)
Страница 1 из 812 12 ПоследняяПоследняя
Results 1 to 10 of 14

Thread: У меня есть задача кода, пожалуйста, помогите :)

  1. #1
    Вложений: 1 Hi all pro coders,
    Im Phong новичок на MQL4. Я изучаю

    Проблема в том, что я пытаюсь закодировать простую горизонтальную линию на mainwindow. Он получает значение из свойств ввода, когда галочка приходит, код проверяет, переместил ли я линию в новую позицию, получить новое значение. Поэтому, когда я изменяю timframe, горизонтальная линия больше не будет устанавливаться как входное значение, она должна храниться в новом значении.
    Может ли кто-нибудь показать мне идеи сделать это! или Функции для исследованиякодирования ... ???
    Простые строки кода im try ...:

    я буду очень признателен

    Спасибо всем
    Фонг,
    Обмен - это забота!


  2. #2
    Quote Originally Posted by ;
    Привет всем про кодеры, Im Phong новичок на MQL4. Я изучаю
    Проблема в том, что я пытаюсь закодировать простую горизонтальную линию на mainwindow. Он получает значение из свойств ввода, когда галочка приходит, код проверяет, переместил ли я линию в новую позицию, получить новое значение. Поэтому, когда я изменяю timframe, горизонтальная линия больше не будет устанавливаться как входное значение, она должна храниться в новом значении. Может ли кто-нибудь показать мне идеи сделать это! или Функции для исследованиякодирования ... ??? Простые строки кода, которые я пытаюсь ...:Я был бы очень благодарен
    Благодаря...
    Вы удаляете линию на deinit ... поэтому каждый раз, когда вы переключаете TF, индиор должен перерисовывать его с нуля. Итак, замените вашу функцию deinit на следующую: Введенный код void OnDeinit (const int reason) {if (причина == REASON_REMOVE || причина == REASON_PARAMETERS || причина == REASON_RECOMPILE) ObjectsDelete (0, LevelLine); } Также добавьте следующее перед созданием объекта: Inserted Code if (ObjectsFind (0, LevelLine) == -1)

  3. #3
    1 Вложения (ы) Это должно сделать это ... Введенный код/ --------------------------------- --------------------------------- /| Phong.mq4 |/ ----------------------------------------------- ------------------- #property copyright Mn #property strict #property indior_chart_window extern double mLevel = 1.3200;/Начальный уровень extern int mLineWidth = 2;/Ширина линии внешней линии mCol1 = clrBlue;/Цвет строки extern bool mDel = false;/Удалить строку при выходе/ ----------------------------------------- ------------------------- int init () {if (ObjectFind (LevelLine) == -1) DrawLines (mLevel); Возвращение (0); }/ ---------------------------------------------- -------------------- void OnDeinit (const int mReason) {if (mReason! = REASON_CHARTCHANGE) ObjectDelete (LevelLine); Комментарий (); вернуть; }/ ---------------------------------------------- -------------------- int start () {double mNew = ObjectGet (LevelLine, OBJPROP_PRICE1); if (mNew! = mLevel) Комментарий (Новый уровень =, DoubleToStr (mNew, Digits)); Возвращение (0); }/ ---------------------------------------------- -------------------- void DrawLines (double mLvl) {ObjectCreate (LevelLine, OBJ_HLINE, 0, 0, 0, 0, 0); ObjectSet (LevelLine, OBJPROP_STYLE, STYLE_SOLID); ObjectSet (LevelLine, OBJPROP_COLOR, mCol1); ObjectSet (LevelLine, OBJPROP_WIDTH, mLineWidth); ObjectSet (LevelLine, OBJPROP_BACK, true); ObjectSet (LevelLine, OBJPROP_SELECTED, true); ObjectSet (LevelLine, OBJPROP_PRICE1, mLvl); вернуть; }/ ---------------------------------------------- --------------------------------------------- Молодцы за попытку делать свой собственный код, поддерживать его. М.
    https://www.russia-forex.ru/attachme...5528713591.mq4

  4. #4
    Quote Originally Posted by ;
    {quote} Вы удаляете строку в deinit ... поэтому каждый раз, когда вы переключаете TF, индиор должен перерисовывать его с нуля. Итак, замените вашу функцию deinit следующим: void OnDeinit (const int reason) {if (причина == REASON_REMOVE || причина == REASON_PARAMETERS || reason == REASON_RECOMPILE) ObjectsDelete (0, LevelLine); } Также добавьте следующее перед созданием объекта: if (ObjectsFind (0, LevelLine) == -1)
    Большой! именно то, что мне нужно
    ). Спасибо, у вас есть хороший день!

  5. #5
    Quote Originally Posted by ;
    Это должно сделать это .../ ---------------------------------------- -------------------------- /| Phong.mq4 |/ ----------------------------------------------- ------------------- #property copyright Mn #property strict #property indior_chart_window extern double mLevel = 1.3200;/Начальный уровень extern int mLineWidth = 2;/Ширина линии внешней линии mCol1 = clrBlue;/Цвет строки extern bool mDel = false;/Удалить строку при выходе/ ----------------------------------------- ------------------------- int init () {if (ObjectFind (LevelLine) == ...
    Спасибо futurespec! вы очень добры, я вижу, что вы пытаетесь научить меня больше кода, чем мне нужно
    )! Я только что узнал MQL4 из ничего за несколько дней, чтобы сделать свое собственное простое предупреждение
    , с вашей помощью, я могу сделать это довольно круто! счастливый торговый друг!

  6. #6
    Приятно, что это помогло.
    Продолжайте пытаться и экспериментировать, и вы будете удивлены тем, чего вы можете достичь. Не бойтесь, вы вряд ли что-нибудь сломаете. Удачи, М.

  7. #7
    Quote Originally Posted by ;
    {quote} Отлично! именно то, что мне нужно
    ). Спасибо, у вас есть хороший день!

  8. #8
    Quote Originally Posted by ;
    Приятно, что это помогло.
    Продолжайте пытаться и экспериментировать, и вы будете удивлены тем, чего вы можете достичь. Не бойтесь, вы вряд ли что-нибудь сломаете. Удачи, М.
    Привет futurespec, похоже, я ударил кирпичную стену! :/Не могли бы вы мне помочь! Я замечаю, что глобальная переменная i, объявленная (ниже lastalert), не может хранить данные во время работы. всякий раз, когда я меняю график таймфрейма, он будет установлен по умолчанию снова, поэтому я не могу использовать предыдущие данные, хранящиеся в переменной lastalert. Есть ли способ сохранить данные во время работы с данными, не будет сброшен по умолчанию до удаления индекса? Вот коды, описывающие проблему: ------------------------------ #property strict #property indior_chart_window extern bool Indior_On = true; внешний двойной уровень; datetime lastalert; int OnInit () {return (INIT_SUCCEEDED); } int start () {if ((Bid gt; mlevel) (mlevelgt; 0)) {if ((TimeCurrent () - lastalert) gt = 10 * 60)/следующее предупреждение при gt; = 10 мин от предыдущего один. PlaySound (alert.wav); lastalert = TimeCurrent (); Комментарий (Last Alert at (string) lastalert - Цена выше уровня (строка) mlevel); } return (0); }

  9. #9
    Quote Originally Posted by ;
    {Цитата}
    Эй, хозяин, как дела?
    У меня возникла проблема с моим кодом для Alert! Не могли бы вы пролить свет на это? Есть ли способ сохранить данные во время работы с данными, не будет сброшен по умолчанию до удаления индекса? ... Заранее спасибо!

  10. #10

    Quote Originally Posted by ;
    {quote} Есть ли способ сохранить данные во время работы, данные не будут сброшены по умолчанию до удаления индекса?
    Привет, Посмотрите на глобальные переменные. Сохраните значение как глобальную переменную и прочитайте на каждом Init (). Удалите переменную при удалении индекса. GlobalVarialSet () GlobalVariablGet () и т. Д. Cheers

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.