Как записать определение

 

Как записать определение:  предидущий ордер был в плюсе(убытке) 

 
Romari:

Как записать определение: предидущий ордер был в плюсе(убытке)

https://www.mql5.com/ru/forum/107476/page21#80065
 

А попроще никак?

Программер во мне родился не давно,поэтому мне с сылкой не справится,подскажите пожалуйста,где я допустил ошибку:

            if (Total<0) Lts = Lts*1;

else

            if (Total>0 && Total<MaxLots ) 
            if (OrderSelect(1, SELECT_BY_POS, MODE_HISTORY))
  {
            if(OrderProfit()<0)
                Lts = Lts*2;     // OrderLots();
  }
   


 

По вышеуказанной функции:

if (isLossLastPos("",-1,-1)==false)

Lts = Lts*2;

 

=======

Саму функцию копируете и вставляете в советник 

 
Azerus:

По вышеуказанной функции:

if (isLossLastPos("",-1,-1)==false)

Lts = Lts*2;

=======

Саму функцию копируете и вставляете в советник

if(isLossLastPos("",-1,-1))
  {
   //последний ордер убыточный
  }
if(!isLossLastPos("",-1,-1))
  {
   //последний ордер прибыльный или профит=0
  }
 
khorosh:


Я скоро буду бится головой об стенку,Что не так с расчетом ордеров ???????

if (Total<0)
 {
                   if(isLossLastPos("0",-1,-1))                                                   //последний ордер убыточный
                           {
                               if (OrderSelect(1, SELECT_BY_POS, MODE_HISTORY))
                               Lts =OrderLots()*2;
                           }
       else  
                  if(!isLossLastPos("0",-1,-1))                                                  //последний ордер прибыльный или профит=0
                          {
                              Lts = Lts*1;  
                          }
   
           if (Lts*One_Lot > Free)                                                               // Лот дороже свободн.
                         {
                         Alert(" Не хватает денег на ", Lts," лотов");
               return;                                                                                   // Выход из start()
                          }
    }
 

 
Romari:

Как записать определение: предидущий ордер был в плюсе(убытке)

Если вам нужно узнать, что было с предыдущей позицией плюс или минус, зачем вам лот?
 
zhuki:
Если вам нужно узнать, что было с предыдущей позицией плюс или минус, зачем вам лот?


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

 
Romari:


Я скоро буду бится головой об стенку,Что не так с расчетом ордеров ???????

if (Total<0)
{
if(isLossLastPos("0",-1,-1)) //последний ордер убыточный
{
if (OrderSelect(1, SELECT_BY_POS, MODE_HISTORY))
Lts =OrderLots()*2;
}
else
if(!isLossLastPos("0",-1,-1)) //последний ордер прибыльный или профит=0
{
Lts = Lts*1;
}

if (Lts*One_Lot > Free) // Лот дороже свободн.
{
Alert(" Не хватает денег на ", Lts," лотов");
return; // Выход из start()
}
}

Lts0=0.1; //начальный лот

затем в вашем коде

заменяем

Lts=Lts*1;

на

Lts=Lts0;

 
Romari:


Я скоро буду бится головой об стенку,Что не так с расчетом ордеров ???????

if (Total<0)
{
if(isLossLastPos("0",-1,-1)) //последний ордер убыточный
{

if (OrderSelect(1, SELECT_BY_POS, MODE_HISTORY))

// Вы уверены, что у Вас будет только один ордер ? А если несколько убыточных подряд ?

// А если это ордер по другой валюте или выставлен не этим советником ?

// И Вы действительно считаете, что у последнего ордера всегда будет номер "1" ?

Lts =OrderLots()*2;
}
else
if(!isLossLastPos("0",-1,-1)) //последний ордер прибыльный или профит=0
{
Lts = Lts*1;
}

if (Lts*One_Lot > Free) // Лот дороже свободн.
{
Alert(" Не хватает денег на ", Lts," лотов");
return; // Выход из start()
}
}

Да все не так.

ИМХО - лучше, чтобы функция возвращала тикет, если последняя поза убыточная или -1, если прибыльная и выбирать по тикету тогда уж.

Удачи.

ЗЫ Вы б "букварь" то почитали: метод научного тыка не всегда дает достоверный результат.

 
VladislavVG:
Да все не так.

ИМХО - лучше, чтобы функция возвращала тикет, если последняя поза убыточная или -1, если прибыльная и выбирать по тикету тогда уж.

Удачи.

ЗЫ Вы б "букварь" то почитали: метод научного тыка не всегда дает достоверный результат.


И читаю,и тыкаю,а голова все пухнет и пухнет
Причина обращения: