[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 532

[Deleted]  
Pyro:
Спасибо, это более простое решение чем я наколдовал))
 
tol64:

Я не специально.))
Получается, что это относительное понятие.)) Баланс - это зафиксированные прибыли/убытки. И это реально. Средства, AccountEquity(), ещё могут измениться сколько угодно раз и это в принципе тоже реально, но уже довольно расплывчато. Доводить свой счёт до критической величины конечно не стоит и загрузку депозита и риски нужно контролировать подальше от стоп-аута и маржин-кола в процентном соотношении. Такой пример уже был выше. Тот самый "камикадзе".)))

В таком случае novicek нужно вопрос было поставить более конкретно и использовать чёткие, всем понятные определения такие, как Баланс/Эквити (чётко), а не Реально/Нереально (расплывчато). Пример ниже Вам бы подошёл тогда?

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

как раз то что искал
где можно скачать?

P.S.
Ссори не правильно сформулировал

[Deleted]  

Привет всем,

(пока мы проектируем ЭС про которую я писал выше)

Были ли факты регистрации у одного ДЦ нескольких торговых счетов и реализация следующего:

1. натравливались ли экстремальные МТС на один ДЦ ? (при условии 1 МТС на один счет)...(ДЦ вроде как приветствует открытие любого кол-ва счетов)

2. интересует не интеграция нескольких торговых алгоритмов в один жадный советник, а "просторная система" - "каждому своя дорога".


То есть, если не сложно, напишите односложно перечень диаметральных МТС, если он есть. Интересен Ваш взгляд на диаметральность.

Нет - так нет.

Одно из наших исследований подразумевает одновременный старт нескольких экстремальных МТС в одном ДЦ на разных счетах (и одновременное завершение их работы, разумеется). Если это уже делалось, прошу дать ссылку на результат или обсуждение краха. Интересует наблюдение и скромный анализ. Будет неприятно, если мы ради этих тестов - запустим свой "офис тестов" ))) если есть информация - поделитесь пжста. Просто без поддержки с Вашей стороны мы не расскажем Вам как низко мы пали в своей истории исследований и у Вас не будет повода злорадно усмехнуться в наш адрес )))

P.S. как я писал ранее - нас интересует решение прикладной задачи - "твердый плюс". Над чем мы собственно брейнстормим последнее время. А потом уже все остальное.

 

Обратил внимание в статье Николая Косицина (https://www.mql5.com/ru/articles/1516) на то, что индикаторные значения загружаются в буферы.

//----+ ВЫЧИСЛЕНИЕ ИНДИКАТОРНЫХ ЗНАЧЕНИЙ И ЗАГРУЗКА ИХ В БУФЕРЫ        
  for(bar = 1; bar <= 3; bar++)
      Mov[bar - 1] = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, bar);
           
           //----+ ОПРЕДЕЛЕНИЕ СИГНАЛОВ ДЛЯ СДЕЛОК
           dMov12 = Mov[0] - Mov[1];
           dMov23 = Mov[1] - Mov[2]; 
                                           
           if (dMov23 > 0)
              if (dMov12 < 0)
                       SELL_Sign = true;
                          
           if (dMov12 > 0)
                       SELL_Stop = true; 

По моим соображениям такой подход использования индикаторов в эксперте будет экономичнее к ресурсам, чем такой:

Mov_1 = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, 1);
Mov_2 = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, 2);
Mov_3 = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, 3);


Верно ли моё предположение или второй вариант идентичен первому?

 
novicek:
как раз то что искал
P.S.
Ссори не правильно сформулировал


В принципе правильно Вы сформулировали, а я просто не правильно понял.)) Вы написали ведь и цифры также:

сумма находящийся на счете = 10000
сумма денег при плече = 10000
сумма реальных денег = 100

По цифрам получается, что на счёте 10000 по балансу, а по эквити уже 100 осталось. Экстремально.))

 
novicek:

где можно скачать?

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

   int    Y_pxls     = 10;
   int    X_pxls     = 10;
   int    n_X_pxls   = 70;
   int    corner     = 1;
   int    size_font  = 7;
   color  basic      = White;
   string font       = "Arial";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//---------------------------------- ИНФОРМАЦИЯ ТОРГОВОЙ СИСТЕМЫ -----------------------------------------//
