Как записать определение: предидущий ордер был в плюсе(убытке)
А попроще никак?
Программер во мне родился не давно,поэтому мне с сылкой не справится,подскажите пожалуйста,где я допустил ошибку:
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;
=======
Саму функцию копируете и вставляете в советник
По вышеуказанной функции:
if (isLossLastPos("",-1,-1)==false)
Lts = Lts*2;
=======
Саму функцию копируете и вставляете в советник
if(isLossLastPos("",-1,-1)) { //последний ордер убыточный } if(!isLossLastPos("",-1,-1)) { //последний ордер прибыльный или профит=0 }
Я скоро буду бится головой об стенку,Что не так с расчетом ордеров ???????
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()
}
}
Как записать определение: предидущий ордер был в плюсе(убытке)
Если вам нужно узнать, что было с предыдущей позицией плюс или минус, зачем вам лот?
Я хочу при сделке закрытой в минусе,удваивать размер лота пока не будет плюса
Я скоро буду бится головой об стенку,Что не так с расчетом ордеров ???????
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;
Я скоро буду бится головой об стенку,Что не так с расчетом ордеров ???????
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, если прибыльная и выбирать по тикету тогда уж.
Удачи.
ЗЫ Вы б "букварь" то почитали: метод научного тыка не всегда дает достоверный результат.
Да все не так.
ИМХО - лучше, чтобы функция возвращала тикет, если последняя поза убыточная или -1, если прибыльная и выбирать по тикету тогда уж.
Удачи.
ЗЫ Вы б "букварь" то почитали: метод научного тыка не всегда дает достоверный результат.
И читаю,и тыкаю,а голова все пухнет и пухнет
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как записать определение: предидущий ордер был в плюсе(убытке)