[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 65

 
Vinin:

отключения по тайм-ауту

а что такое тайм аут? это же не футбол! :)
 
Macros:

Всем привет ! Помогите если это возможно переделать? хочется чтоб  позиции открывались по закрытии свечи ниже или выше линии .Может какой отдельно скрипт добавить ?



Делайте по открытию свечи. Примеров можно найти множество. Можно начать с ФАКа
 
lottamer:

а что такое тайм аут? это же не футбол! :)

Как я понимаю - время вышло
 
lottamer:

не сработало. 

Ну  если не сработало... НУ ОЧЕВИДНО ЧТО А<0  ПОСТОЯННО ПОЭТОМУ И 6 ГИГ НАПЕЧАТАЛО.
 
Vinin:

Делайте по открытию свечи. Примеров можно найти множество. Можно начать с ФАКа

Да,давайте по открытию. если можно доступным языком.устал с этим как заноза ...
 
Macros:

Да,давайте по открытию. если можно доступным языком.устал с этим как заноза ...

Не лучший вариант, но последний пост на странице
 
Sepulca:

Ну  если не сработало... НУ ОЧЕВИДНО ЧТО А<0  ПОСТОЯННО ПОЭТОМУ И 6 ГИГ НАПЕЧАТАЛО.

а <0 это показания индикатора....может быть постоянным от 10 до 20 минут.... потом меняется...например пересечение средних
 

Доброго вечера! Обьявил 2 динамических массива (так кажется), вот-так int Buy[];int Sell[];  И не могу по факту присвоить элементам массива никакое значение, принты печатают ноль.

 

int Buy[];int Sell[];

int start()
  {
//----
    if (!PozyProstavleny){ 
   
           Price= (Ask+Dist*Point) ; TP_BUY=(Price+TP*Point);  SL_BUY= (Price- SL*Point);
           Price_SELL= (Bid-Dist*Point) ;  TP_SELL=Price_SELL-TP*Point;  SL_SELL=Price_SELL+SL*Point; 
           
   for(int Raz1=0;Raz1<Raz;Raz1++){Print ("Raz1",Raz1);
   
           Sleep(2000); RefreshRates();  for(int A=25;A>=0;A--){if(IsTradeAllowed())break;if(A==0)
           Comment(" эксперту не разрешено торговать или поток для выполнения торговых операций занят "); }           
  tyccBuy= OrderSend (Symbol( ), OP_BUYSTOP,  Lot ,NormalizeDouble(Price, Digits), 5, NormalizeDouble( SL_BUY,Digits), 
           NormalizeDouble( TP_BUY,Digits), NULL, 450, 0, CLR_NONE);
   Buy[Raz1]= tyccBuy;Print ("Buy[Raz1]",Buy[Raz1]," tyccBuy",tyccBuy);
           Price= (Price+Dist*Point) ; TP_BUY= (Price+TP*Point); SL_BUY= (Price- SL*Point);
           Error=GetLastError();
     if (Error!=0){ string errorcomment = "Ошибка открытия ордера байстоп  "  + " " + Symbol() +  " " + ErrorDescript(Error); 
           Print (errorcomment);}
           
           Sleep(2000); RefreshRates();  for( A=25;A>=0;A--){if(IsTradeAllowed())break;if(A==0)
           Comment(" эксперту не разрешено торговать или поток для выполнения торговых операций занят "); }        
           Sell[Raz1]=OrderSend (Symbol( ), OP_SELLSTOP,  Lot ,NormalizeDouble(Price_SELL, Digits), 5,
           NormalizeDouble( SL_SELL,Digits),   NormalizeDouble( TP_SELL,Digits), NULL, 450, 0, CLR_NONE);
     Price_SELL= (Price_SELL -Dist*Point) ;TP_SELL=Price_SELL-TP*Point;   SL_SELL=Price_SELL+SL*Point;
            Error=GetLastError();if (Error==0)
            
            {errorcomment = "Ошибка открытия ордера селлстоп  "  + " " + Symbol() +  " " + ErrorDescript(Error); 
        Print (errorcomment);} Print ("for1");PozyProstavleny=1; 
                       }
                       }   
                        

         
             

//----
 

Wearwolf GBPUSD,Daily: Buy[Raz1]0 tyccBuy9

.........

Wearwolf GBPUSD,Daily: Buy[0]0 Buy[1]0 Buy[2]0 Buy[3]0


 
lottamer:

а <0 это показания индикатора....может быть постоянным от 10 до 20 минут.... потом меняется...например пересечение средних


Ну во первых за десять минут вполне реально напихать 6 гигов. Получается с каждым тиком один принт, зачем Вам это надо?

А во-вторых Вы уверены что меняется?

Какой-нибудь семафор надо ставить, что-бы один раз печатало... 

if ()  {buy}

else { ЕЩЕ_НЕ_ПЕЧАТАЛИ=true; 
 while (a<0) {if(ЕЩЕ_НЕ_ПЕЧАТАЛИ) {print ...; ЕЩЕ_НЕ_ПЕЧАТАЛИ=false;}    a=вычисление_нового_а;}
 ЕЩЕ_НЕ_ПЕЧАТАЛИ=true;
if (...) ... 
где-то так....
Причина обращения: