[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 453

 
hoz:

 Я выше привёл первоначальный вариант, который есс-но компилится. Возник вопрос. Почему ты заменил в строках:

 i_maTF на Period() . У меня неверно что-ли?

В документации же сказано, что при расчёте скользящего среднего:

timeframe т.е. моя переменная  i_maTF  (Период. Может быть одним из периодов графика. 0 означает период текущего графика.) У меня был указан 0. Про i_maPeriod ни сказано ни слова. Прошу пояснить!

Я разве говорил, что так не правильно? - я посчитал эту переменную излишней. Тем более, что у Вас там "0" стоит, а это и означает Period() (таймфрейм текущего графика).

P.S. В индикаторах нужно ОЧЕНЬ внимательно подходить к внешним переменным, так как, в большинстве случаев индикатор используется (если он вообще нужен) в советниках, и бесполезные переменные в индикаторе НЕ НУЖНЫ. Например, строковые параметры с пояснениями. Хотя: хозяин - барин...

 
yellownight:
внутри скобок? а какой вид оно должно иметь если внутри скобок? я что-то не пойму.

Symbol() возвращает текстовую строку, типа "EURUSD",  и в Int  её перевести попариться надо...
 

 В индюке, если при объявлении массива не задано количество элементов т.е. так:

double         varsPrice1[],                             // Массив для цены в точке А
               varsPrice2[],                             // Массив для цены в точке В

Не просчитываются переменные, которые используют данный массив.

 Если  задаю количество элементов у обоих массивов, например, так:

 

double         varsPrice1[100],                             // Массив для цены в точке А
               varsPrice2[100],                             // Массив для цены в точке В

То всё правильно работает.

 А если задать  количество переменных у одного любого массива, например, так:

 

double         varsPrice1[],                                // Массив для цены в точке А
               varsPrice2[100],                             // Массив для цены в точке В

То значение зависимых переменных, использующих при расчётах данные массивы совсем другое. Почему так?

 Ведь если, например, я явно не знаю сколько элементов  будет в соответствующем массиве, можно же не указывать  их количество согласно справке. А на деле выходит, что не так..

 
hoz:
Symbol()

В самом простом случае напишите "Вашапара" , к примеру "USDJPY". Т.е. строковую константу вашей пары.
 
hoz:

 В индюке, если при объявлении массива не задано количество элементов т.е. так:

Не просчитываются переменные, которые используют данный массив.

 Если  задаю количество элементов у обоих массивов, например, так:

 

То всё правильно работает.

 А если задать  количество переменных у одного любого массива, например, так:

 

То значение зависимых переменных, использующих при расчётах данные массивы совсем другое. Почему так?

 Ведь если, например, я явно не знаю сколько элементов  будет в соответствующем массиве, можно же не указывать  их количество согласно справке. А на деле выходит, что не так..


Да не партесь Вы так с динамическими массивами, задайте заранее, с запасом, или памяти вам не хватает?
 
Sepulca:

В самом простом случае напишите "Вашапара" , к примеру "USDJPY". Т.е. строковую константу вашей пары.


"Вашапара" - "EURUSD", да у меня уже так было в коде, но тогда скрипт не будет работать если график - нетекущая пара, то есть я сижу на GPBUSD и хочу исполнить скрипт, то ничего не произойдет,  и, чтобы скрипт открыл ордер мне нужно переключиться на пару EURUsd,

 
yellownight:


"Вашапара" - "EURUSD", да у меня уже так было в коде, но тогда скрипт не будет работать если график - нетекущая пара, то есть я сижу на GPBUSD и хочу исполнить скрипт, то ничего не произойдет,  и, чтобы скрипт открыл ордер мне нужно переключиться на пару EURUsd,


Так, уже вроде писали, что если вы в текущем графике хотите открыть/закрыть/модифицировать ордера на другом инструменте соответвенно указывайте Ask/Bid нужной пары. Если пытаетесь что-то испытать в тестере, не получиться, Тестер работает только на одном инструменте.
 
Sepulca:

Так, уже вроде писали, что если вы в текущем графике хотите открыть/закрыть/модифицировать ордера на другом инструменте соответвенно указывайте Ask/Bid нужной пары. Если пытаетесь что-то испытать в тестере, не получиться, Тестер работает только на одном инструменте.

не подскажите как это выглядит примерно,как пишется Ask/Bid и прочее, что необходимо с другой пары в ordersend?

Отдельный вопрос к этой же теме, можно кодом прописать, чтобы переходило с текущего графика на необходимый?

 
ilunga:

Именно потому, что он только ВЫГЛЯДИТ как таймсерия.

Это только Ваше Личное мнение. А забив туда числа 1, 2, 1.2, 2.1 вы попадете на таймсерию для свинины 1927-го года (число условны). Но от этого массив таймсерией не станет - вам надо указать это явно соответствующей функцией

Другими словами, если я правильно понял, то: какой бы массив (в т.ч.и массив-таймсерию) я не скопировал с помощью функции ArrayCopy в ПОЛЬЗОВАТЕЛЬСКИЙ  массив - для того, чтобы этот пользовательский массив стал массивом-таймсерией, я должен "обработать" его функцией ArraySetAsSeries со значением параметра set, равным true?

 

yellownight:

 


не подскажите как это выглядит примерно,как пишется Ask/Bid и прочее, что необходимо с другой пары в ordersend?

Отдельный вопрос к этой же теме, можно кодом прописать, чтобы переходило с текущего графика на необходимый?


double MarketInfo( string symbol, int type)

Возвращает различную информацию о финансовых инструментах, перечисленных в окне "Обзор рынка". Часть информации о текущем финансовом инструменте хранится в предопределенных переменных.

 

Щас еще  скажу.............