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

 
neman:

Подскажите пожалуйста, есть ли простое решение вот какого вопроса.

Советник у меня рассчитывает лот, исходя из параметров счета:

То есть округляет до второго знака после запятой.

Но у некоторых брокеров округление допустимо только до первого знака, то есть лот 0.1 можно, а 0.12 - нельзя.

Тогда получается так:

Можно ли научить советник распознавать минимальный лот и шаг самостоятельно, без вручную прописываемого значения  в третьей строке кода?


lots = lotstep*MathRound((AccountFreeMargin()*risk*0.01/margin)/lotstep);
if(lots < 0.01) lots = 0.01;

где risk - процент вовлечённых свободных средств

      margin = MarketInfo(Symbol(),MODE_MARGINREQUIRED) - маржа на один ордер

      lotstep = MarketInfo(Symbol(),MODE_LOTSTEP) - шаг лота.

 
evillive:


где risk - процент вовлечённых свободных средств

      margin = MarketInfo(Symbol(),MODE_MARGINREQUIRED) - маржа на один ордер

      lotstep = MarketInfo(Symbol(),MODE_LOTSTEP) - шаг лота.

Спасибо! Функцию увидел, суть понял, справлюсь!
 

Доброго времени суток форумчане. Всёникак не могу решить задачку. Вроде бы проста, но как её реализовать, так чтоб правильно ума не приложу :-(. Суть в следующем.

Имеем массив с 10 элементами. в каждом элементе массива записана цена или уровень на текущий день. Необходимо определить по отношению к клосу ближайший уровень поддержки и сопротивления из массива. Как бы по красивей это сделать???? Ну и по дешеле (имеется ввиду ресурсы вычисления)

Есть какие нибудь соображения???? 

 
Спасибо всем за помощь, вроде как справился :-)
 

Помогите пожалуйста с кодом. Вот хочу выставлять стоп лосс и тейу профит по фибо уровням. Использую такую схему, но она не работает. Причину понять не могу. В журнале пишет только removed и uninit reason 0

 
 double low,
        high,
        SL,
        TP;
  int start()                               
       {
  low = iLowest (NULL,0,MODE_LOW,20,0);
  high = iHighest(NULL,0,MODE_HIGH,20,0); 
  SL = NormalizeDouble(low, 5);
 TP = NormalizeDouble(low+((high - low)* 1.68), 5);          
    OrderSend(Symbol(), OP_BUY,0.1, Ask, 3, SL, TP);
   return;                                  
  }
//--------------------------------------------------------------------
 
nikelodeon:

Доброго времени суток форумчане. Всёникак не могу решить задачку. Вроде бы проста, но как её реализовать, так чтоб правильно ума не приложу :-(. Суть в следующем.

Имеем массив с 10 элементами. в каждом элементе массива записана цена или уровень на текущий день. Необходимо определить по отношению к клосу ближайший уровень поддержки и сопротивления из массива. Как бы по красивей это сделать???? Ну и по дешеле (имеется ввиду ресурсы вычисления)

Есть какие нибудь соображения???? 

Нужно найти,  между какими уровнями попадает заданная цена?
 

RickD:
Нужно найти,  между какими уровнями попадает заданная цена?

Да Нужно узнать между какими уровнями находится в данный момент клосе. Тоесть определить текущие уровни поддержки и сопротивления..... 


 
nikelodeon:
В цикле ищем минимальную абсолютную разницу между уровнем и ценой. Найденный уровень и есть искомый
 
Vinin:
В цикле ищем минимальную абсолютную разницу между уровнем и ценой. Найденный уровень и есть искомый

Ну да, я примерно так и зделал, только сравниваю если цена больше уровня  и уровень больше переменно суппорт, то суппорт приравниваем к уровню. Соотвественно в переменную суппорт запишется уровень который ниже слоса но который больше остальных уровней которые ниже клоса. Вообщем это я уже реализовал.

У меня немного другой вопрос возник. Мой рабочий ТФ 5 минут. Как узнать опен и клозе предыдущего дня??? 

 
nikelodeon:

Ну да, я примерно так и зделал, только сравниваю если цена больше уровня  и уровень больше переменно суппорт, то суппорт приравниваем к уровню. Соотвественно в переменную суппорт запишется уровень который ниже слоса но который больше остальных уровней которые ниже клоса. Вообщем это я уже реализовал.

У меня немного другой вопрос возник. Мой рабочий ТФ 5 минут. Как узнать опен и клозе предыдущего дня??? 

iOpen(NULL, PERIOD_D1,1);

iClose(NULL, PERIOD_D1,1);

Причина обращения: