vladradon
Программист
Это странно - у меня вчера рисовал, а сегодня тоже не хочет. Этот DRAW_ZIGZAG подглючивает.TestZigZag.mq4 не чего не рисует. Хотя в массив данный пишет как нужно.
Это странно - у меня вчера рисовал, а сегодня тоже не хочет. Этот DRAW_ZIGZAG подглючивает.TestZigZag.mq4 не чего не рисует. Хотя в массив данный пишет как нужно.
Смотри на свои скрины - в том, что с ошибками (первоначальный) не выставляются ни стоплоссы, ни тейкпрофиты и все закрытие ордеров идет по окончании тестирования тестером. А в исправленном все торгует согласно алгоритму с расчетом и выставлением стопов и тейков - тут проблема в алгоритме.Первоначальный, который с ошибками, почему-то торгует лучше
Да, я понимаю. Если добавить сетку, то что надо изменить?Смотри на свои скрины - в том, что с ошибками (первоначальный) не выставляются ни стоплоссы, ни тейкпрофиты и все закрытие ордеров идет по окончании тестирования тестером. А в исправленном все торгует согласно алгоритму с расчетом и выставлением стопов и тейков - тут проблема в алгоритме.
Половину сова.Если добавить сетку, то что надо изменить?
Я имею ввиду, алгоритм какой писать, и модификация, чтоб цена менялась при разных стресс факторахПоловину сова.
Я не собираюсь писать лекцию на тему "как из дерьма сделать конфетку".Я имею ввиду, алгоритм какой писать, и модификация, чтоб цена менялась при разных стресс факторах
И время по этому индикатору, минута, пять, 15 минутПомогите пожалуйста вписать индикатор RED FIBEX 1.06.ex4
Что может показать профилирование, только тормоза. Зачем много раз вызывать одни и те же функции с одинаковыми аргументами? Результат то не меняется. Это всё равно что спрашивать который час 100 раз в секунду.когда провожу профилирование, показывает, что здесь что то не то. Есть какие нибудь подобных советников?
}
if(((iClose(symb,PERIOD_H1,i) < iOpen(symb,PERIOD_H1,i) && iClose(symb,PERIOD_H1,i) > (iHigh(symb,PERIOD_H1,i)+iLow(symb,PERIOD_H1,i))/2) || (iClose(symb,PERIOD_H1,i) < (iHigh(symb,PERIOD_H1,i)+iLow(symb,PERIOD_H1,i))/2 && iClose(symb,PERIOD_H1,i) == iOpen(symb,PERIOD_H1,i))) && iVolume(symb,Period(),i)>iVolume(symb,Period(),i+1))
{
Support[index] = iClose(symb,PERIOD_H1,i);
for(int sktt = BarsBack-1; sktt>i; sktt--)
{
if(Support[index][sktt] >= iClose(symb,PERIOD_H1,i))
{
Support[index][sktt] = 0;
}
}
Именно на это и указывает, если удаляю строчку часа, то в другом месте указывает. и так до концаЧто может показать профилирование, только тормоза. Зачем много раз вызывать одни и те же функции с одинаковыми аргументами? Результат то не меняется. Это всё равно что спрашивать который час 100 раз в секунду.
Один раз вызвать функцию и записать полученное значение в переменную. А эту переменную использовать сколько угодно раз.Как упростить?
Я не сторонний всё писать самому вместо подсказывания как надо.Мне бы пример кода
СпасибоЯ не сторонний всё писать самому вместо подсказывания как надо.
Пример с одной функцией:
double c=iClose(symb,PERIOD_H1,i);
В переменную с записано значение функции iClose(symb,PERIOD_H1,i) . Нет смысла постоянно вызывать эту функцию и грузить её проц. Можно использовать переменную с.
То есть дальше вместо iClose(symb,PERIOD_H1,i) ставим c.
Остальные повторяющиеся функции сделать аналогично.