Млин, хоть убейся не передаются строки и все (((.
А в виде "Строка 1","Строка 2" тоже не передаются?
А ты не поленись и выложи extern переменные из индикатора и полную строку iCustom
ps; А как определил что не передаётся?
Ну что же начнем!
Вызов в боте:
void OnTick() { //--- string IndicatorName1 = "Indcator.07h-1"; string _F = "1"; string _P = "2"; string _B = "3"; string _L = "4"; string ListPairs = "EUR,USD"; double CodeRun = iCustom(NULL, 0,IndicatorName1,_F,15,_P,0,false,5,MODE_SMA,true,5,MODE_SMA,true,5,MODE_SMA, false,_B,301,_L,ListPairs, 7, 0);// //double CodeRun = iCustom(NULL, 0,IndicatorName1,_F, 7, 0);// }
В самом индикаторе проверяю получил ли я что-то или нет:
input string _F = "Количество фреймов"; input int sFraime = 60; input string _P = "Период(времени)"; input int sPeriod = EMPTY;//PERIOD_M1; input bool ShowL0 = false;//true; input int L0PeriodMA = 13; input int L0MethodMA = MODE_SMA; input bool ShowL1 = true; input int L1PeriodMA = 13; input int L1MethodMA = MODE_SMA; input bool ShowL2 = true; input int L2PeriodMA = 13; input int L2MethodMA = MODE_SMA; input bool DrawOnlyMiddle = false; input string _B = "Количество баров"; input int sBars = 300; input string _L = "Список валют."; input string ListPairs = "EUR,JPY,CAD,USD,GBP,AUD,CHF,NZD,OIL,CNY,TWD,KRW,INR,CNH,TRY,SGD,HKD,MXN,XAU,XAG"; int init() { //---- indicators BaseSymbol = GetBasePairs(0, 3); SecondSymbol = GetBasePairs(3, 3); Print("Индюк -- ",ListPairs);
В журнале тестера данная строка пустая, при вызове индикатора через бот:
2014.03.01 20:31:19.804 DashBoardV0.07h-1 EURUSD,M1: Индюк --
Та же срока если я кидаю индикатор на график:
2014.03.01 20:25:16.866 DashBoardV0.07h-1 EURUSD,H1: Индюк -- EUR,JPY,CAD,USD,GBP,AUD,CHF,NZD,OIL,CNY,TWD,KRW,INR,CNH,TRY,SGD,HKD,MXN,XAU,XAG
И так повторяю вопрос, почему не получается передать строковые переменные через бот в индикатор????
Неужели ни у какого не возникало подобной проблемы?
Внешние переменные менять в коде, хоть и не желательно, но всё-же можно. Но вот значение на закладке "Входные параметры" изменить из вне невозможно.
Назначение функции iCustom() не для изменения этих параметров. Я что-то не понимаю...
Не совсем понимаю, ты вызываешь индикатор самого из себя?
Внешние переменные менять в коде, хоть и не желательно, но всё-же можно. Но вот значение на закладке "Входные параметры" изменить из вне невозможно.
Назначение функции iCustom() не для изменения этих параметров. Я что-то не понимаю...
Где именно я указал что вызываю индикатор из самого себя?
Смотри пост выше, вызов индикатора из бота.
AlexeyVik, а можно не просто писать бред, а конструктивно и самое главное правильно задавать вопросы не путая себя и меня.
Всегда работала данная конструкция:
int start() { //--- string IndicatorName1 = "Indcator.07h-1"; string _F = "1"; string _P = "2"; string _B = "3"; string _L = "4"; string ListPairs = "EUR,USD"; double CodeRun = iCustom(NULL, 0,IndicatorName1,_F,15,_P,0,false,5,MODE_SMA,true,5,MODE_SMA,true,5,MODE_SMA, false,_B,301,_L,ListPairs, 7, 0);// //double CodeRun = iCustom(NULL, 0,IndicatorName1,_F, 7, 0);// }
В билде 610 это не работает!
Все переменные кроме строковых передаются нормально!!!
Где именно я указал что вызываю индикатор сам себя?
Смотри пост выше, вызов из бота индикатора.
AlexeyVik, а можно не просто писать бред, а конструктивно и самое главное правильно задавать вопросы не путая себя и меня.
1. Ты не правильно понял, это не утверждение а вопрос с удивлением.
2. Тем не-менее скрин больше похож на свойства индикатора, чем на свойства советника.
3. Можно вообще не участвовать. Прежде чем нести бред, я пытаюсь понять что ты делаешь и что должен получить.
К телепатам тебя пошлют другие, я воздержусь.
А ты не поленись и выложи extern переменные из индикатора и полную строку iCustom
ps; А как определил что не передаётся?
Помните этот вопрос? На него был ответ в виде скрина, соответственно на нем Вы видите окно индикатора, после вызова его через бот(тестер). Как видно переменные в нем пустые, хотя я передаю данные через бот!!!!
Надеюсь сейчас мне удалось ответить на Ваш вопрос?
Еще выше я подробно расписал все мои шаги и даже логи по результатам работы бота.
И главное :
Всегда работала данная конструкция: int start() { //--- string IndicatorName1 = "Indcator.07h-1"; string _F = "1"; string _P = "2"; string _B = "3"; string _L = "4"; string ListPairs = "EUR,USD"; double CodeRun = iCustom(NULL, 0,IndicatorName1,_F,15,_P,0,false,5,MODE_SMA,true,5,MODE_SMA,true,5,MODE_SMA, false,_B,301,_L,ListPairs, 7, 0);// //double CodeRun = iCustom(NULL, 0,IndicatorName1,_F, 7, 0);// } В билде 610 это не работает! Все переменные кроме строковых передаются нормально!!!
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем доброго!
Есть индикатор, в билде 610 при размещении его на график проблем не вызывает но при вызове его через эксперта получаю фигню, заметил что строковые значения не передаются, что изменилось в это направлении?
string _F = "Строка 1", _P = "Строка 2";
CodeRun = iCustom(NULL, iTimeframe,iName,_F,iFraime,_P,iPeriod,false,....);
Буду признателен за помощь!