[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 161
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Образовалась следующая ситуация: тестер стратегий не закрывает позиции по TakeProfit. Торговля ведется по TF Day, смотрел более мелкие TF по убыточным сделкам - цена опускается\поднимается на более чем нужный уровень для срабатывания TakeProfit, но сделка не закрывается, а когда цена доходит до StopLoss, то фиксируется убыток. Уже даже запускал визуализацию - чудеса какие-то, цена просто проходит мимо TakeProfit и все. Причем иногда все работает, а иногда вот такие вещи появляются. Буквально вчера все было нормально, сегодня запустил тестер и результативность советника стала никакая. Пробовал переустанавливать терминал - не помогло. Может в другой ДЦ???
Все дело в спреде, на выходные он увеличен.
Как-то так.
Все дело в спреде, на выходные он увеличен.
Как-то так.
Спасибо! Буду ждать будней, чтобы проверить.
Все дело в спреде, на выходные он увеличен.
Как-то так.
Это же надо быть таким дебилом - посмотрел на сайте ДЦ размер спреда на своем инструменте и офигел - аж 11 пунктов! Еще раз спасибо!
Подскажите,пожалуйста,как правильно написать условие.Если есть открытые ордера BUY,если они в безубытке,тогда выставляем ордер BUYSTOP.Написал вот так:
static bool flag ;
if(NewBar())
flag = true;
for(i=0;i<total;i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==123)
{
if(OrderType()==OP_BUY)
{
if(OrderStopLoss()>OrderOpenPrice())
{
if(Ask>m && frUP>0 && flag)
{
price = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);
takeprofit = NormalizeDouble(price+tp*Point,Digits);
ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,Bid-sl*Point,takeprofit,"Fractal",123,TimeCurrent()+72000,Blue);
if(ticket>0)
flag = false;
else
Print("Ошибка ",GetLastError());
}
}
}
}
}
не работает!!!
А фигурные скобки не пробовали согласно логики расставить? А то пока никакой нет.
То что написано подразумевает что открыта хотя бы одна позиция. Иначе новых открывать не будет
А фигурные скобки не пробовали согласно логики расставить? А то пока никакой нет.
То что написано подразумевает что открыта хотя бы одна позиция. Иначе новых открывать не будет
И как их расставить?Немного код дописал:
Тогда еще вопрос, немного не в тему. Для чего спред увеличивают в выходные? Ведь все равно торговля не ведется.
Нет, не на выходные, не совсем правильно я написал, Спред остается в терминале по последней пришедшей котировке
Т.е. Закрываете терминал в течение дня, пятниницы. И тестируйте в выходные.
Нет, не на выходные, не совсем правильно я написал, Спред остается в терминале по последней пришедшей котировке
Т.е. Закрываете терминал в течение дня, пятниницы. И тестируйте в выходные.
Понял, спасибо! Так гораздо логичней.
И как их расставить?Немного код дописал:
Ладно, немного приведу в лад с логикой
Цикл выполняется вне зависимости от от условия if(NewBar())