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

 
Maximov7:
Пытаюсь написать своего первого советника...Подскажите пожалуйста как зафиксировать Ask, обьявив ее через переменную, при этом она должна быть глобальной ибо должна восприниматся каждой специальной функцией....помогите пожааааааалуйста)))

Ну да объявите переменную double сразу за внешнеми параметрами эксперта, присваивайте ей значение Ask когда надо, используйте когда вздумается в любых функциях. Хотя правильне использовать локальные переменные и передавать их в качестве аргументов... И разберитесь с областями видимости переменных, это азы, без этого все равно никуда.
 

В том то и дело я так сделал, но внутри функции start() ее не видно, а в журнале пишется что с самого начала переменной было присвоено не значение Ask в тот промежуток времени а просто 0.

extern double C1; C1 = Ask;
extern double C2; C2 = Bid;



int start()
{

OrderSend("EURUSD",OP_BUY,0.1,C1,3,Bid-0.0009,Ask+0.0009);

 
double C1; 
// в старте
C1 = Ask;
 
rlx:


Для точной уверенности

поставьте Print() там где вызывается функция ClosePosBySizeProfitInPercent("0", -1, Magic, VashParametrPR); перед ней.

Параметры задаются явно. Может все же какие-то недокументированные ограничения есть? Например кол-во процедур макс, или длинна имени процедур? Все же работало. Не стало работать после добавления новой процедуры, а она вообще другую задачу выполняет.
 

double C1;
// в старте
C1 = Ask;

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

 
Maximov7:

double C1;
// в старте
C1 = Ask;

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

напишите в init()

правда не совсем понятно зачем вам нужен Ask момента запуска

 

Доброго всем времени суток!

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

Нужна помощь - добавить к советнику виртуальный ТП ( в пунктах и\или при достижении заданного значения прибыли).

Помогите пожалуйста!

С уважением, Роман.

Файлы:
bunny_v2.21.ex4  22 kb
 
RomanDD:

Доброго всем времени суток!

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

Нужна помощь - добавить к советнику виртуальный ТП ( в пунктах и\или при достижении заданного значения прибыли).

Помогите пожалуйста!

С уважением, Роман.

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

во сколько вы оцените работу по моей проблеме?

 

Вот еще такой вопрос.... есть открытый ордер допустим такой:

OrderSend("EURUSD",OP_BUY,0.1,C1,10,Bid-0.0017-0.0017,Ask+0.0017);

как открыть другой ордер при условии(if) что этот закроется по тейкпрофиту????

Причина обращения: