Меньше кода, больше прока.. пишем советник - страница 7

 
Maxim Kuznetsov:

для которого компонента из Ишимоков, вы хотите обёртку ? И главное зачем и какую...
просто потрепаться ? можно, отчего-же нет..

PS/ Exсel видели ? В представлении DataFrame Ишимоки будут выглядить так-же. Как и все прочие.. Трейдеры работают с таблицами на самом деле. Графический чарт это просто частное представление (вид) сводной таблицы. Так и обращаться с этими данными надо как с таблицами.
С точки зрения трейдера - что такое программный объект ??? да ничто. В его практической жизни таких тварей нет.

Так Вы для программистов, пусть и начинающих, делаете, или для абы кого ни попадя?

 
Vladimir Simakov:

Я же писал, что с контролем открытия этих самых ордеров.

Не понял. Вы выложили недоделанный вариант?

 
Vladimir Simakov:

Для общего размышления, пример класса-обертки для Ichimoku, правда на mql4.

зачем делать простые вещи такими сложными? в МТ4 сделано все, чтобы можно было использовать индикаторы с помощью написания одной строки

я обычно примерно так писал:

#define ind1(int bar_) ind1(inp_param1, int... , int bar_) 
double ind1(int param1, int... , int bar)

{
тут можно предобработку описать, если необходимо
return(iCustom(,,,,,, bar))
}

OnTick()
{
 if(ind1(1) > ind1(2)) BUY();
}

при таком подходе OnTick() занимает 15-20 строк кода, в котором видна вся логика и быстро модифицируется под модификации - переписываются условия или добавляются индикаторы

имхо, ООП у Вас сделало из простой задачи сложную, необходимо контролировать переключение ТФ если обьекты создаются через указатели, лишние манипуляции при каждом вызове, увеличивается расход памяти.... зачем? 

 
Vladimir Simakov:

Так Вы для программистов, пусть и начинающих, делаете, или для абы кого ни попадя?

я делаю именно для начинающих.

а для кого вы приводили код ? он-же полностью повторяет стандартный индикатор, и ничего нового не позволяет; эдакая старая песня на новый лад. С новыми сущностями, ещё одним классом и ещё одним инклудом.

Зачем был сделан КОД ? Его нельзя применить на S20 например.. физически нельзя применять на произвольных ohlc. И какой класс можно от него произвести, куда дальше расти ?

 
fxsaber:

Не понял. Вы выложили недоделанный вариант?

Так это у Вас нет контроля открытия/закрытия ордера, у меня-то с этим как раз все нормально. По крайней мере на Forex Club отрабатывает. Я же писал, что CloseBy сегодня на коленке прилепил к библиотеке, там еще обратную связь допиливать и допиливать. Например тот же тикет меняется или нет? У Forex Club нет, а у других? То есть, надо контроль этого запилить, что бы нужные поля класса поменять, ну и т.п. Зато когда все это допиливается и отлаживается, писать оно удовольствие.

 
Vladimir Simakov:

Так это у Вас нет контроля открытия/закрытия ордера, у меня-то с этим как раз все нормально. По крайней мере на Forex Club отрабатывает. Я же писал, что CloseBy сегодня на коленке прилепил к библиотеке, там еще обратную связь допиливать и допиливать. Например тот же тикет меняется или нет? У Forex Club нет, а у других? То есть, надо контроль этого запилить, что бы нужные поля класса поменять, ну и т.п. Зато когда все это допиливается и отлаживается, писать оно удовольствие.

Еще раз повторяю, Ваш код не рабочий, второй код пашет.

 
Maxim Kuznetsov:

я делаю именно для начинающих.

а для кого вы приводили код ? он-же полностью повторяет стандартный индикатор, и ничего нового не позволяет; эдакая старая песня на новый лад. С новыми сущностями, ещё одним классом и ещё одним инклудом.

Зачем был сделан КОД ? Его нельзя применить на S20 например.. физически нельзя применять на произвольных ohlc. И какой класс можно от него произвести, куда дальше расти ?

Тут чисто ради удобства.

В сегменте данных:

CIchimoku ind1(EURUSD,PERIOD_M5,5,10,15);

CIchimoku ind1(GBPUSD,0,10,25,30,2);

В результате имеем два индикатора первый на таймфрейме м5, а вот второй будет всегда смещен на +2 таймфрейма от текущего таймфрейма графика.

 
fxsaber:

Еще раз повторяю, Ваш код не рабочий, второй код пашет.

 
Vladimir Simakov:
expert Test (EURUSD,M1) loaded successfully
'35286172': market buy 0.20 EURUSD
'35286172': accepted market buy 0.20 EURUSD
'35286172': market buy 0.20 EURUSD placed for execution
'35286172': order #2214667209 buy 0.20 / 0.20 EURUSD at market done in 172.415 ms
'35286172': market sell 0.10 EURUSD
'35286172': deal #2211904952 buy 0.20 EURUSD at 1.12941 done (based on order #2214667209)
'35286172': accepted market sell 0.10 EURUSD
'35286172': market sell 0.10 EURUSD placed for execution
'35286172': order #2214667210 sell 0.10 / 0.10 EURUSD at market done in 171.843 ms
'35286172': deal #2211904953 sell 0.10 EURUSD at 1.12936 done (based on order #2214667210)
expert Test (EURUSD,M1) removed

Не пашет.


А это второй код

script Test4 (EURUSD,M1) loaded successfully
'35286172': market sell 1.00 EURUSD
'35286172': accepted market sell 1.00 EURUSD
'35286172': market sell 1.00 EURUSD placed for execution
'35286172': order #2214667234 sell 1.00 / 1.00 EURUSD at market done in 174.294 ms
'35286172': deal #2211904975 sell 1.00 EURUSD at 1.12936 done (based on order #2214667234)
'35286172': market buy 1.00 EURUSD
'35286172': accepted market buy 1.00 EURUSD
'35286172': market buy 1.00 EURUSD placed for execution
'35286172': order #2214667235 buy 1.00 / 1.00 EURUSD at market done in 175.016 ms
'35286172': deal #2211904976 buy 1.00 EURUSD at 1.12941 done (based on order #2214667235)
'35286172': close position #2214667235 buy 1.00 EURUSD by position #2214667234 sell 1.00 EURUSD
'35286172': accepted close position #2214667235 buy 1.00 EURUSD by position #2214667234
'35286172': deal #2211904977 sell 1.00 EURUSD at 1.12936 done (based on order #2214667236)
'35286172': close position #2214667235 buy 1.00 EURUSD by position #2214667234 done in 67.893 ms
script Test4 (EURUSD,M1) removed
Пашет.
 
Vladimir Simakov:

Тут чисто ради удобства.

В сегменте данных:

CIchimoku ind1(EURUSD,PERIOD_M5,5,10,15);

CIchimoku ind1(GBPUSD,0,10,25,30,2);

В результате имеем два индикатора первый на таймфрейме м5, а вот второй будет всегда смещен на +2 таймфрейма от текущего таймфрейма графика.

а ничего, что для перед обращением к индикаторам разных таймфреймов, надо ещё постучать в бубен и станцевать танцы ?

кто это будет делать.. ну видимо пользователь - пусть познает дзен и оборотистость некитайского языка одновременно :-)

Удобные интерфейсы индикаторов и их декомпозиция на буферы представлены платформой. Вот зачем повторять то что уже сделано и сделано хорошо?.. Показать что знаком со словом "class" что-то в самом деле...

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