Передача переменных строки с использованием глобальных переменных
Results 1 to 7 of 7

Thread: Передача переменных строки с использованием глобальных переменных

  1. #1
    Может ли кто-нибудь сказать мне, можете ли вы передавать строковые переменные с использованием глобальных переменных? Я знаю, что вы можете передавать другие переменные, такие как integer, double и boolean, и не добавлять ничего лишнего, но всякий раз, когда я пытаюсь передать строку, все, что я получаю, это пучок из 0.

    Есть идеи?

    Благодарю.

  2. #2
    Кажется, что нет ... даже если вы попытаетесь создать его вручную на платформе, он не примет альфа-символы. Я думаю, что лучше всего будет либо писать в файл, либо если это действительно короткая строка, вы можете конвертировать и хранить каждую букву в соответствии с ее кодом ascii.

  3. #3
    Фактически, то, что я пытался сделать, это создать строку чисел (целых и двойных чисел), разделенных пробелами, затем передать это как глобальное и преобразовать обратно в соответствующие числа, как только она достигнет цели. Теперь я думаю, возможно, так как есть только четыре или пять чисел, я могу настроить оператор for и назначить переменную для каждого значения и передать их последовательно через глобальный. Или, если ничего другого, создайте отдельный глобальный для каждого отдельно, хотя я не уверен, что хочу это сделать? У меня есть шесть или семь диаграмм, открытых или более, с четырьмя или пятью глобальными значениями, назначенными каждому, и это может немного запутать. Или, может быть, я мог бы создать строку, начинающуюся с числа 1, и добавить все остальные переменные, по крайней мере, первые четыре, которые должны быть только одной цифрой, поэтому он выглядит как фактическое целое число. Затем я мог бы преобразовать это в целое число и передать его как глобальное, и обратный процесс на другом конце. Кажется, я мог бы попробовать это первым ... Эй, спасибо.

  4. #4
    Привет, я бы просто пошел по маршруту Global Variable (Gvar) ... у вас может быть что-то вроде 10 000 Gvars, поэтому, если вы можете отслеживать разные экземпляры EA, не должно быть проблем с сохранением многие переменные, как вам нравится. Обычно я использую подпрограмму, которая присваивает уникальный экземпляр MagicNumber каждому экземпляру эксперта на основе пары валют, временного кадра, идентификатора EA и уникального идентификатора экземпляра EA. Вы можете использовать подобную структуру, чтобы каждый график (экземпляр EA) мог отслеживать свои собственные Gvars через свой собственный MagicNumber. SO в качестве примера: - EA 1 EURGBP MagicNumber = 15645 gt; gt; имя Gvar = строка 15645_var1, 15645_var2,15645_var3, ........ EA 1 EURUSD MagicNumber = 10222 gt; Gvar name = string 10222 _var1, 10222 _var2,10222 _var3, ........

  5. #5
    Я действительно получил его для работы во втором экземпляре, о котором я говорил выше, и он отлично работает. Тем не менее, это не касается реальной проблемы, о которой я кратко упомянул здесь. Я пытался общаться между двумя отдельными учетными записями, используя эту TradeSwitch DLL ... которая, как написано в коде, была настроена только для того, чтобы обмениваться данными в одном направлении. Итак, я подумал, что если я изменил EA (предоставленный), чтобы искать глобальные переменные на конкретной учетной записи, которая передает (и получена на другой учетной записи), вместо отправки информации через определенный символ (), я мог бы устранить любые возможные перекрестные помехи, поскольку обе учетные записи передают и принимают. Как я уже сказал, при общении только одним способом, он отлично работает. Но, как только я подключу второй аккаунт, чтобы получить, я мертв в воде.
    Quote Originally Posted by ;
    EA 1 EURGBP MagicNumber = 15645 gt; имя Gvar = строка 15645_var1, 15645_var2,15645_var3, ........ EA 1 EURUSD Магический номер = 10222 gt; имя Gvar = строка 10222 _var1, 10222 _var2,10222 _var3, ........
    Да, это то, что является опрятным в глобалях, так как позволяет создавать переменные «на лету», так сказать.

  6. #6
    почему бы вам не исследовать использование dll и просто позволить ему обрабатывать все перекрестные разговоры и глобальные переменные и т. д. вместо того, чтобы пытаться перевести его в mt4?

  7. #7
    Конечно, конечно, если вы знаете, что делаете. Кроме того, поскольку я использую несколько экземпляров EA, я применяю это (в настоящее время девять, для каждой учетной записи), я полагал, что для каждого эксперта было бы проще создать глобальную специфику для диаграммы и создать один EA, который сканирует глобальные переменные и интерфейсы с DLL, передает информацию другой учетной записи и наоборот. Я думаю, что это довольно прямолинейно. Хотя, на самом деле, если бы я мог найти способ отправить информацию от каждого EA (каждого экземпляра) непосредственно в DLL без использования глобальных переменных, это может быть проще. На самом деле я сначала попробовал что-то подобное, но не смог заставить его работать. Я, вероятно, должен вернуться и снова проверить.

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

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