А зачем? Лучше посмотреть видео, понять но не много, а потом сказать програмирование не для меня. Ничего не могу освоить.
Там где тема с советником МА. Там цена пересекает МА.ветку я прочитал уже раза три всю может я конечно туплю но тыкни носом идиота пожайлуста где про пересечение:question:
а за виртуальн стоп лос спасибо
MA1=iMA(...,1);
MA2=iMA(...,2);
Close[2]<MA2 && Close[1]>MA1 //тоесть цена на позапрошлом баре меньше МА, а на прошлом больше
Тебе поможет подсчёт ордеров. На эту тему можно сделать урок.Спасибо eevviill, уроки что надо, много нужного и на простом языке.
Подскажите как с отложенными ордерами работать, а точнее как выставлять не все ордера согласно условию MaxOrders=10, а скажем пачкой по 2 ордера при условии, что предыдущие отложенные стали рыночными.
Буду ждать с нетерпением. спасибо.Тебе поможет подсчёт ордеров. На эту тему можно сделать урок.
int buy,sell,sell_stop,buy_stop;
...
void CountOpenPositions()
{
buy=0;
sell=0;
buy_stop=0;
sell_stop=0;
1)for (int i=OrdersTotal()-1; i>=0; i--)
{
2)OrderSelect(i,SELECT_BY_POS);
{
3)if(OrderMagicNumber()==magic)
{
4)if(OrderType()==OP_BUY) buy++;
if(OrderType()==OP_SELL) sell++;
if(OrderType()==OP_BUYSTOP) buy_stop++;
if(OrderType()==OP_SELLSTOP) sell_stop++;
}
}
}
}
5)
Да. Функция каждый тик будет подсчитывать количество всех ордеров. А там уже можно манипулировать как хочешь.Так-так, чуть проясняется).
Если мы будем прогонять через эту функцию каждый выставленный ордер, а в ограничении к примеру if buy_stop< нужного нам кол-ва отложек, то будем выставлять следующую отложку buystop. так? а выставив необходимое кол-во остановимся и будем ждать пока отложка сработает, тем самым - 1 отложка и +1 рыночный и вернемся мы опять к if buy_stop< нужного нам кол-ва отложек.
int Sig_f()
Да. Функция каждый тик будет подсчитывать количество всех ордеров. А там уже можно манипулировать как хочешь.
Это новый шаблон советника.
Что уже в нём есть.
.....
Как и в прошлой версии надо просто в функции
прописать условие на вход.PHP:int Sig_f()
Функции типа void надо просто прописать перет тем где надо.В целом конечно очень понятно, но блин на деле, чесно говоря не все так хорошо. eevviill на примере можно показать, как эту функцию вызывать, так сказать чтобы уловить что, где и в каком месте.
CountOpenTrades();
int Start()
{
CountOpenTrades();
Функции типа void надо просто прописать перет тем где надо.
Глянь в шаблон.PHP:CountOpenTrades();
А если не знаешь(ну вдруг) где писать, то напиши сразу после функции старт
PHP:int Start() { CountOpenTrades();
А что там не так? У меня открылось сразу 2 отложенных ордера.
А что там не так? У меня открылось сразу 2 отложенных ордера.