Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
привет, я пытаюсь преобразовать текст из нижнего регистра в верхний регистр, но при использовании команды ...
строка text= "lower case"; text= StringToUpper (text); Print(text);
А хелп лениво почитать? Функция возвращает булевское выражение, не надо подставлять туда текстовую переменную: text= "lower case"; bool status = StringToUpper (text); Print(text, " stat=", status);
В случае успешного выполнения возвращает true, иначе false. Для получения кода ошибки нужно вызвать функцию GetLastError().
А хелп лениво почитать? Функция возвращает булевское выражение, не надо подставлять туда текстовую переменную: text= "lower case"; bool status = StringToUpper (text); Print(text, " stat=", status);
В случае успешного выполнения возвращает true, иначе false. Для получения кода ошибки нужно вызвать функцию GetLastError().
Да, я понимаю откуда у этой проблемы ноги растут - вызов функции StringToUpper в мукле кривой: есть входные данные и они же выходные... с какого ляха? А если я не хочу у переменной-источника регистр менять?
Анекдот:
Идет обычная лесная жизнь: птички поют, мушки летают... И вдруг поверх этого щебетания слышится чья-та тяжелая поступь... Лес стихает, звери гадают - кто идет? Медведь?
Кусты раздвигаются и на поляну выходит озверелый ежь с топором в руке. Решительно подходит к пеньку, кладет на него свой главный прибор и топором по нему ....Хрясь!
Весь лес на это дружно АХ! ... и в наступившей мертвой тишине слышится голос ежа:
- Вот такие мы звери необыкновенные!
Здравствуй
У меня есть простой индикатор rsi, который я пытаюсь изменить на лету
Мне удается сделать это с помощью поля редактирования, но при попытке воссоздать или обновить буферы у меня не получается.
Поэтому я прошу вас, гуру, показать мне, как это делается, если вообще возможно.
Большое вам спасибо за это.
Здравствуй
У меня есть простой индикатор rsi, который я пытаюсь изменить на лету
Мне удается сделать это с помощью поля редактирования, но при попытке воссоздать или обновить буферы у меня не получается.
Поэтому я прошу вас, гуру, показать мне, как это делается, если вообще возможно.
Большое вам спасибо за это.
Привет, Алекс, извини за беспокойство, ты гуру, я просто пытаюсь учиться понемногу
Я забыл прикрепить индикатор раньше, но я попытался сделать то же, что и вы, переписав буфер, и все же, я думаю, что-то там не так.
не могли бы вы просто взглянуть и сказать мне, что не так?
это меня убивает
благодарю вас
Привет, Алекс, извини за беспокойство, ты гуру, я просто пытаюсь учиться понемногу
Я забыл прикрепить индикатор раньше, но я попытался сделать то же, что и вы, переписав буфер, и все же, я думаю, что-то там не так.
не могли бы вы просто взглянуть и сказать мне, что не так?
это меня убивает
благодарю вас
Дай мне то, что меня убьет, и если я не умру то это сделает меня сильнее...
во-первых, не стесняйся ставить скобки
во-вторых, давай уже использовать новые функции... у меня старческий склероз и я помню только новые варианты)
насколько я понял, ты хочешь написать RSI с возможностью изменения параметров прямо на графике... ну, если хочешь, то давай напишем такой индикатор, постепенно и с разбором что, как и для чего мы делаем
Дай мне то, что меня убьет, и если я не умру то это сделает меня сильнее...
во-первых, не стесняйся ставить скобки
во-вторых, давай уже использовать новые функции... у меня старческий склероз и я помню только новые варианты)
насколько я понял, ты хочешь написать RSI с возможностью изменения параметров прямо на графике... ну, если хочешь, то давай напишем такой индикатор, постепенно и с разбором что, как и для чего мы делаем
Доброе утро Алекс.
Прежде всего, я хотел бы еще раз поблагодарить вас за ваше время и терпение, которые вы мне показали.
Я попробовал индикатор, который вы здесь прикрепили, и вот что у меня получилось.
линии RSI по какой-то причине не отображаются правильно, и, следовательно, когда я меняю значения, я не получаю лучших результатов.
есть идеи почему?
Не обманывай людей. Старческий склероз это когда детство и юность помнится как вчера, а то что было вчера… вроде как и вообще небыло.
Видимо ты ещё достаточно молод.
Доброе утро Алекс.
Прежде всего, я хотел бы еще раз поблагодарить вас за ваше время и терпение, которые вы мне показали.
Я попробовал индикатор, который вы здесь прикрепили, и вот что у меня получилось.
линии RSI по какой-то причине не отображаются правильно, и, следовательно, когда я меняю значения, я не получаю лучших результатов.
есть идеи почему?
я примерно понял, чего ты хочешь добиться, но... давай ты сам пройдешь весь путь программиста
итак, сначала мы с тобой делаем индикатор, который объединяет 2 RSI
ну, посмотрели мы на него - нам нравится... но, нам хочется еще менять параметры не вызывая свойств индикатора
вспоминаем основные признаки при которых индикатор RSI что-то делает:
rates_total>prev_calculated - открылся новый бар
и
prev_calculated==0 - первый запуск индикатора
тут всё понятно... а вот теперь начинается самое интересное - ты пробовал реализовать ввод новых параметров через событие OnChartEvent
но, тут может скрываться серьезный недостаток - ты не можешь тестировать этот вариант
мое предложение - всё тоже самое, но проверяется состояние кнопки (нажата/отжата)
тогда мы получаем
if(rates_total>prev_calculated или кнопка нажата)
Здравствуйте!Я у вас новенький на форуме,может не в ту тему пишу.Кто-нибудь может помочь с индикатором?При установке его в мт4 и подключении к мт2,робот не видит сигналы от индикатора,автоматом стоит UPBuffer 0 и DNBuffer 1. Стоит поменять UP на 1 и DN на 0,сигналы принимаются,но МТ2 открывает их в обратном направлении.В чём может быть проблема? Индикатор прикрепить к сообщению?
Привет всем, как преобразовать из нескольких строк в одну строку, есть ли пример кода, который я могу сослаться?
Код:
string parts[];
StringSplit(row, ' ', parts);
int len = ArraySize(parts);
string txt;
for(int k = 0; k < len; k++) {
txt = parts[k];
}
Print(txt); // Result a
// b
// c
// d
Я хочу, чтобы это было так.
// Result a b c d
без заказа, как показано ниже.
Код:
for(int k = 0; k < len; k++) {
txt00 = parts[0];
txt01 = parts[1];
txt02 = parts[2];
txt03 = parts[3];
}
Print(txt00 + " " + txt01 + " " + txt02 + " " + txt03 ); // Result a b c d
Привет всем, как преобразовать из нескольких строк в одну строку, есть ли пример кода, который я могу сослаться?
Код:
string parts[];
StringSplit(row, ' ', parts);
int len = ArraySize(parts);
string txt;
for(int k = 0; k < len; k++) {
txt = parts[k];
}
Print(txt); // Result a
// b
// c
// d
Я хочу, чтобы это было так.
// Result a b c d
без заказа, как показано ниже.
Код:
for(int k = 0; k < len; k++) {
txt00 = parts[0];
txt01 = parts[1];
txt02 = parts[2];
txt03 = parts[3];
}
Print(txt00 + " " + txt01 + " " + txt02 + " " + txt03 ); // Result a b c d
Однако на самом деле оказалось, что оба эти способа возвращают неверные значения.
Вот, к примеру, есть такой брокер Альпари. Плечо моего счёта у данного брокера составляет 1:500, валюта счёта - доллары США. Казалось бы, размер залога (маржи) для покупки одного лота можно вычислить, разделив размер контракта (100 тыс. единиц базовой валюты) на плечо. Дело вроде бы нехитрое. Однако на практике этот подход почему-то не работает. Точнее, результат такого вычисления не совпадает с тем, что возвращают вышеупомянутые функции MQL.
У брокера из моего примера есть таблица (_alpari.forex/ru/trading/trading_terms/#margin_requirements), в которой указаны значения максимального кредитного плеча для различных инструментов. Вот небольшая выдержка из неё:
Symbol
Max. Leverage
USDCHF
1:1000
USDRUB
1:100
USDZAR
1:25
USDTRY
1:3
Я специально выбрал инструменты с базовой валютой USD для лучшего понимания.
Поскольку плечо моего счёта составляет 1:500, логично предположить, что величина залога при покупке одного лота для данных инструментов должна составлять:
Symbol
Required Margin
USDCHF
200
USDRUB
1000
USDZAR
4000
USDTRY
33333.33
Для проверки этого предположения я написал простенький скрипт:
К моему величайшему удивлению, этот скрипт вернул одинаковые значения для всех валютных пар! В частности, маржа для открытия одного лота USDCHF и USDZAR одинакова и равна 200. Хотя на самом деле она должна отличаться в 167 раз!
Внимание, вопрос! Где в моих рассуждениях ошибка и как на самом деле средствами MQL4 можно получить размер залога ДО открытия позиции?