Здравствуйте. У меня есть Grid E.A, который принимает позиции на покупку или продажу, например, в диапазоне 10 пипсов с некоторыми условиями. Может быть так, что есть позиции на покупку или продажу и условия исчезают на некоторое время и после перехода он сможет открыть другие позиции.
Мой вопрос: Как он может не открывать больше позиций рядом с другими позициями на расстоянии менее 10 пунктов? Логичное решение, это иметь все PiceOpens и не давать открывать новые позиции на расстоянии 10 пипсов от верхней и нижней из них.Но я не достиг результата. Пожалуйста, помогите.
Здравствуйте. У меня есть Grid E.A, который принимает позиции на покупку или продажу, например, в диапазоне 10 пипсов с некоторыми условиями. Может быть так, что есть позиции на покупку или продажу, а условия исчезают на некоторое время и после перехода, он сможет открыть другие позиции.
Мой вопрос: Как он может не открывать больше позиций рядом с другими позициями на расстоянии менее 10 пунктов? Логичное решение, это иметь все PiceOpens и не давать открывать новые позиции на расстоянии 10 пипсов от верхней и нижней из них.Но я не достиг результата. Пожалуйста, помогите.
Опишите ваши правила в деталях ( пожалуйста, выберите правильный вариант ):
Позиции "BUY" открываются только ( вверх или вниз ),
Позиции 'SELL' открываются только ( вверх или вниз )?
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть выше и выше, каждая следующая позиция "SELL" должна быть ниже и ниже - тогда я использую эту функцию:
//+------------------------------------------------------------------+//| Calculate all positions |//+------------------------------------------------------------------+void CalculateAllPositions_HighestBuyHighestSell(double &price_highest_buy,double &price_lowest_sell)
{
//--- auxiliary variablesdouble price_highest_buy = DBL_MIN;
double price_lowest_sell = DBL_MAX;
//---for(int i=PositionsTotal()-1; i>=0; i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
{
if(m_position.PositionType()==POSITION_TYPE_BUY)
{
if(m_position.PriceOpen()>price_highest_buy) // the highest position of "BUY" is found
price_highest_buy=m_position.PriceOpen();
continue;
}
elseif(m_position.PositionType()==POSITION_TYPE_SELL)
{
if(m_position.PriceOpen()<price_lowest_sell) // the lowest position of "SELL" is found
price_lowest_sell=m_position.PriceOpen();
}
}
}
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть ниже и ниже, каждая следующая позиция "SELL" должна быть выше и выше - тогда я использую эту функцию:
//+------------------------------------------------------------------+//| Calculate all positions |//+------------------------------------------------------------------+void CalculateAllPositions_LowestBuyLowestSell(double &price_highest_buy,double &price_lowest_sell)
{
//--- auxiliary variablesdouble price_lowest_buy = DBL_MAX;
double price_highest_sell = DBL_MIN;
//---for(int i=PositionsTotal()-1; i>=0; i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
{
if(m_position.PositionType()==POSITION_TYPE_BUY)
{
if(m_position.PriceOpen()<price_lowest_buy) // the lowest position of "BUY" is found
price_lowest_buy=m_position.PriceOpen();
continue;
}
elseif(m_position.PositionType()==POSITION_TYPE_SELL)
{
if(m_position.PriceOpen()>price_highest_sell) // the highest position of "SELL" is found
price_highest_sell=m_position.PriceOpen();
}
}
}
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть выше и выше, каждая следующая позиция "SELL" должна быть ниже и ниже - тогда я использую эту функцию:
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть ниже и ниже, каждая следующая позиция "SELL" должна быть выше и выше - тогда я использую эту функцию:
спасибо. Я многому научился благодаря вашим материалам.
Действительно, никаких " ...каждая следующая позиция "BUY" должна быть все выше и выше..." и никаких " ...каждая следующая позиция "BUY" должна быть все ниже и ниже..." не происходит.
В качестве примера я подготовил 4 последовательности движения цены (разумеется, увеличив количество Tr_SL).
На первом изображении позиции на продажу создаются при падении цены.
На втором изображении позиция на покупку создается путем изменения условий и повышения цены.
На третьем изображении цена снова упала, и появились условия для создания трех позиций на продажу.
На четвертом изображении, по мере роста цены, создается позиция на покупку, которая ниже первой позиции "покупка".
//+------------------------------------------------------------------+//| Nearest Position |//+------------------------------------------------------------------+double NearestPosition(doubleconst price)
{
double nearest=DBL_MAX;
for(int i=PositionsTotal()-1; i>=0; i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
{
double shift=MathAbs(m_position.PriceOpen()-price);
if(nearest==DBL_MAX)
nearest=shift;
elseif(shift<nearest)
nearest=shift;
}
//---return(nearest);
}
Я уже использовал этот код. Я интегрировал эти коды в своего робота. но он работает неэффективно. Я не получаю ошибок. Но я не получил того, что хотел. Вы можете мне помочь?
Я уже использовал этот код. Я интегрировал эти коды в своего собственного робота. но он работает неэффективно. Я не получаю ошибок. Но я не получил того, что хотел. Вы можете мне помочь?
Приложите свой код, опишите, что именно он должен делать. Опишите, что именно не работает.
Хорошо, я посмотрю сегодня вечером.
Вам необходимо использовать код iMACD Difference Close All. Если у вас есть вопросы по коду - вы можете задать их в специальной теме.
Здравствуйте. У меня есть Grid E.A, который принимает позиции на покупку или продажу, например, в диапазоне 10 пипсов с некоторыми условиями. Может быть так, что есть позиции на покупку или продажу и условия исчезают на некоторое время и после перехода он сможет открыть другие позиции.
Мой вопрос: Как он может не открывать больше позиций рядом с другими позициями на расстоянии менее 10 пунктов? Логичное решение, это иметь все PiceOpens и не давать открывать новые позиции на расстоянии 10 пипсов от верхней и нижней из них.Но я не достиг результата. Пожалуйста, помогите.
Здравствуйте. У меня есть Grid E.A, который принимает позиции на покупку или продажу, например, в диапазоне 10 пипсов с некоторыми условиями. Может быть так, что есть позиции на покупку или продажу, а условия исчезают на некоторое время и после перехода, он сможет открыть другие позиции.
Мой вопрос: Как он может не открывать больше позиций рядом с другими позициями на расстоянии менее 10 пунктов? Логичное решение, это иметь все PiceOpens и не давать открывать новые позиции на расстоянии 10 пипсов от верхней и нижней из них.Но я не достиг результата. Пожалуйста, помогите.
Опишите ваши правила в деталях ( пожалуйста, выберите правильный вариант ):
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть выше и выше, каждая следующая позиция "SELL" должна быть ниже и ниже - тогда я использую эту функцию:
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть ниже и ниже, каждая следующая позиция "SELL" должна быть выше и выше - тогда я использую эту функцию:
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть выше и выше, каждая следующая позиция "SELL" должна быть ниже и ниже - тогда я использую эту функцию:
Если я открываю позиции следующим образом: каждая следующая позиция "BUY" должна быть ниже и ниже, каждая следующая позиция "SELL" должна быть выше и выше - тогда я использую эту функцию:
спасибо. Я многому научился благодаря вашим материалам.
Действительно, никаких " ...каждая следующая позиция "BUY" должна быть все выше и выше..." и никаких " ...каждая следующая позиция "BUY" должна быть все ниже и ниже..." не происходит.
В качестве примера я подготовил 4 последовательности движения цены (разумеется, увеличив количество Tr_SL).Вы можете искать ближайшую позицию:
Вы можете искать ближайшую позицию:
iMACD Farkı Tümünü Kapatmanız gerekir . Kodla ilgili olabilecek - özel bir özellikta sorabilirsiniz .
Я уже использовал этот код. Я интегрировал эти коды в своего робота. но он работает неэффективно. Я не получаю ошибок. Но я не получил того, что хотел. Вы можете мне помочь?
Я уже использовал этот код. Я интегрировал эти коды в своего собственного робота. но он работает неэффективно. Я не получаю ошибок. Но я не получил того, что хотел. Вы можете мне помочь?
Приложите свой код, опишите, что именно он должен делать. Опишите, что именно не работает.