Спрашивайте! - страница 113

 

У меня сейчас болит голова... текущий индикатор не делает того, что я хочу... ....0

что я хочу...

Покупка

Sellflag != 1 (Sellflag не равен 1)

Сигнал на покупку OzFX

Если ADX>25, установить Buyflag=1

ПРОДАВАТЬ

Buyflag != 1 (buyflag не 1)

Сигнал на продажу OzFX

Если ADX>25, установить sellflag=1

Если ADX<25, сбросить флаг покупки/продажи=0

Поступая таким образом, мы можем отсеять фальшивые/слабые прорывы!!!

Я приложил исходный код, чтобы гуру помогли мне!!!

sonic

Файлы:
 

Я начинаю что-то менять... но...

ваш главный цикл неправильный, и ваши логические функции "и" и "или" плохо вписаны в код... поэтому я думаю, что с логикой что-то не так...

Вы можете рассказать мне о AC, STOCH и ADX своими словами?

То, как это запрограммировано сейчас, даст большую нагрузку на ваш компьютер для расчета... придется изменить почти все...

...

sonicdeejay:
У меня сейчас голова болит... текущий индикатор не делает того, что я хочу... ....

что я хочу...

Покупка

Sellflag != 1 (Sellflag не 1)

Сигнал на покупку OzFX

Если ADX>25, установить Buyflag=1

ПРОДАВАТЬ

Buyflag != 1 (buyflag не 1)

Сигнал на продажу OzFX

Если ADX>25, установить sellflag=1

Если ADX<25, сбросить флаг покупки/продажи=0

Поступая таким образом, мы можем отсеять фальшивые/слабые прорывы!!!

Я приложил исходный код, чтобы гуру помогли мне!!!

звуковой
 
IN10TION:
Я начинаю что-то менять... но...

ваш главный цикл неправильный, и ваши логические функции "и" и "или" плохо вписаны в код... поэтому я думаю, что с логикой что-то не так...

Вы можете рассказать мне о AC, STOCH и ADX своими словами?

То, как он запрограммирован сейчас, даст большую нагрузку на ваш компьютер для расчета... придется изменить почти все...

...

цикл for правильный?

int start()

