Вопрос к знатокам - страница 16

 
Daiver2 писал(а) >>

....

Вопрос такой что я тут неправильно наплёл в операторе switch, почему не вылазиет сообщение *Эксперт не работает*, и чтобы действительно советник прекращал работу?????

Если надо, чтобы сообщение о недостаточности баров было один раз, можно так сделать:

static int x=0;

if(x<2){
   if(Bars<A){
         if(x==0){
            Alert("Недостаточно баров");
            x=1;
         }
      return(0);
   } 
   else{
         if(x==1){
            Alert("Достаточно баров, начинаем работать");
         }
      x=2;
   }
}
 
Integer писал(а) >>

Если надо, чтобы сообщение о недостаточности баров было один раз, можно так сделать:

Спасибо.

 

Добрый день.

Известно, что в некот. ДЦ покупка/продажа фьючерсных инструментов произодится не по той цене, что мы видим на графике, а по ценам аск и бид тикера #I

 Я сделал советник, который на графике (напр. ) FDAX отражает  графически (линиями)  и дополнительно пишет в углу цены тикера  FDAXHO#I

И теперь можно видеть по какой фактической цене откроется позиция.

Однако. Оч. скоро обнаружилось существенное недоразумение. 

Ведь цены аск и бид тикера FDAXHO#I меняются много чаще, чем цена самого инструмента FDAXHO.

И получается, что на графике FDAXHO при отсутствии котировок - цены тикера тоже "застывают" (хотя они в это время меняются) ! И меняются лишь с приходом очередной котировки FDAXHO.

Но ведь за это время аски и биды тикера FDAXHO#I уже несколько раз изменились, но мы на графике  FDAXHO  этого не увидели !

Как тут можно исправить ситуацию ?

Чтобы цены аск и бид тикера FDAXHO#I динамично менялись на графике FDAXHO,  - даже если котировки на FDAXHO не поступают ?

Надеюсь, я толково  поставил вопрос. Кто-ниб. сталкивался с подобной задачей ?


РТ



 

 
leonid553 >>:

Надеюсь, я толково поставил вопрос. Кто-ниб. сталкивался с подобной задачей ?

Есть два решения:

1. Зациклить эксперта. В конце каждого цикла делать RefreshRates();

2. Посылать окну событие о приходе нового тика -- то же зацикливание, только более (правильное | неправильное -- выбрать нужное).

 

К сож, с моими скромными знаниями мне не под силу пока "зациклить" эксперта.

Пож, покажите, как это сделать в данном коде "по факту" *

 
leonid553 >>:

К сож, с моими скромными знаниями мне не под силу пока "зациклить" эксперта.

Пож, покажите, как это сделать в коде "по факту" *

start()
{
   while(true)
   {
   
      ...
      ... // тело ф-ии start()
      ...
   
      sleep(1000);
   }
}
 
Martingeil >>:

Фтопку.

void start()
{
   while(!IsStopped())
   {
      RefreshRates();
      ...
      ... // тело ф-ии start()
      ...
   
      Sleep(нужное кол-во мсек);
   }
}
 

Благодарю. Сделал. Вроде бы,  получилось все норм.

Цены  тикера #I меняются независмо от зависания   котировок на графике.

 

Martingeil писал(а) >>

подскажите, как прописать фибо в советник?

Судя по коду, сначала надо найти две последних вершины зигзага и от них уже скакать. Посмотрите у Игоря в ветке, там должны быть соотв. функции.
 
leonid553 >>:

Добрый день.

Известно, что в некот. ДЦ покупка/продажа фьючерсных инструментов произодится не по той цене, что мы видим на графике, а по ценам аск и бид тикера #I

 Я сделал советник, который на графике (напр. ) FDAX ...... пишет в углу цены тикера  FDAXHO#I


 


Добрый день всем !

Пож., подскажите. Мне нужно, чтобы при установке советника на график (напр. FDAXHO) в комменте отображалось название тикера FDAXHO#I

Это уже сделано, но приходится вручную задавать в СВОЙСТВАХ ЭКСПЕРТА  название 'этого тикера.

Иначе говоря, сейчас сделано так:

//---Внешние параметры советника---
extern string    Tiker  = "FDAXH0#I";//наименование
//-------------------------------------------

//-------------------------------------------------
int start() {
 
Comment (//отображаем цены на графике
"Инструмент  = ",Tiker);
... ... ...

Не знаю, как сделать так, чтобы возвращалось автоматом наименование символа, на график которого(напр., FDAXH0) установлен советник и как к этому наименованию приплюсовать дополнение   "#I" ?

Пож. подскажите детально ....

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