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

 
FoxUA:


Во избежание продолжения выяснений обстоятельств. FoxUA создайте свою тему с вопросом, в которой раскройте все тонкости. "Любой вопрос новичка..." - тема для "быстрых" "вопросов-ответов".
 
DDFedor:

Во избежание продолжения выяснений обстоятельств. FoxUA создайте свою тему с вопросом, в которой раскройте все тонкости. "Любой вопрос новичка..." - тема для "быстрых" "вопросов-ответов".

Я н е выясняю отношение а коментирую заявление в свой адрес,

и не кто неговорит о быстроте а реч идет обесмысленх коменариях которые не как не помогают

 
FoxUA:

Андрей, что то вы запутались, посмотрел я код, у вас переменная HaveBuyLimitOrderEnd встречается только в этой конструкции:

  if (HaveBuyLimitOrderEnd== true) 
  {DeleteOrder();  // Выбираем            
  }}

А вы несколькими постами выше пишете что в этой:

общем суть таkая шо первое значение исполnяется к ниму притензий нет а вот это не кaк не хочет 

if (HaveBuyLimitOrderEnd== true)
{ModifyBuyStopOrder(PRAskS); // Выбираем
} }

Так как должно быть?

 
ToLik_SRGV:

Андрей, что то вы запутались, посмотрел я код, у вас переменная HaveBuyLimitOrderEnd встречается только в этой конструкции:

А вы несколькими постами выше пишете что в этой:

Так как должно быть?



оно так и есть, вот логическая часть полостю чтоб было так сказать на лицо там блоки прокически одинаковые разница в условиях

if(bs==1&&bl==1)
{OpenBuyLimitOrder(Lot*7,PRAskL); 
  if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
      
  }   

if(bt==1&&bl==1) 
{OpenBuyStopOrder(Lot,PRBidS);
   if (HaveBuyLimitOrder== true) 
  ModifyBuyLimitOrder(PRAskL);  // Выбираем            
  } 

if(ss==1&&sl==1)
{OpenSellLimitOrder(Lot*7,PRBidL); 
   if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==1)
{OpenSellStopOrder(Lot,PRBidS); 
  if (HaveSellLimitOrder== true) 
  ModifySellLimitOrder(PRBidL);  // Выбираем            
  } 

  if(bs==1&&bl==3)
{OpenBuyLimitOrderEnd(Lot*15,PRAskL); 
   if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
  } 

if(bt==1&&bl==3) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot*3,PRAskL);
  if (HaveBuyLimitOrder== true) 
  DeleteOrder();  // Выбираем            
  } 

if(ss==1&&sl==3)
{OpenSellLimitOrderEnd(Lot*15,PRBidL); 
   if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==3)
{OpenSellStopOrder(Lot,PRBidS);
OpenSellLimitOrder(Lot*3,PRBidL);
   if (HaveSellLimitOrder== true) 
  DeleteOrder();  // Выбираем            
  } 

   if(bs==1&&bl==7)
{
    if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
  } 

if(bt==1&&bl==7) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot*3,PRAskL); 
  if (HaveBuyLimitOrderEnd== true) 
  DeleteOrder();  // Выбираем            
  } 

if(ss==1&&sl==7)
{  if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==7)
{OpenSellStopOrder(Lot,PRBidS); 
OpenSellLimitOrder(Lot*3,PRBidL); 
  if (HaveSellLimitOrderEnd== true) 
  DeleteOrder();  // Выбираем            
  } 

тобш любой блок звучит одинаково "если первая переменая равно 1 и вторая переменая равно 1,3,7 то открываем отложеный ордер с лотом ____и ценой _____" атакжее если флаг выбраного открытого отложеного ордера равен истене то модифицируем (удaляем) этот ордер

 
Здравствуйте. Ситуация следующая: значение сдвига индикатора из буфера перебирается оператором for, т.е for(i=0;i<=100;i++), MD1=MD1+i, MD1=iMACD(........, i), при этом, открытие позиции происходит, только если самый последний бар(в данном случае сотый) соответствует критериям открытия. Мне нужно, что бы открытие происходило в направлении от 0 бара(если критерии открытия верны) а более поздние бары не учитывались. Есть ли решение у этой проблемы? Заранее спасибо.
 
наверно for(i=100;i>=0;i--), ?
 
sergeev:
наверно for(i=100;i>=0;i--), ?
Так, почему то вообще ордера не открываются(MD1=MD1-i менял).
 

Всем привет, мне посоветывали упростить советика я его начал упрощять, но возникла одна проблемка, суть проблемы при открытии ордеров в журнале пишит ошибку 4107 но при этом спокойно открывает все ордера, кто может глянуть в чем проблема, скажу сразу весь код взят из библеотек Ким Игорь В. aka KimIV,

Файлы:
test_21.mq4  15 kb
 
sergeev:
наверно for(i=100;i>=0;i--), ?
Кажется, получилось, только i>=2, если 0 или 1, то возвращает -1 и 0, соответственно. Спасибо.
 
FoxUA:

Всем привет, мне посоветывали упростить советика я его начал упрощять, но возникла одна проблемка, суть проблемы при открытии ордеров в журнале пишит ошибку 4107 но при этом спокойно открывает все ордера, кто может глянуть в чем проблема, скажу сразу весь код взят из библеотек Ким Игорь В. aka KimIV,

Нормализируйте цены стопов.