[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 89
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Help! Плиз, помогите - есть пользовательский индикатор, который помимо всего прочего, рисует стрелочки Buy и Sell. Как на его основе сделать советник???? Как проще - определять из советника нарисована ли стрелка?? Или код индикатора сделать ввиде функции советника???? С MQL знаком на уровне учебника С Ковалева. Ответы на свои вопросы там не нашел.
Помогите очень надо.
Help! Плиз, помогите - есть пользовательский индикатор, который помимо всего прочего, рисует стрелочки Buy и Sell. Как на его основе сделать советник???? Как проще - определять из советника нарисована ли стрелка?? Или код индикатора сделать ввиде функции советника???? С MQL знаком на уровне учебника С Ковалева. Ответы на свои вопросы там не нашел.
Помогите очень надо.
https://www.mql5.com/ru/code/8524
Отлично, готовый советник! Буду разбираться, спасибо!
что пишет в журнале на попытку?
ничего не пишет
https://www.mql5.com/ru/code/8524
Как оказалось все немного сложнее. Данный советник работает с индикаторами, где стрелкам выделены два индикаторных массива (буфферы индикатора). А у меня в индикаторе объекты (стрелки) создаются методом ObjectCreate(). Насколько я понял, там при определенных показаниях, идет создание объекта (стрелки) по координатам время-цена. Я думаю проще всего сделать советника, где в некой функции бы использовалась, так сказать формула индикатора и при тех же условиях открывались позиции вместо стрелок. Как быть ??? Помогите!
Как оказалось все немного сложнее. Данный советник работает с индикаторами, где стрелкам выделены два индикаторных массива (буфферы индикатора). А у меня в индикаторе объекты (стрелки) создаются методом ObjectCreate(). А как быть в этом случае??? Помогите!
Можно просто код индикатора перенести в эксперт. И уже там, вместо команды ObjectCreate() для стрелочки Buy открывать сделку Buy. Аналогично и с Sell.
Спасибо! Займусь - думаю в этом нет ничего сложного.
Здравствуйте
Помогите разобраться. Суть проблемы. Советник только продает и закрывает, работает с одним ордером. Когда стохастик выше 80 можно поймать несколько лоссов и есть мысль менять условия продажи если поза закрылась по стоплоссу, для этого применяется функция isCloseLastPosByStop которая от KimA. То есть она true когда последняя позиция закрылась по стоплоссу и false, если это не так и эти условия введены в условия продажи. При подключении открывается одна позиция, которая закрывается по стоплоссу или не закрывается вообще. Огромная просьба подскажите что не так в коде или как сделать чтоб было по идее
i
int start()
{
int
cnt=0,
ticket,
total;
double
StochK_0, // Значен. лнии К
StochD_1, // Значен. лнии D
SL=StopLoss;
bool
isCloseLastPosByStop(NULL,OP_SELL, MagicNamber); // ф-уя KimA
StochK_0=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 0); // K
StochD_1=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 2); //D
ticket= OrderTicket();
total=OrdersTotal();
if (total<1)
if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0)
{
if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 1ые усл продажи
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // продаем
OrderSelect(0, SELECT_BY_POS);
if (OrderSelect(0, SELECT_BY_POS)==true )
Print("выбрал");
else
Print("не выбрал ошибка : ",GetLastError());
if((StochK_0<30)&& (StochD_1 < 30))
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
else
if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)
{
if ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) ) 2ые усл продажи
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*0,0, "My EXP", MagicNamber,0,Green); //
OrderSelect(0, SELECT_BY_POS);
if (OrderSelect(0, SELECT_BY_POS)==true )
Print("выбрал2");
else
Print("не выбрал2 ошибка : ",GetLastError());
if((StochK_0<30)&& (StochD_1 < 30)) // условие закрытия
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
return(0);
}
//___ фу-я ______ isCloseLastPosByStop(NULL,OP_SELL, MagicNamber)______
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
……………итд…………………………