Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 10

 
Chiripaha:

Нет, не проще. Т.к. если был отрицательный флаг (или глобальная переменная), то проверку все равно нужно запускать. И флаг и глобалька сработают лишь в положительном случае. А некоторые функции все равно нужны в Старте (хотя, тут по-разному бывает).

Как ни крути, в старте все равно запускать: либо через повтор "инита", что не менее гиморно, либо через повтор нужных функций.


  Что то вы такое мудрите, что аж уму "недостижимо"...

  А скажите мне, какая разница в возвращении значения функцией, или глобальной переменной которая изменяется в той функции результат от которой вам надо вернуть? В данном случае "инит". 

 

Коллеги подскажите в чем ошибка?

//========================================================================================================//     
                                             //---- SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell) 
  { //----- start

if(.........)
  
{ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketSell2=OrderSend(Symbol(),OP_SELL,0.2,Bid-20*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketSell3=OrderSend(Symbol(),OP_SELL,0.4,Bid-40*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
}
 
  } //-----end
          
//========================================================================================================//  
                                             //---- BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(.........)

{ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketBuy2=OrderSend(Symbol(),OP_BUY,0.2,Ask+20*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketBuy3=OrderSend(Symbol(),OP_BUY,0.4,Ask+40*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
}

Форум на предмет 130/138 ошибки уже изучил, но так и не понял почему дополнительные ордера 2 и 3 не открываются. Только основные.

 
НОРМАЛИЗАЦИЯ
 
Fox_RM:

Коллеги подскажите в чем ошибка?

Форум на предмет 130/138 ошибки уже изучил, но так и не понял почему дополнительные ордера 2 и 3 не открываются. Только основные.

Коллега, Вы хотите открыть рыночные ордера не по рыночной цене... :)
Ну, и не помешает разобраться чем лимитные (SELLLIMIT и BUYLIMIT) ордера отличаются от стоповых (SELLSTOP и BUYSTOP).

 
TarasBY:
Коллега, Вы хотите открыть рыночные ордера не по рыночной цене... :)

  А и в самом деле
 
Добрый день. Есть две точки с координатами (x1,y1) и (x2,y2). Как по этим двум точкам построить логарифмическую функцию с основанием логарифма, отличным от натурального? Вроде бы просится использовать обратную функцию (MathPow), но нужно ее как-то развернуть по-диагонали,  не соображу, как. Если кто сталкивался, подскажите, пожалуйста. Заранее благодарен.
 
hoz:

Ну так нет конца цикла, вот и тупит.

А как его правильно закончить?
 
Chiripaha:

Нет, не проще. Т.к. если был отрицательный флаг (или глобальная переменная), то проверку все равно нужно запускать. 

 Не всё-равно.

Chiripaha:

И флаг и глобалька сработают лишь в положительном случае. А некоторые функции все равно нужны в Старте (хотя, тут по-разному бывает).

Если будет разрыв связи или что-н. подобное, флаг по ходу, примет другое значение. Тока нада решить как грамотнее условия создать для этого.
 
Krokus:

А как его правильно закончить?
Нада примерно так:
int i, countedBars = IndicatorCounted();
        
    for(i = Bars - countedBars;i > 0;i--)
    {
      pointOfMaFirst = iMA(Symbol(),maTF,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack1);
      pointOfMaLast = iMA(Symbol(),0,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack2);    
    }
 
TarasBY:

Коллега, Вы хотите открыть рыночные ордера не по рыночной цене... :)
Ну, и не помешает разобраться чем лимитные (SELLLIMIT и BUYLIMIT) ордера отличаются от стоповых (SELLSTOP и BUYSTOP).


Можно уточнить, что значит не по рыночной цене? C SELLLIMIT и BUYLIMIT, все верно.