//--- Names

   //--- Баланс депозита
         ObjectCreate("Account Balance",OBJ_LABEL,0,0,0);
         ObjectSetText("Account Balance","Account Balance ($) =",size_font,font,basic); 
         ObjectSet("Account Balance",OBJPROP_CORNER,corner);
         ObjectSet("Account Balance",OBJPROP_XDISTANCE,n_X_pxls); 
         ObjectSet("Account Balance",OBJPROP_YDISTANCE,Y_pxls*2);

   //--- Текущие средства
         ObjectCreate("Account Equity",OBJ_LABEL,0,0,0);
         ObjectSetText("Account Equity","Account Equity ($) =",size_font,font,basic); 
         ObjectSet("Account Equity",OBJPROP_CORNER,corner);
         ObjectSet("Account Equity",OBJPROP_XDISTANCE,n_X_pxls); 
         ObjectSet("Account Equity",OBJPROP_YDISTANCE,Y_pxls*3);

//--- Values
         
   //--- Баланс депозита
         ObjectCreate("Value Account Balance",OBJ_LABEL,0,0,0);
         ObjectSetText("Value Account Balance",""+DoubleToStr(AccountBalance(),0)+"",size_font,font,basic);
         ObjectSet("Value Account Balance",OBJPROP_CORNER,corner);
         ObjectSet("Value Account Balance",OBJPROP_XDISTANCE,X_pxls);
         ObjectSet("Value Account Balance",OBJPROP_YDISTANCE,Y_pxls*2);
   //--- Текущие средства
         ObjectCreate("Value Account Equity",OBJ_LABEL,0,0,0);
         ObjectSetText("Value Account Equity",""+DoubleToStr(AccountEquity(),0)+"",size_font,font,basic);
         ObjectSet("Value Account Equity",OBJPROP_CORNER,corner);
         ObjectSet("Value Account Equity",OBJPROP_XDISTANCE,X_pxls);
         ObjectSet("Value Account Equity",OBJPROP_YDISTANCE,Y_pxls*3);
//----
   return(0);
  }
 
Maxaxa:

Привет всем,

...

P.S. как я писал ранее - нас интересует решение прикладной задачи - "твердый плюс". Над чем мы собственно брейнстормим последнее время. А потом уже все остальное.


А разве обязательно открывать несколько счетов для этого? Можно ведь просто несколько экспертов на одном счёте запустить. Если нужен какой-то определённый инструмент, то открываете несколько окон с этим инструментом и везде свой эксперт. Во внешних параметрах должен быть параметр Magic_Number, для каждого эксперта свой номер выставляется.
 

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

Файлы:
i_asi_total.mq4  14 kb
[Deleted]  
tol64:

А разве обязательно открывать несколько счетов для этого? Можно ведь просто несколько экспертов на одном счёте запустить. Если нужен какой-то определённый инструмент, то открываете несколько окон с этим инструментом и везде свой эксперт. Во внешних параметрах должен быть параметр Magic_Number, для каждого эксперта свой номер выставляется.

ну это к вопросу о "жадных" экспертах ))

Вы правы, но все Это просто для чистоты эксперимента, как минимум.

У меня(нас) помимо разных демо-счетов, несколько реальных (больше чем несколько))) ДЦ ведут себя вообще по-разному, не то чтобы разные картинки, - разная динамика. NDD счета - вообще здорово, для меня во всяком случае. Ох.. а сколько мы уже слили на реальных недельных тестах, это прости ужас... пора открывать Лосиную ферму ))

но может и получится что, посмотрим )))

[Deleted]  

Уважаемые, тестирую советника в тестере и в журнале выдается ошибка 138. Т.е. что получается, тестер генерирует реквоты? Подозреваю что у меня ошибка где то в этой части кода

   if (CloseOnFriday == TRUE && DayOfWeek() == Friday_Days && Hour() > HourStopSession && AccountEquity_>AccountBalance_) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
            }
Если действительно ошибка - подскажите, что неправильно?