GeorgeReji : На баре 0 текущие цены покупки или продажи должны быть равны значению индикатора в зависимости от покупки или продажи
Я вас понял. Только сразу предупреждаю: никогда не используйте условие "цена равна значению индикатора". Используйте условие "цена пересекла индикатор".
Возможно, я не до конца объяснил, что имел в виду. Яне ищу в истории закрытые позиции.
Я хочу найти цену открытия последней позиции, которая все еще открыта, и взять другую позицию или позиции в соответствии с ее ценой.
Вот
//| |//+------------------------------------------------------------------+double YoungestShortPositionPrice(conststring symbol, constint MagicNumber) //Gewinn der Gesamtposition
{
double Price=0;
datetime time=D'01.01.1970';
//--- in allen offenen Positionen suchenint i = PositionsTotal();
while(i-->0)
{
//--- Parameter der Orderulong position_ticket=PositionGetTicket(i);// das Ticket der PositionPositionSelectByTicket(position_ticket);
string position_symbol=PositionGetString(POSITION_SYMBOL); // Symbolulong magic=PositionGetInteger(POSITION_MAGIC); // MagicNumber der Positiondouble position_lot=PositionGetDouble(POSITION_VOLUME);
ENUM_POSITION_TYPE type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
datetime opentime = (datetime)PositionGetInteger(POSITION_TIME);
double position_price=PositionGetDouble(POSITION_PRICE_OPEN);
//--- wenn die MagicNumber übereinstimmt, sind Stop Loss und Take Profit nicht gesetztif(position_symbol==symbol
&& MagicNumber==magic
&& time < opentime
&& type == POSITION_TYPE_SELL
)
{
time=opentime;
Price = position_price;
}
}
return(Price);
}
Я пытался задать этот вопрос в другой статье, но, похоже, никто не смог на него ответить. Я буду использовать 2 полосы Боллинджера. Отклонения 2,5 и 1,0, я буду проверять, находится ли закрытие первой свечи выше полосы Боллинджера 2,5, и я установил цикл, идущий от 5 до 50. Этот цикл будет проверять, если любое из закрытий от close[5] до close[5] находится выше полосы Боллинджера 2,5. Я не могу понять, что делать с этими двумя условиями.
1. Все свечи между close[1] и свечой цикла 5-50 должны быть выше определенного отклонения полосы Боллинджера.
2. Хотя бы одна свеча должна быть ниже определенного уровня.
Я приведу пример с картинкой ниже.
Здесь видно, что close[1] находится выше полосы Боллинджера 2,5, а проходя по свечному контуру, мы видим, что close[23] закрывается выше полосы 2,5. Синяя полоса Боллинджера - это отклонение 1.0, и, как вы можете видеть на рисунке, все свечи от close[1] до close[23] находятся выше нижней полосы 1.0, и по крайней мере одна свеча закрывается ниже верхней полосы 1.0.
Что не так? Покажите свою идею в виде картинки
Скриншот
Спасибо за уточняющий рисунок. Еще один вопрос: пересечение цены и индикатора iMA должно проверяться на баре "0" или "1"?
Спасибо за уточняющий рисунок. Еще один вопрос: пересечение цены и индикатора iMA должно проверяться на баре "0" или "1"?
На баре 0 текущие цены покупки или продажи должны быть равны значению индикатора в зависимости от покупки или продажи
Я вас понял. Только сразу предупреждаю: никогда не используйте условие "цена равна значению индикатора". Используйте условие "цена пересекла индикатор".
Код будет чуть позже...
Закрыть позицию на пересечении цены и iMA
Код 'Закрыть позицию на пересечении цены и iMA.mq5'
Я хочу узнать, каков идентификатор графика определенного символа и таймфрейма, как мне это сделать?
ChartID - это идентификатор графика, и он никак не связан с символом или таймфреймом. Если есть график, то у него есть идентификатор.
ChartID - это идентификатор графика, и он никак не связан с символом или таймфреймом. Если есть график, то у него есть идентификатор.
О, я вижу.
спасибо.
Но вы приводили этот код на предыдущих страницах.
Возможно, я не до конца объяснил, что имел в виду. Яне ищу в истории закрытые позиции.
Я хочу найти цену открытия последней позиции, которая все еще открыта, и взять другую позицию или позиции в соответствии с ее ценой.
Вот
Я пытался задать этот вопрос в другой статье, но, похоже, никто не смог на него ответить. Я буду использовать 2 полосы Боллинджера. Отклонения 2,5 и 1,0, я буду проверять, находится ли закрытие первой свечи выше полосы Боллинджера 2,5, и я установил цикл, идущий от 5 до 50. Этот цикл будет проверять, если любое из закрытий от close[5] до close[5] находится выше полосы Боллинджера 2,5. Я не могу понять, что делать с этими двумя условиями.
1. Все свечи между close[1] и свечой цикла 5-50 должны быть выше определенного отклонения полосы Боллинджера.
2. Хотя бы одна свеча должна быть ниже определенного уровня.
Я приведу пример с картинкой ниже.
Здесь видно, что close[1] находится выше полосы Боллинджера 2,5, а проходя по свечному контуру, мы видим, что close[23] закрывается выше полосы 2,5. Синяя полоса Боллинджера - это отклонение 1.0, и, как вы можете видеть на рисунке, все свечи от close[1] до close[23] находятся выше нижней полосы 1.0, и по крайней мере одна свеча закрывается ниже верхней полосы 1.0.
Пожалуйста, помогите с этим