[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 112
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Извините, но я только спрашиваю єсть ли возможным загрузка истории котировок не из сервера Meta Quotes, а с сервера отдельного ДЦ, а свои предположения попрошу держать при себе (не в обиду), так как МТС не моя, и то что она чувствительна к изменению ДЦ я какрас собираюсь проверить.
Как отловить появление нового бара в советнике?
Вот так :
static int LastBars;
IBARS = iBars(Symbol(), Period());
if (LastBars != IBARS)
{
LastBars = IBARS;
.......
......
.......
}
Вот так :
static int LastBars;
IBARS = iBars(Symbol(), Period());
if (LastBars != IBARS)
{
LastBars = IBARS;
.......
......
.......
}
ага тоесть события на появление новой свечи нет ок спасибо большое.
всё, пришло время учить программировать, теперь буду задавать кучу нубских вопросов : )
и так, пошло... первый.
чего за гамно? вот простенький советник, что я не правильно прописал? * '\end_of_program * меня эта ошибка заманала, и не только в этом скрипте.
extern int Lots = 0.1;
extern int stoploss = 50;
extern int takeprofit = 50;
extern int iWPRperiod1 = 50;
extern int iWPRperiod2 = 60;
extern int magic = 555;
int start()
{
int stoploss, takeprofit, iWPRperiod1,iWPRperiod2, magic, lots;
if (iWPR(NULL,0,iWPRperiod1,0)>iWPR(NULL,0,iWPRperiod2,0))
{
OrderSend(NULL, OP_BUY,1,Ask,lots,stoploss,takeprofit,0,magic,0,Red);
}
if (iWPR(NULL,0,iWPRperiod1,0)<iWPR(NULL,0,iWPRperiod2,0))
{
OrderSend(NULL, OP_BUY,1,Ask,Lots,stoploss,takeprofit,0,magic,0,Red);
}
return(0);
}
Для начала проверьте фигурные скобки: они все у Вас открывающие. {...{ а надо {...} Первая ошибка и говорит, что в программе неправильно расставлены скобки.
Потом Вам сообщат, что у Вас нехватает точек с запятой в конце строки, тут даже покажут номер строки.
И такого добра будет еще много, потому что сообщить об ошибке благое деяние, а не ...... Переводите сообщения об ошибках, почти все понятно.
Привет всем. Такой вопрос:
Какой вариант кода меньше потребует ресурсов системы(и времени)?
Написал советник, получился видно довольно навороченный, имхо. Тестируется долго...
Думаю, может сократить как-то вычисления.
В данном случае легче выполнить функцию OrderType() или извлечь элемент массива mass[i,1]?
...
OrderSelect(mass[i,0],SELECT_BY_TICKET); //выбрать ордер
sl=TRALING(OrderType()); //вычисляет стоп-лосс
...
//или
...
OrderSelect(mass[i,0],SELECT_BY_TICKET); //выбрать ордер
sl=TRALING_BARS(mass[i,1]); //вычисляет стоп-лосс
...
то же самое OrderStopLoss и т.д.
или например:
...
//пересекла ли главная линия стохастика сигнальную линию сверху вниз
if(
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,shiftF)>
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF)&&
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0)<
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0))
...
//и ниже
...
//пересекла ли главная линия стохастика сигнальную линию cнизу вверх
if(
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,shiftF)<
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF)&&
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0)>
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0))
...
есть ли смысл создать переменные и присвоить им значения функции, и потом их использовать, или нет?
будет типа
...
double a=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,shiftF);
double b=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);
double c=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0);
double d=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0);
...
//пересекла ли главная линия стохастика сигнальную линию сверху вниз
if( a>b && c<d )
...
//пересекла ли главная линия стохастика сигнальную линию cнизу вверх
if( a<b && c>d )
...
затратнее каждый раз считать стох, или сздавать переменную, один раз считать стох и потом считывать значение из переменной?
Подскажите пожалуйста, программисты. Спасибо
Не, на постоянной основе я Ваши коды править не возьмусь. Технология поиска у Вас есть.
Единственное, что отмечу, мне не нравится нотация, которую Вы используете. При такой расстановке скобок, ИМХО, ошибку найти труднее. Посмотрите, как пишет KimIV.
Привет всем. Такой вопрос:
Какой вариант кода меньше потребует ресурсов системы(и времени)?
Написал советник, получился видно довольно навороченный, имхо. Тестируется долго...
Думаю, может сократить как-то вычисления.
В данном случае легче выполнить функцию OrderType() или извлечь элемент массива mass[i,1]?
затратнее каждый раз считать стох, или сздавать переменную, один раз считать стох и потом считывать значение из переменной?
Подскажите пожалуйста, программисты. Спасибо
А Вам обязательно работать на 0 баре?
Просто Вы уже такие вещи пытаетесь укоротить, что невольно напрашивается мысль о том что не в них дело...
А Вам обязательно работать на 0 баре?
Просто Вы уже такие вещи пытаетесь укоротить, что невольно напрашивается мысль о том что не в них дело...
нет, я не пипсер, если вы об этом...
а почему бы и не работать...
Просто машина итак загружена впредел, проц кипит... А прогон запустишь - как начнет считать...
И че там он считает, иди разбери, и переписывать впустую неохота - таких моментов много же в программах
так как насчет вопроса?