Обсуждение статьи "Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)" - страница 2

 
Dennis Kirichenko:

Рашид, спасибо за комментарий. Тогда в моём случае расчёт по большей стороне (Buy):


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

Ну тут же все просто - пусть у нас есть куча ордеров по EURUSD. Считаем раздельно для каждого направления и получаем:

  1. общая позиция Buy 20 лотов по 1.2000  = Buy 15 лотов по 1.2000 + Buy 5 лотов по 1.2000
  2. общая позиция Sell 15 лотов по 1.2200
Аннилигируем равные объемы и остается чистыми 5 лотов по 1.2000. Что не так в моих рассуждениях? Откройте в понедельник кучу позиций и посмотрите как будет меняться плавающая прибыль/убыток с изменением цены на 1 пункт.
 
Rashid Umarov:

Ну тут же все просто - пусть у нас есть куча ордеров по EURUSD. Считаем раздельно для каждого направления и получаем:

  1. общая позиция Buy 20 лотов по 1.2000  = Buy 15 лотов по 1.2000 + Buy 5 лотов по 1.2000
  2. общая позиция Sell 15 лотов по 1.2200
Аннилигируем равные объемы и остается чистыми 5 лотов по 1.2000. Что не так в моих рассуждениях? Откройте в понедельник кучу позиций и посмотрите как будет меняться плавающая прибыль/убыток с изменением цены на 1 пункт.

Это такая система в МТ5-хеджинге: аннигиляция встречных позиций идёт по номинальным объёмам. 

Ещё есть альтернатива, о чём написал в предыдущем посте. Там учитывается стоимость каждого купленного/проданного объёма. Результат - отношение стоимости объёма к номинальному.

 
Dennis Kirichenko:

Это такая система в МТ5-хеджинге: аннигиляция встречных позиций идёт по номинальным объёмам.

Можно же писать понятными словами. Я вот тут ничего не понял. Горбачев так общался - много слов, а ни хрена непонятно.
 
Rashid Umarov:
Можно же писать понятными словами. Я вот тут ничего не понял. Горбачев так общался - много слов, а ни хрена непонятно.

Pardon!

Купили 20 лотов по $1,2000.

При этом номинальные объёмы (объёмы в базовой валюте) покупки равны 20*100 000 = EUR 2 000 000. Стоимость этих объёмов в валюте котировки равна $1,2000*2 000 000 = USD 2 400 000.

Под номинальными я имел в виду стоимость объёмов в базовой валюте символа.

 

Ну, я не любитель гонять цифры туда/сюда)

Не говоря уже о потенциальных ошибках округления при  таких операциях.

 
 В файле CProgram.mgh заменил индикатор вместо iStohastic в функциях  "void CProgram::GetHandles(void)" и "void CProgram::GetIndicatorValues(void)"  написал индикатор   m_handles[i]=::iATR(m_symbols[i],StringToTimeframe(tf),5); Скомпилировалось все нормально, но в таблице в столбце "values" одни нули. Что я сделал не так?
 

Alexander:

...

Что я сделал не так?

Нулевой буфер нужно указывать для ATR:

//+------------------------------------------------------------------+
//| Получает значения индикаторов на всех символах                   |
//+------------------------------------------------------------------+
void CProgram::GetIndicatorValues(void)
  {
...
         //--- Попробуем получить значения индикатора
         double values[1];
         received=::CopyBuffer(m_handles[i],0,0,1,values);
...
  }
 

Приветствую вас, Анатолий,


спасибо за все ваши огромные усилия! Это очень ценно! :)

У меня вопрос: где определяется ON_END_CREATE_GUI? Я не могу найти его ни в одном исходнике вашей последней версии Build 16 (как и в исходниках Build 15).

На данный момент я скачал исходный код build 16 с https://www.mql5.com/en/articles/3527

а затем загрузил ваши изменения в статьях:

https://www.mql5.com/ru/articles/4715 и
https://www.mql5.com/ru/articles/4727.

Что я упускаю, можете ли вы или кто-то другой помочь?

С наилучшими пожеланиями!


P.S.: Анатолий, можно ли предложить один zip-файл с обновлением, а не добавлять куски в разные статьи? Мне довольно сложно "отслеживать" все ваши изменения... :)

Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
  • www.mql5.com
Trotz der aktiven Entwicklung des algorithmischen Handels bevorzugen viele Händler immer noch den manuellen Handel. Die Automatisierung von Routineaufgaben lässt sich jedoch kaum ganz vermeiden. Der Artikel zeigt die Entwicklung eines Expert Advisor mit Signalen von mehreren Symbolen für den manuellen Handel. Als Beispiel verwenden wir die...
 

Все очень просто:

1) рядом с ON_END_CREATE_GUI вверху есть ссылка , чуть выше - ссылка EasyAndFast

и затем файл Defines.mqh, вот и все.

[Удален]  

Уважаемые разработчики! Обратите, пожалуйста, внимание на следующую ошибку. Если имя эксперта из данной статьи оставить TradePanel - эксперт запускается (билд 2280). Однако, если переименовать его, например, TradePanel_part_II - эксперт компилируется, но не запускается. В журнал пишет следующее:

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) OnInit > Could not create the GUI!

Если же назвать эксперт, например, TradePanel 2 - все норм. Похоже, определенные имена вызывают проблемы с ресурсами.