Подскажите пожалуйста, как в функции OnTick в сконструированном эксперте получить доступ к информации о позиции. Хотя бы открыта она или нет. Где взять указатель на позицию? Или нужно это делать как-то по-другому?
VHS: Подскажите пожалуйста, как в функции OnTick в сконструированном эксперте получить доступ к информации о позиции. Хотя бы открыта она или нет. Где взять указатель на позицию? Или нужно это делать как-то по-другому?
Эксперт сконструирован Визардом по пользовательскому классу сигналов и пользовательскому классу трейдинга. Код самого эксперта стандартный. В OnTick запускается ExtExpert.OnTick(), остальное по стандартной библиотеке. Собственно этот вопрос в продолжение предыдущего, на который никто не ответил. Хочется, чтобы эксперт, сконструированный Визардом, пользовательский класс сигналов использовал только для открытия позиций, а закрывал уже только по трейдингу с игнорированием сигналов от сигнального класса. Как заигнорить работу сигналов я разобрался. А как получить в onTick информацию о том, есть ли открытая позиция, чтобы включить игнор, не понимаю.
Да, Артём, спасибо большое. Видимо автозамена (или кривые руки). И пользовательский класс и закрытие - не трейДинг, а трейЛинг.
В классе CExpert метод Processing заходит сначала в Direction и проверяет наличие сигнала от класса сигналов. А затем (только при условии наличия позиции SelectPosition) проверяет Трейлинг. В результате при наличии открытой позиции она иногда закрывается в отсутствие сигналов от класса трейлинга, получая сигнал от класса сигналов.
Предыдущий вариант, взять информацию о наличии открытой позиции из класса трейлинга и передать ее через OnTick в Ignore, не прокатил. Я научился запоминать в OnInit объект трейлинга и вытаскивать из него инфу в OnTick. Но это работает только пока позиция открыта. А после того, как она закрылась, процессинг уже не заходит в трейлинг и Ignore так и остаётся заигноренным. То есть остался последний штрих: после закрытия позиции определить этот момент в OnTick и вернуть Ignore значение «0». Но как эффективно получить информацию о (наличии/отсутствии) позиции в OnTick не понимаю.
VHS: Да, Артём, спасибо большое. Видимо автозамена (или кривые руки). И пользовательский класс и закрытие - не трейДинг, а трейЛинг.
В классе CExpert метод Processing заходит сначала в Direction и проверяет наличие сигнала от класса сигналов. А затем (только при условии наличия позиции SelectPosition) проверяет Трейлинг. В результате при наличии открытой позиции она иногда закрывается в отсутствие сигналов от класса трейлинга, получая сигнал от класса сигналов.
Предыдущий вариант, взять информацию о наличии открытой позиции из класса трейлинга и передать ее через OnTick в Ignore, не прокатил. Я научился запоминать в OnInit объект трейлинга и вытаскивать из него инфу в OnTick. Но это работает только пока позиция открыта. А после того, как она закрылась, процессинг уже не заходит в трейлинг и Ignore так и остаётся заигноренным. То есть остался последний штрих: после закрытия позиции определить этот момент в OnTick и вернуть Ignore значение «0». Но как эффективно получить информацию о (наличии/отсутствии) позиции в OnTick не понимаю.
Я думаю можно всё сделать намного проще - в советнике порог на ЗАКРЫТИЕ ставите равным 100, а вес сигналу даёте 0.5 - таким образом сигнал с весом 0.5 НИКОГДА не преодолеет порог 100
основные условия открытия позиции на примере открытия на покупку (для продаж зеркально):
быстрая линия стохастика пересекает медленную линию стохастика снизу вверх
нужно добавить условие - если есть открытая позиция на покупку, при новом сигнале (см.пункт выше) сделка открывается только в том случае когда цена открытия новой сделки выше цены открытия последней открытой позиции на заданное кол-во пунктов, например 30.
условия закрытия позиции (на покупку), должны выполнится оба пункта
медленная линия стохастика пересекает уровень 80 стохастика сверху вниз
нужно добавить условие - это второе пересечение (см. пункт выше) для каждой ранее открытой позиции.
сорри если не точно пояснил по закрытию, на графике закрытие выглядит так: красными крестикам отмечены два сигнала на закрытие сделки, т.к. медленная (красного цвета) линия стохастика пересекает уровень 80 сверху вниз. Но сделка закрывается только на втором сигнале/пересечении
основные условия открытия позиции на примере открытия на покупку (для продаж зеркально):
быстрая линия стохастика пересекает медленную линию стохастика снизу вверх
нужно добавить условие - если есть открытая позиция на покупку, при новом сигнале (см.пункт выше) сделка открывается только в том случае когда цена открытия новой сделки выше цены последней открытой позиции на заданное кол-во пунктов, например 30.
***
Кажется пропустили условие для открытии позиции : в каких пределах должен быть индикатор (или уровень выше или ниже которого должен быть индикатор) ...
Подскажите пожалуйста, как в функции OnTick в сконструированном эксперте получить доступ к информации о позиции. Хотя бы открыта она или нет. Где взять указатель на позицию? Или нужно это делать как-то по-другому?
Эксперт сконструирован кем?
Покажите код, пожалуйста.Эксперт сконструирован кем?
Покажите код, пожалуйста.***а закрывал уже только по трейдингу ***
Не понятно.
VHS:
***а закрывал уже только по трейдингу ***
Vladimir Karputov:
Не понятно.
"Д" и "Л" рядом на клавиатуре. Ошибся.
"Д" и "Л" рядом на клавиатуре. Ошибся.
Да, Артём, спасибо большое. Видимо автозамена (или кривые руки). И пользовательский класс и закрытие - не трейДинг, а трейЛинг.
Я думаю можно всё сделать намного проще - в советнике порог на ЗАКРЫТИЕ ставите равным 100, а вес сигналу даёте 0.5 - таким образом сигнал с весом 0.5 НИКОГДА не преодолеет порог 100
Сначала чётко сформулируйте:
основные условия открытия позиции на примере открытия на покупку (для продаж зеркально):
условия закрытия позиции (на покупку), должны выполнится оба пункта
- медленная линия стохастика пересекает уровень 80 стохастика сверху вниз
- нужно добавить условие - это второе пересечение (см. пункт выше) для каждой ранее открытой позиции.
сорри если не точно пояснил по закрытию, на графике закрытие выглядит так: красными крестикам отмечены два сигнала на закрытие сделки, т.к. медленная (красного цвета) линия стохастика пересекает уровень 80 сверху вниз. Но сделка закрывается только на втором сигнале/пересеченииосновные условия открытия позиции на примере открытия на покупку (для продаж зеркально):
***
Кажется пропустили условие для открытии позиции : в каких пределах должен быть индикатор (или уровень выше или ниже которого должен быть индикатор) ...