Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1567

 
MakarFX:

думаю так надо

Если каждый раз в OnTick() создавать новый объект, то время предыдущего тика нигде не сохранится.
Здесь весь смысл создания глобального объекта, чтобы он хранил время предыдущего тика, сравнивая с которым время нового тика мы узнаем, появился новый бар или нет...

 
MakarFX:
зачем нужна эта переменная NB_M1 ?
Единственное её назначение - хранить время последнего обработанного тика по каждому символу и таймфрейму:
protected:
   datetime          m_TOld;        // Время хранится 
   ENUM_TIMEFRAMES   m_TimeFrame;   //    для каждого таймфрейма
   string            m_Symbol;      //    каждого символа

 
Mikhail Tkachev:
class CIsNewBar

возвращает true/false , о каком времени идет речь?

 
MakarFX:

Попробуй это, в тестере норм

Нет это не то, он теперь открывает и закрывает по одному контракту.

Идея именно в том чтобы при трейлинге открывался дополнительный контракт а трейлинг стоп подтягивался  на Brake even. 

Все он это послушно делает. Но я вижу недостаток в том что при stop loss=150 пунктов и  take Profit=500 пунктов он открывает до пяти контрактов и также часто тянет за собой  stop loss. 
Но я заметел что при покупки до пяти контрактов ухудшается цена входа в рынок и при том на много в више риск/маржа. 
Из за этого я хочу зделать чтобы он при трейлинге до купался всего ещё один контракт и так тянул до  take Profit максимально два контракта, а трейлинг стоп лосс подтягивался до пяти раз. 
Из за этого в роботе стоят trailingorder(дополнительная покупка и дополнительная продажа) и Trailing (трейлинг стоп лосс) 
 
Eugen8519:
Нет это не то, он теперь открывает и закрывает по одному контракту.

Идея именно в том чтобы при трейлинге открывался дополнительный контракт а трейлинг стоп подтягивался  на Brake even. 

Все он это послушно делает. Но я вижу недостаток в том что при stop loss=150 пунктов и  take Profit=500 пунктов он открывает до пяти контрактов и также часто тянет за собой  stop loss. 
Но я заметел что при покупки до пяти контрактов ухудшается цена входа в рынок и при том на много в више риск/маржа. 
Из за этого я хочу зделать чтобы он при трейлинге до купался всего ещё один контракт и так тянул до  take Profit максимально два контракта, а трейлинг стоп лосс подтягивался до пяти раз. 
Из за этого в роботе стоят trailingorder(дополнительная покупка и дополнительная продажа) и Trailing (трейлинг стоп лосс) 

здесь исправь "0" на "2"

   if(pos_total<=0 )
      {TrailingOrder();}
   Trailing();
 

 как сделать автоматический выбор этой беды ? ORDER_FILLING_FOK ORDER_FILLING_IOC ORDER_FILLING_RETURN

мож есть готовое у кого ?

 
Aleksandr Egorov:

 как сделать автоматический выбор этой беды ? ORDER_FILLING_FOK ORDER_FILLING_IOC ORDER_FILLING_RETURN

мож есть готовое у кого ?

В документации есть готовый пример. Только сначала надо определить политику заполнения для символа. Поиск по SYMBOL_FILLING_FOK 

 
Aleksandr Egorov:

 как сделать автоматический выбор этой беды ? ORDER_FILLING_FOK ORDER_FILLING_IOC ORDER_FILLING_RETURN

мож есть готовое у кого ?

напрямую сам заполняешь MqlTradeRequest ?  

там граблей навалено !! 

посмотри в CTrade::FillingCheck() - как разработчики рекомендуют определять filling

 
Всем добрый день. Может кто сталкивался с подобной ситуацией? В общем, есть масштабируемый осциллятор. Мне необходимо знать программно, какие в данный момент крайние значения шкалы видимого окна этого осциллятора. Надеюсь понятно выразился). Буду благодарен за помощь! 
 
AMarkov:
Всем добрый день. Может кто сталкивался с подобной ситуацией? В общем, есть масштабируемый осциллятор. Мне необходимо знать программно, какие в данный момент крайние значения шкалы видимого окна этого осциллятора. Надеюсь понятно выразился). Буду благодарен за помощь! 
bool  ChartGetInteger( 
   long    chart_id,        // идентификатор графика 
   int     prop_id,         // идентификатор свойства 
   int     sub_window,      // номер подокна 
   long&   long_var         // сюда примем значение свойства 
   );

с идентификаторами CHART_PRICE_MIN и CHART_PRICE_MAX

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