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

 
Roger >>:
Там же по-русски написано "Предупреждение", и ничего больше. Какая же это проблема? Про данные со своего ДЦ спрашивайте у них лично.
Если у Вас МТС чувствительно к изменениям у разных брокеров, вот это действительно поблема.

Извините, но я только спрашиваю єсть ли возможным загрузка истории котировок не из сервера Meta Quotes, а с сервера отдельного ДЦ, а свои предположения попрошу держать при себе (не в обиду), так как МТС не моя, и то что она чувствительна к изменению ДЦ я какрас собираюсь проверить.

 
Atis >>:
Как отловить появление нового бара в советнике?

Вот так :

static int LastBars;

IBARS = iBars(Symbol(), Period());

if (LastBars != IBARS)
{

LastBars = IBARS;

.......

......

.......

}

 
ssd >>:

Вот так :

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.

 
mukata писал(а) >>

Привет всем. Такой вопрос:

Какой вариант кода меньше потребует ресурсов системы(и времени)?

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

Думаю, может сократить как-то вычисления.

В данном случае легче выполнить функцию OrderType() или извлечь элемент массива mass[i,1]?

затратнее каждый раз считать стох, или сздавать переменную, один раз считать стох и потом считывать значение из переменной?

Подскажите пожалуйста, программисты. Спасибо

А Вам обязательно работать на 0 баре?

Просто Вы уже такие вещи пытаетесь укоротить, что невольно напрашивается мысль о том что не в них дело...

 
FOREXMASTER писал(а) >>
Ты куда код свой спрятал? Я его только хотел подправить, а его уж...
 
StatBars >>:

А Вам обязательно работать на 0 баре?

Просто Вы уже такие вещи пытаетесь укоротить, что невольно напрашивается мысль о том что не в них дело...

нет, я не пипсер, если вы об этом...

а почему бы и не работать...

Просто машина итак загружена впредел, проц кипит... А прогон запустишь - как начнет считать...

И че там он считает, иди разбери, и переписывать впустую неохота - таких моментов много же в программах

так как насчет вопроса?

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