Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2492

 
ANDREY #:
без кавычек тип  string не может и не должен возникнуть

С чего Вы это взяли?

Комментарий - это текст и все что Вы вводите в это поле должно быть текстом.

 
Tretyakov Rostyslav #:
Комментарий - это текст

Комментарий - это всегда текст, то есть всегда тип данных  string ?
В параметре Coment  всегда лежит какой то тип данных. В параметре  Coment всегда лежит текст. Текст всегда имеет тип данных  string.
Или текст может иметь тип данных НЕ  string?
Если в параметре  Coment всегда должен лежать текст, а текст это всегда тип данных  string, а тип данных  string всегда обрамляется кавычками, тогда почему в варианте 4 компилятор не выдает ошибки? Ведь в варианте 4 лежит текст, то есть тип данных  string , не обрамленный кавычками

Почему компилятор ругается на вариант 2 НО .... не ругается на вариант 4?

 
ANDREY #:

Комментарий - это всегда текст, то есть всегда тип данных  string ?
В параметре Coment  всегда лежит какой то тип данных. В параметре  Coment всегда лежит текст. Текст всегда имеет тип данных  string.
Или текст может иметь тип данных НЕ  string?

Вы сами поняли что написали?

ANDREY #:
Или текст может иметь тип данных НЕ  string?

Я Вам уже писал! abcd - переменная, а "abcd" - текст.


С Вами становится сложно общаться.

В параметр Coment можно вводить только текст:

1) Предопределенный текст в ковычках - "текст"

2) Переменная: string авcd="текст"

3) Число: можно вводить 1234, т.к 1234 не может быть переменной - переводится в string автоматом, но с предупреждением "implicit conversion from 'number' to 'string' "

поэтому надо использовать DoubleToString или IntegerToString или TimeToString и т.д.

String

Документация по MQL5: Основы языка / Типы данных / Тип string
Документация по MQL5: Основы языка / Типы данных / Тип string
  • www.mql5.com
Тип string предназначен для хранения текстовых строк. Текстовая строка представляет собой последовательность символов в формате Unicode с...
 
Tretyakov Rostyslav #:
3) Число: можно вводить 1234, т.к 1234 не может быть переменной - переводится в string автоматом, но с предупреждением "implicit conversion from 'number' to 'string' "

Теперь понял, то есть , если я ввожу в Сoment  цифры 1234 , то программа автоматом преобразует их в строку и при этом кавычки в параметре  Сoment не нужны.
То есть не смотря на отсутствие кавычек в параметре  Сoment, число все равно становится строкой. Только это я и хотел понять..... что число становится строкой и без кавычек.

 
ANDREY #:
Только это я и хотел понять..... что число становится строкой и без кавычек.
Tretyakov Rostyslav #:
надо использовать DoubleToString или IntegerToString или TimeToString и т.д.
 
Tretyakov Rostyslav #:

Даже после того как я использую  DoubleToString или IntegerToString или TimeToString и т.д. и положу преобразованное этими функциями в строку  число 1234 в параметр Coment этот текст(1234) в параметре  Coment не будет обрамлен кавычками, на смотря на то что это тип данных  string. Вот именно это обстоятельство пока не укладывается в моей голове.

Текст( String ), который до преобразования был числом, не будет обрамлен кавычками в параметре  Coment функции 
OrderSend()

А если в параметр  Coment положить символы авсd, то их обрамление кавычками в параметре   Coment функции OrderSend() должно быть обязательно.
 
Andrei Sokolov #:

В индикаторе пауза не работает, по этому и спрашиваю: как сделать "иногда", так чтоб это не повесило индикатор? 

Если нет данных - вышли с возвратом нуля до следующего тика. Либо prev_calculated.  Тогда на следующем тике будет перерасчëт только текущего состояния, которое на этом тике
 
ANDREY #:

Даже после того как я использую  DoubleToString или IntegerToString или TimeToString и т.д. и положу преобразованное этими функциями в строку  число 1234 в параметр Coment этот текст(1234) в параметре  Coment не будет обрамлен кавычками, на смотря на то что это тип данных  string. Вот именно это обстоятельство пока не укладывается в моей голове.

Текст( String ), который до преобразования был числом, не будет обрамлен кавычками в параметре  Coment функции 
OrderSend()

А если в параметр  Coment положить символы авсd, то их обрамление кавычками в параметре   Coment функции OrderSend() должно быть обязательно.


Ну как же Вам объяснить - ковычки только Вы ставите, чтобы указать что это не переменная , а текст.

В этом примере предопределенный текст в ковычках и он не может быть изменен, в комментарии всегда будет "авcd "

TkT=OrderSend(Symbol(),OP_BUY,0.1,Ask, 3,Bid-0.0016,Bid+0.0008,"abcd",Tk1);

В этом примере переменная: string авcd="авcd " и если где-то в коде Вы назначите авcd="текст", то и комментарии будет "текст"

string abcd="abcd";
TkT=OrderSend(Symbol(),OP_BUY,0.1,Ask, 3,Bid-0.0016,Bid+0.0008,abcd,Tk1);

Все, я увольняюсь..

 
ANDREY #:

Ни одно из Ваших "или" не подтвердилось. В блоке открытия ордеров я убрал цикл for   и открыл 1 один единственный ордер. Когда этот ордер закрылся по Тейк профиту Print() вывела точно такое же значение параметра  Coment()  открытого и закрытого ордера. Если бы ордер не открылся, то он и не закрылся бы.  

Неужели Вы не знаете, что при закрытии по тейку сервер вписывает это в комментарий ордера? При стоплосс он пишет sl
 
ANDREY #:

Комментарий - это всегда текст, то есть всегда тип данных  string ?
В параметре Coment  всегда лежит какой то тип данных. В параметре  Coment всегда лежит текст. Текст всегда имеет тип данных  string.
Или текст может иметь тип данных НЕ  string?
Если в параметре  Coment всегда должен лежать текст, а текст это всегда тип данных  string, а тип данных  string всегда обрамляется кавычками, тогда почему в варианте 4 компилятор не выдает ошибки? Ведь в варианте 4 лежит текст, то есть тип данных  string , не обрамленный кавычками

Почему компилятор ругается на вариант 2 НО .... не ругается на вариант 4?

Неявное преобразование типа