Подскажите, как заставить мультвалютного советника, который торгует по трём парам, брать тиковые бары и временной интервал не с символа на котором установлен советник, а с другого символа, так же его временной интервал. его временной интервал.
Какую функцию прописать в коде.
Спасибо.
на примере:
double point = SymbolInfoDouble(sym,SYMBOL_POINT);
вместо
point = SymbolInfoDouble(_Symbol,SYMBOL_POINT);
Подобные замены надо сделать везде. И передавать нужный символ в sym.
на примере:
double point = SymbolInfoDouble(sym,SYMBOL_POINT);
вместо
point = SymbolInfoDouble(_Symbol,SYMBOL_POINT);
Подобные замены надо сделать везде. И передавать нужный символ в sym.
Это уже сделано в советнике и работает отлично. Вопрос в другом. Как брать тики в советнике с другой пары. Так как для каждой корзины с трёх пар нужны тики с определённого символа и его Time Frame. Как прописать эту функцию для каждой корзины.
Вот фрагмент кода, который берёт тики сейчас.
void OnTick(){
if(Trade1) // первая корзина
{
if(bars!=Bars(NULL,TF1)) // тики для первой корзины с указанным TimeFrame для графика, на котором стоит советник
{
if(Symb1_1 != "") Trade(Symb1_1, Lot_1, Magic_1); // символ первой корзины
if(Symb1_2 != "") Trade(Symb1_2, Lot_1, Magic_1); // символ первой корзины
if(Symb1_3 != "") Trade(Symb1_3, Lot_1, Magic_1); // символ первой корзины
}
bars=Bars(NULL,TF1);
}
if(Trade2) // вторая корзина
{
if(bars!=Bars(NULL,TF2))
{
if(Symb2_1 != "") Trade(Symb2_1, Lot_2, Magic_2);
if(Symb2_2 != "") Trade(Symb2_2, Lot_2, Magic_2);
if(Symb2_3 != "") Trade(Symb2_3, Lot_2, Magic_2);
}
bars=Bars(NULL,TF2);
}
if(info) ShowInfo();
}
- www.mql5.com
По таймеру - может быть много неточностей, а вот с OnBookEvent я бы попробовал, но нехватает знаний. Если поможете, буду очень признателен.
для мультисимвола: вот как раз таки без частого таймера вам и не обойтись :-)
PS/ если упоминание OnBookEvent - "нехватает знаний", значит про такие советники пока рано, просто запоретё всё. Без обид - надо подтягивать навыки на более простых "кошках"
для мультисимвола: вот как раз таки без частого таймера вам и не обойтись :-)
PS/ если упоминание OnBookEvent - "нехватает знаний", значит про такие советники пока рано, просто запоретё всё. Без обид - надо подтягивать навыки на более простых "кошках"
Ну так помогите мне, и котёнок превратится в кота ... Я люблю учиться.
для мультисимвола: вот как раз таки без частого таймера вам и не обойтись :-)
PS/ если упоминание OnBookEvent - "нехватает знаний", значит про такие советники пока рано, просто запоретё всё. Без обид - надо подтягивать навыки на более простых "кошках"
да ладно стращать. Все когда то бывает первый раз.
топикстартер не совсем сам понимает , что спрашивает.
Если надо перебрать открытые чарты и на основании их данных что-то сделать - это нужно перебрать чарты и получить инфу. Смотр и справку по части операции с чартами.
Если просто получить цены с 3 символов - то SymbolInfoTick(sym, Mql _tick)
да ладно стращать. Все когда то бывает первый раз.
топикстартер не совсем сам понимает , что спрашивает.
Если надо перебрать открытые чарты и на основании их данных что-то сделать - это нужно перебрать чарты и получить инфу. Смотр и справку по части операции с чартами.
Если просто получить цены с 3 символов - то SymbolInfoTick(sym, Mql _tick)
Согласен, не знаю. Знал бы давно, сделал сам.
Вот часть кода МУЛЬТВАЛЮТНГОГО советника, который торгует корзинами. Когда торгует одной корзиной, все входы в рынок делает верно. Когда двумя корзинами, то идёт путаница и входы уже не верно делает. Как можно по другому прописать?void OnTick() { if(Trade1) // первая корзина { if(bars!=Bars(NULL,TF1)) { if(Symb1_1 != "") Trade(Symb1_1, Lot_1, Magic_1); if(Symb1_2 != "") Trade(Symb1_2, Lot_1, Magic_1); if(Symb1_3 != "") Trade(Symb1_3, Lot_1, Magic_1); } bars=Bars(NULL,TF1); } if(Trade2) // вторая корзина { if(bars!=Bars(NULL,TF2)) { if(Symb2_1 != "") Trade(Symb2_1, Lot_2, Magic_2); if(Symb2_2 != "") Trade(Symb2_2, Lot_2, Magic_2); if(Symb2_3 != "") Trade(Symb2_3, Lot_2, Magic_2); } bars=Bars(NULL,TF2); } if(info) ShowInfo(); }
Какую функцию можно добавить, что бы для отдельной корзины брать график отдельного символа и его TimeFrame (это уже я подобрал для каждой корзины). Только так будет верный сигнал на вход советника.
Помогите, буду очень признателен.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
...
Sergey Golubev, 2020.03.23 16:08
Вставляйте правильно код -
----------------
MQL5.community - Памятка пользователя
Кнопка предназначена для вставки исходного кода в текст сообщения. При нажатии появляется пустое окно, в которое необходимо вставить код и далее нажать кнопку Вставить. Для отмены вставки кода необходимо нажать кнопку Отмена.
Подскажите, как заставить мультвалютного советника, который торгует по трём парам, брать тиковые бары и временной интервал не с символа на котором установлен советник, а с другого символа, так же его временной интервал. его временной интервал.
Какую функцию прописать в коде.
Спасибо.
тут почитайте
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите, как заставить мультвалютного советника, который торгует по трём парам, брать тиковые бары и временной интервал не с символа на котором установлен советник, а с другого символа, так же его временной интервал. его временной интервал.
Какую функцию прописать в коде.
Спасибо.