{

for (k = Bars - 205; k >= 0; k --)

{

 

Спасибо за ответ,

Вот этот участок кода. Это просто конверт скользящей средней, который я бы хотел, чтобы отмечал высокие и низкие точки на каждом баре. Поскольку я использую около шести или восьми точек на каждом баре, тире будет занимать меньше места на экране, чем текущая самая маленькая стрелка, которую я смог найти (квадратная форма стрелки "110").

//---- индикаторы

IndicatorBuffers(2);

SetIndexBuffer(0,ma1);

SetIndexBuffer(1,ma2);

SetIndexStyle(0,DRAW_ARROW,0,0);

SetIndexStyle(1,DRAW_ARROW,0,0);

SetIndexArrow(0,110);

SetIndexArrow(1,110);

SetIndexShift(0,shift);

SetIndexShift(1,shift);

SetIndexLabel(0, "MA Down");

SetIndexLabel(1, "MA Up");

//----

return(0);

Я приложил картинку с двумя указанными MA. Вы можете увидеть, что у меня есть, когда я активирую все 4 из них.

IN10TION:
Не могли бы вы прислать ваш код в том виде, в котором он сейчас... и если возможно, сделайте картинку того, что вы хотите... немного непонятен результат... Хороших выходных!
Файлы:
chartpick.gif  19 kb
 

Я искал достаточно долго ... единственное решение, которое я вижу, а также лучшее - это использование ObjectCreate, я пришел к этому выводу также несколько месяцев назад, если вас устраивает растровый код 110 или другой знак, используйте его... Я использую ObjectCreate в своих программах много раз, он делает отличную работу и даже лучше, не беспокойтесь о замедлении работы вашего приложения, даже 200.000 объектов не замедлят работу. Кроме того, ваши индексные буферы будут свободны для выполнения других вычислений данных, если это необходимо (у вас их всего 8). С ObjectCreate у вас больше возможностей для выделения цветом особых точек на вашем графике, неограниченное количество ...

поделитесь своими мыслями, я здесь ...

небольшое дополнение: SetIndexArrow(0,59); (измените 110 на 59, это выглядит как тире, с помощью "ширины" вы можете сделать его немного больше)

kiromano:
Спасибо за ответ,

Вот этот участок кода. Это просто конверт скользящей средней, который я хочу, чтобы отмечал высокие и низкие точки на каждом баре. Поскольку я использую около шести или восьми точек на каждом баре, тире будет занимать меньше места на экране, чем текущая самая маленькая стрелка, которую я смог найти (квадратная форма стрелки "110").

//---- индикаторы

IndicatorBuffers(2);

SetIndexBuffer(0,ma1);

SetIndexBuffer(1,ma2);

SetIndexStyle(0,DRAW_ARROW,0,0);

SetIndexStyle(1,DRAW_ARROW,0,0);

SetIndexArrow(0,110);

SetIndexArrow(1,110);

SetIndexShift(0,shift);

SetIndexShift(1,shift);

SetIndexLabel(0, "MA Down");

SetIndexLabel(1, "MA Up");

//----

return(0);

Я приложил картинку с двумя указанными MA. Вы можете увидеть, что у меня есть, когда я активирую все 4 из них.
Файлы:
screen_.jpg  52 kb
 

это правильно... но...

если у вас 10.000 баров на график и/или несколько графиков... каждый раз, если есть тик от новых котировок, он будет пересчитывать общий индикатор с самого начала, что сделает работу намного медленнее и ненужной...

Также есть ошибка в вашем стохастическом сигнале OzFX_Regular в части между разницей UP и DOWN ( функция if )

sonicdeejay:
цикл for правильный????
int start()

{

for (k = Bars - 205; k >= 0; k --)

{

 

Вопрос по мультииндикатору

Здравствуйте

У меня есть система, которой я торгую в реальном времени, но вручную, она имеет 5 индикаторов.

Slope Direction для общего направления тренда. И 4 других.

С 4 другими я вхожу в позицию только если 3 из 4 подали сигнал и находятся в том же направлении, что и индикатор Slope Direction При кодировании может ли этот вид или усмотрение быть закодировано в советника.

Мне бы хотелось думать, что это возможно после того, как я увидел некоторые из фантастических советников, которые крутятся вокруг этого форума.

 

Я весь внимание, вы можете отправить мне личное сообщение или вынести это на всеобщее обозрение...

Если ваши индикаторы хорошо закодированы, ваш готовый советник не так уж далек.

Beno:
Здравствуйте

У меня есть система, которой я торгую вживую, но вручную, она имеет 5 индикаторов.

Slope Direction для общего направления тренда. И 4 других.

С 4 другими я вхожу в позицию только если 3 из 4 подали сигнал и находятся в том же направлении, что и индикатор Slope Direction При кодировании может ли этот вид или усмотрение быть закодирован в советнике.

Я хотел бы думать, что это может быть после того, как я увидел некоторые из фантастических советников, которые стучат вокруг этого форума.
 

in10tion,

Не смог увидеть "дерево" для "леса" (я специально сказал это задом наперед), код 59 стрелок работает просто отлично. Я просто люблю попроще, когда это возможно. Функция objectcreate подразумевает немного больше, если я собираюсь создать объект и оставить его на графике. Плюс я использую различные уровни через iCustom.

Премного благодарен.

Да будут благосклонны к вам боги пипсовки.

IN10TION:
Я уже достаточно долго искал ... единственное решение, которое я вижу, а также лучшее - это использование ObjectCreate, я пришел к этому выводу также несколько месяцев назад, если вас устраивает растровый код 110 или другой знак, используйте его... Я использую ObjectCreate в своих программах много раз, он делает отличную работу и даже лучше, не беспокойтесь о замедлении работы вашего приложения, даже 200.000 объектов не замедлят работу. Кроме того, ваши индексные буферы будут свободны для выполнения других вычислений данных, если это необходимо (у вас их всего 8). С ObjectCreate у вас есть больше возможностей для выделения цветом особых точек на графике, неограниченный ...

Поделитесь своими мыслями, я здесь...

немного больше: SetIndexArrow(0,59); (измените 110 на 59, это выглядит как тире, с помощью "ширины" вы можете сделать его немного больше)
 
IN10TION:
попробуйте вот это...

Большое спасибо за вашу помощь. Искренне признателен.