Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
00:02 - {NAN, 1.2310, 1.2290, 1.2305} (OHLC);
Где изъян?
Здесь изъян, что надо постоянно прописывать функционал, для определения недостающих параметров бара. Необходимость примера, что Вы приводите - это частный случай.
hrenfx:
00:00 - {NAN, NAN, NAN, NAN} (OHLC);
Где изъян?
Такая конструкция мне не понятна, поскольку советник работает в рамках тика и для подавляющего большинства советников совершенно безразлично время прихода нового тика.
Возможно, что такая конструкция нужна для упрощения мультивалютной синхронизации, но отсутствие этой конструкции с успехом можно заменить функционалом поиска последнего состоявшегося бара.
Присутствие такой конструкции на истории может затруднить анализ в большинстве случаев ибо надо постоянно идентифицировать отсутсвие недостающих параметров бара.
p.s. Работа с приведенными Вами конструкциями серьёзно усложняет обработку. Куда проще найти последний состоявшийся бар.
abolk:
1. Вы постоянно начинаете строить бар по "ценам предложения"?
2. Что это за цены?
3. Откуда они нам известны?
1. И правильно делает. Вы пока не доказали некорректность такой схемы. А всего лишь указали, что "есть варианты".
2, 3. Цены предложения транслируются брокером. Называются Bid и Ask. И являются актуальными ценами, пока не сменились другими. Сделки вообще не критерий, на форексе транслируются только изменения цены, а сделок по фиксированным ценам может быть сколько угодно - пока не исчерпаются объёмы ближайших лимитников в стакане, цены которых и являются текущим предложением брокера. Текущие Bid и Ask. Запомнили? Если что - спросите у документации или у яндекса с гуглом.
Здесь изъян, что надо постоянно прописывать функционал, для определения недостающих параметров бара. Необходимость примера, что Вы приводите - это частный случай.
Это ничто по сравнению с рассинхронизацией, однако, чтобы и этот напрягающий изъян убрать, звучало и альтернативное предложение:
При этом, если цена предложения на момент наступления минуты отсутствует (открытие торговой сессии), то бар не формируется, ...
Для того же примера:
Будет так:
Какие еще изъяны?
P.S. Вариант c NAN с точки зрения логики самый точный. Компромиссный же вариант позволяет избавится от условного оператора if на каждом баре, но синхронизацию мультиФИ баров надо будет делать на стыке открытия/закрытия торговой сессии.
Запомнили? Если что - спросите у документации или у яндекса с гуглом.
Не понимаю. К чему этот постоянный высокомерный тон?
Какая-то ничем не обоснованная мания всезнайства, всеумейства и всеправильности.
Удалюсь-ка я "в сад".
По присутствию/отсутствию "несостоявшихся" баров ничего сказать не могу - для меня это некритично. Также неизвестны проблемы реализации. Может они существенные и компромисно пока текущее решение. Если это так важно и в терминале этого нет, "отрисовку" "несостоявшихся" баров можно и реализовать самостоятельно.
Не понимаю. К чему этот постоянный высокомерный тон?
Какая-то ничем не обоснованная мания всезнайства, всеумейства и всеправильности.
Удалюсь-ка я "в сад".
Он не высокомерный, а насмешливый в данном случае. Откровенный насмешливо-издевательский, не без того.
Что странно - не раскаиваюсь, ибо глупите отчаянно, на грани притворства.
Андрей. У меня к вам просьба - не встревайте, пожалуйста, в темы которые для вас некритичны. Такое встревание похоже на попытку "поумничать" на неважную тему - безопасно и можно при случае статусное "очко" гребануть у присутствующих. Если удачную мысль удастся сморозить. Вы не продумывали текущую область многократно, потому и не можете ничего толкового сказать в данном случае. Толкового - значит полезного для того, для кого это критично. Я же не лезу с советами и ответами на тему "графопостроения" в терминале. Думаете у меня мыслей нету на эту тему? Есть. Просто я понимаю что "не в теме", поскольку в ежедневной практике этим не пользуюсь. Без обид, Андрей. Просто просьба. Вы в праве обнародовать Ваше мнение (уже сделали), но затевать и продолжать этот спор с вашей стороны просто глупо. Вы просто "не в теме".
Ну, насчёт выссказывать или не выссказывать своё мнение - это, позвольте, мне решать. И также позвольте мне не спрашивать у Вас разрешения выссказаться по той или иной теме, будь я "в теме" или "не втеме". Если Вы обладаете правами модератора, то можете мои посты удалить и оставить свои. Но поскольку прав модератора у Вас нет, а есть только указательный палец, то ... и ковыряйтесь им в своём личном "правильном понимании темы".
Почему каждый мой советник флудит удалением отложек? Ордер выставляется и тут же удаляется.И заново.
Вот пример:2011.01.24 М1 ,время выставления ордеров 2:00. ДЦ metaquotes-demo.
MqlTradeResult resultU,resultD;MqlTradeRequest request;MqlTick latest_price; MqlDateTime ctime;
int OnInit()
{ request.symbol = _Symbol; // символ
request.volume = 0.1; // количество лотов для торговли
request.magic = 52; // Magic Number
request.type_filling = ORDER_FILLING_AON; // тип исполнения ордера - все или ничего
request.deviation=40; // проскальзывание от текущей цены
request.comment= "TL";
request.type_time=ORDER_TIME_GTC;
request.type_filling=ORDER_FILLING_RETURN;
return(0);
}
void OnTick()
{
if(OrderSelect(resultD.order) || OrderSelect(resultU.order) )
{ OrderSelect(resultU.order);
if(OrderGetDouble(ORDER_PRICE_OPEN)!=1.36207)
{ Print("bbb ",OrderGetDouble(ORDER_PRICE_OPEN));
request.action = TRADE_ACTION_REMOVE; // немедленное исполнение
request.order=resultU.order;
OrderSend(request,resultU);
request.order=resultD.order;
OrderSend(request,resultD);
return;
}
OrderSelect(resultD.order);
if(OrderGetDouble(ORDER_PRICE_OPEN)!=1.35855)
{Print("sss ",OrderGetDouble(ORDER_PRICE_OPEN));
request.action = TRADE_ACTION_REMOVE; // немедленное исполнение
request.order=resultU.order;
OrderSend(request,resultU);
request.order=resultD.order;
OrderSend(request,resultD);
return;
}
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
}else//новый ордер
{ TimeCurrent(ctime);
if(ctime.hour==2){
request.action = TRADE_ACTION_PENDING;
request.type=ORDER_TYPE_BUY_STOP;
request.price=1.36207;
request.sl=1.36031;
request.tp=0;
OrderSend(request,resultU);
request.type=ORDER_TYPE_SELL_STOP;
request.price=1.35855;
request.sl=1.36031;
request.tp=1.34484;
OrderSend(request,resultD);
}
}
}