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

 
kon12:

Ув. профи, подскажите... В индикаторе использую построение линий:

Беда в том, что при переходе на другой таймфрейм рисуются линий по новый параметрам, но старые не удаляются. Что нужно добавить и куда, чтобы при переходе на другой период старые линии не рисовались? Пасиб...
вам нужно в deinit поставить удаление старых линий.
 

подскажите что не так:

double order=AccountEquity()/4100;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point,"buy_order",1,0,Green);


выдаёт: 2011.03.08 16:35 ScaplerM5 EURUSD,M5: OrderSend error 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5: invalid lots amount for OrderSend function

 
AndrejFX:

подскажите что не так:

double order=AccountEquity()/4100;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point,"buy_order",1,0,Green);


выдаёт: 2011.03.08 16:35 ScaplerM5 EURUSD,M5: OrderSend error 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5: invalid lots amount for OrderSend function

Возможно, размер лота оказался меньше допустимого.

Т.е., если минимально допустимый лот равен 0.1, а Ваш лот = 0.09....

 

Всем добрый вечер!

Скажите, пожалуйста, функция TimeCurrent(); - возвращает последнее известное время сервера, время прихода последней котировки к графику которой прикреплен код или последний приход по любому инструменту?

По моим данным, полученным эксперементальным путем, второе...

Просто, хочу чтоб кто нибудь еще раз подтвердил мне это!

Заранее спасибо за ответ!

 
BBSL:

Всем добрый вечер!

Скажите, пожалуйста, функция TimeCurrent(); - возвращает последнее известное время сервера, время прихода последней котировки к графику которой прикреплен код или последний приход по любому инструменту?

По моим данным, полученным эксперементальным путем, второе...

Просто, хочу чтоб кто нибудь еще раз подтвердил мне это!

Заранее спасибо за ответ!

Вообще-то, это текущее серверное время....которое получили последним...
 
coronel:
Вообще-то, это текущее серверное время....которое получили последним...

То есть, не время последней котировки пришедший по данной паре валют?
 
BBSL:

По моим данным, полученным эксперементальным путем, второе...

да.

в справке ведь так и написано - "последнее время сервера". Оно не привязано к конкретной валюте.

 
sergeev:

да.



Вот... В связи с этим у меня родился вопрос...

У меня есть птребность в init(е) использовать функцию, которая собирает тики по текущей валюте...

Я это решал примерно так -

double init_array[10];


int init (){

int count = 0;
int time = 0;
int size = ArraySize(init_array); 


time = TimeCurrent();

while (count != size){

if (time != TimeCurrent()){

time = TimeCurrent();

init_array [count] = Ask; 

count = count + 1;

}

}


}

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

Что делать, как сделать так, чтоб эксперт реагировал только на приход нового тика по данному инструменту.

Есть идея сравнивать i и i+1, но если придут два одинаковых подряд, а токое вполне возможно то мы потеряем одно из значений.

Please assist))

 
BBSL:

Что делать, как сделать так, чтоб эксперт реагировал только на приход нового тика по данному инструменту.

убрать while

вынести код в start

а параметры

int count = 0;
int time = 0;

наружу

 
sergeev:
убрать while


Да, так можно, но в случае если эксперт мультивалютный, это ведь не решит проблему, да?

Все таки, может можно решить этот трабл в ините?))

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