[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 916

 

Здравствуйте, у меня вопрос. какое значение возвращает iCustom() из индикатора?

то есть у меня есть индикатор, в котором есть расчет в итоге которого должно получиться 1 или 0 или -1

и советник в котором вызывается iCustom().

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

 
naked:

Здравствуйте, у меня вопрос. какое значение возвращает iCustom() из индикатора?

то есть у меня есть индикатор, в котором есть расчет в итоге которого должно получиться 1 или 0 или -1

и советник в котором вызывается iCustom().

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

если в индюке -1 то и iCustom() выдаст в советнике -1 . в индюке менять ничего не нужно.
 
так вот я и не понимаю!, в индюке должна быть заведена определенная переменная или мне нужно вписать в return(??СЮДА??), потому как куда бы не положил это значение iCustom() возвращает 0.
 
s500:

здравствуйте!

Ворос по тестеру стратегий: при тестирование в журнале тестера нет никаких результатов с записями, в журнале терминала записей об ошибках тоже нет.....при окончании полосы загрузки, в тестере советника, появляется противный писк .Советник лежит в папке experts все галочки поставлены сто сделать помогите плз?

возможно не закачена история котировок или параметры советника настроены так что советник не совершает сделок
 
naked:
так вот я и не понимаю!, в индюке должна быть заведена определенная переменная или мне нужно вписать в return(??СЮДА??), потому как куда бы не положил это значение iCustom() возвращает 0.
смотря какой индюк. если значения 1 0 или -1 запоминаются индикаторным массивом то ничего в советнике менять не нужно. а если индюк не использует буфера то тогда iCustom() не поможет. тут уже нужно использовать для обмена информацией глобальные переменные, в таком случае индюк должен висеть вместе с советником
 
forex-k понял. массива нету. глоб переменных тоже. буду править. Спасибо.
 

А это чё правда что ли,что советник может тестироваться,но не будет работать на демо или реале?

если да,мне чё надо полностью советник перекодировать чтобы заработал на реале?

и вооще на фига тогда функции рубят для версии тестирования???

но если это правда,то это полный ...... даже незнаю как написать!!!!!!! я наверно перечитывал

учебник раз 10 а в документации я не спорю все граматно и красиво,только я пока недопонимаю

что там вообще пишут!!!!

 
artmedia70:

В советнике проверять - закрыт ли ордер по стопу. И, если да, то менять значение вашего флага.

Можете для определения закрытия по стопу последней закрытой позы воспользоваться готовой ф-цией Игоря Кима.

Ну, или уж сами сделайте. В любом случае - вам для начала хорошим примером будет:


Приведенную Вами функции не пробовал включать, но попробовал изменить флаг другим, более простым способом.

В цикле, который стоит значительно выше функции открытия ордеров (он проверяет далее по коду необходимость закрытия своих ордеров). Здесь OP - метка выставляемого ордера (мой флаг):

for(i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
{OP=0;
break;// если ордер номер i не существует, прекращаем перебор
}

....


По идее, если причина была бы в значении флага, вопрос должен был быть закрыт. Но тестер открытие дальнейших ордеров после пробоя стопа все равно не производит((

 

И еще: при тестировании тестер выдает ошибку значения 1. Стоит ли обращать на нее особое внимание?
 

 
Как создать функцию и вызвать ее?
 
ViktorF:


Приведенную Вами функции не пробовал включать, но попробовал изменить флаг другим, более простым способом.

В цикле, который стоит значительно выше функции открытия ордеров (он проверяет далее по коду необходимость закрытия своих ордеров). Здесь OP - метка выставляемого ордера (мой флаг):

for(i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
{OP=0;
break;// если ордер номер i не существует, прекращаем перебор
}

....


По идее, если причина была бы в значении флага, вопрос должен был быть закрыт. Но тестер открытие дальнейших ордеров после пробоя стопа все равно не производит((

И еще: при тестировании тестер выдает ошибку значения 1. Стоит ли обращать на нее особое внимание?

Тут у вас странная какая-то конструкция. Вы делаете стандартный цикл перебора ордеров терминала. От нуля до OrdersTotal() -1. А потом уже в цикле проверяете полное отсутствие ордеров в терминале. Почему бы тикет ордера не проверять? Или магик? Да и флаг ваш почему-то =0. А почему не false? Хотя, хозяин - барин... Ваша логика - вам её и разбирать... :)