[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 362
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот, как раз в коде Pr0t0tip (ну, и ник - запарился перепечатывать : )) ) эти переменные extern int sl=100; (и т.п.) отображены. Таким образом нужно объявить переменную, тогда она появится в настройках совы, после чего ее значение можно будет менять и оптимизировать.
это я знаю. но ведь внешние переменные внутри пользовательской функции не работают. там свои переменные объявляются. вот в чем загвоздка.
а от функции я избавится не могу. там модификация ордера....
А выше только START и больше НИЧЕГО
Аааааааа - вот, нашел... Не туда вставил - нужно было за скобочку переменную воткнуть:
Да еще и лишние были внизу else и еще одна фигурная скобка. Ты пишешь не соблюдая полей и единой структуры (стиля) письма. Когда правильно все расставишь, сразу все ошибки (несоответствия) видны. Будь аккуратнее в написании кода. - Так не должно ругаться.
Страно. У меня ваш код ругается так
'bool' - semicolon expected C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Точка с запятой.mq4 (33, 4)
собствено на bool have = true;
Аааааааа - вот, нашел... Не туда вставил - нужно было за скобочку переменную воткнуть:
Да еще и лишние были внизу else и еще одна квадр-я скобка. Ты пишешь не соблюдая полей. Когда правильно все расставишь, сразу все ошибки (несоответствия) видны. Будь аккуратнее в написании кода. - Так не должно ругаться.
это я знаю. но ведь внешние переменные внутри пользовательской функции не работают. там свои переменные объявляются. вот в чем загвоздка.
а от функции я избавится не могу. там модификация ордера....
Почему не работают? - Если ты возьмешь в пользовательскую функцию любую глобальную переменную, то она будет фурычить как и объявленная внутри. Просто данные внутренней переменной видны только этой функции - дальше ее действие ограничено. А у глобальной (extern) значения переменной видны всей проге. В этом вся разница. Но у внешней - опять же extern - переменная еще появится и в настройках. - Это же учебник. Перечитай, помогает. : )) Разумеется, при объявлении внешней переменной ссылку внутри функции нужно давать на эту глобальную. И чтобы имена не были одинаковыми. А то объявишь и внешнюю и внутреннюю одним именем. - Хотя, так можно, но вроде функция заберет значение внутренней переменной - точно не помню. Тут уже точно нужно в учебник лезть. Сам полазь, если хочешь это поэкспериментировать. Я обычно даю разные имена, чтобы не путаться и все.
Спасибо огромное...думал если внутренняя не видна снаружи, то и наружные не видны внутри...
Здравствуйте. Написал советника простого (пытаюсь сам научиться). Робот открывает сделки только на продажу, а на покупку не хочет. Я так понимаю, что не правильно прописал условия для покупки или не разделил должным образом. Прошу помощи. Вот оно:
extern int tp=100;
extern int sl=100;
extern int H=14;
extern int M=00;
double ma1, ma2;
int start()
{
ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);
ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);
if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)
OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",123,Red);
if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)
OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);
}
return (0);
ХМ, а мне поможет кто-нибудь?
Сейчас глянем - ток я не сильно опытный. Но попробуем... : ))
А Вы бы пока научились пользоваться кнопочкой SRC - она позволяет правильно, красиво и понятно вставлять код. Чтобы тем, кто будет Вам помогать (и сейчас и в будущем), было легче его читать. А то так глаза сломаешь. : ))