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

 
rustein:

Как рассчитать максимальный допустимый размер лота? ошибка: 0.0000 failed [Not enough money]

Спасибо.



расчет в учебнике здесь при Percent = 100% - будет максимальный размер лота для Вашего дЕпа.
 
Roman.:

расчет в учебнике здесь при Percent = 100% - будет максимальный размер лота для Вашего дЕпа.

Спасибо, у меня вот так, где ошибка?:

//-----
  double MinLot        = MarketInfo(Symbol(),MODE_MINLOT);
  double MaxLot        = MarketInfo(Symbol(),MODE_MAXLOT);
  double MeansOneLot   = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
  double MeansFree     = AccountFreeMargin();
  double MeansGuaranty = AccountMargin();
  double MaxLotAllowed = MathFloor((MeansFree/MeansOneLot)*100)/100;
//----- Select Lot size
  if(MManagement == true)  Lots=NormalizeDouble(AccountBalance()*MaximumRisk/100.00/100.00,LotsDigits);
  if(MManagement == false) Lots=Lots;
//-----
  if(Lots <= MinLot) Lots=MinLot;
  if(Lots >= MaxLot) Lots=MaxLot;
  if(Lots >= MaxLotAllowed) Lots=MaxLotAllowed;
//+------------------------------------------------------------------+
 

ребята помогите создать функцию

при

if(signal)

рисовать линии:

первая жолтая, если если сигнал на продажу и цена пошла ниже жолтой линии, а сигнал все еще есть то рисуем заленную линию и так пока не утихнет сигнал,

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

хочу протестировать на сколько глубокие сигналы.

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

так и со сигналами я думаю.


я начал, но не могу понять что не так я сделал.

и не знаю как сделать правильно проверку, что бы оно рисовала линии выше или ниже.

Файлы:
 

Вот как то в учебнике я прочитал что все массивы статические и имеют тип static по умолчанию, но на деле оказалось что они не такие уж и статические, какими должны быть.

У меня в одном и том же коде если поставить переменную static bool tratata1, она сохраняет свое значение, а если поставить на ее место bool tratata[1], то эта уже не сохраняет свое значение. Повторяю, я в одном и том же коде меняю всего лишь одну переменную.

 
Читайте лучше документацию. Разделы : Типы переменных, и Выполнение программ. там все подробно описано.
 
FAQ:
Помогите и мне пожалуйста, где ошибка?
 
AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED)
Максимальное количество лотов на которое можно купить при имеющихся свободных средствах
 
//-----
  double MinLot        = MarketInfo(Symbol(),MODE_MINLOT);
  double MaxLot        = MarketInfo(Symbol(),MODE_MAXLOT);
  double MeansOneLot   = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
  double MeansFree     = AccountFreeMargin();
  double MeansGuaranty = AccountMargin();
  double MaxLotAllowed = MeansFree/MeansOneLot;
//----- Select Lot size
  if(MManagement == true)  Lots=NormalizeDouble(AccountBalance()*MaximumRisk/100.00/100.00,LotsDigits);
  if(MManagement == false) Lots=Lots;
//-----
  if(Lots <= MinLot) Lots=MinLot;
  if(Lots >= MaxLot) Lots=MaxLot;
  if(Lots >= MaxLotAllowed) Lots=MaxLotAllowed;
//+------------------------------------------------------------------+
Спасибо за помощь.
 

А вот скажите мне как рациональней будет написать советник по такому условию:

Есть три валютные пары, на которых советник будет открывать сделки, и при этом советник прикрепляется только к одному графику, а на других двух работает сам, вобщем мультивалютный.

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

Как только сделка закрывается, советник может заново открывать сделку по любой из пар, если цена подошла.

Я сделал это так, задал статическую переменную, пока значение переменной false - открытие сделок разрешено, и как только открывается ордер по любой из пар переменная принимает значение true. А как только сделка закрывается, и цикл for не может найти не одной сделки, то переменная опять принимает значение false.

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

Есть ли более рациональное решение этой задачи?

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