Работа советника с разными парами - страница 4

 

И таких у меня 9 штук для разных пар.

 
Artemij:

И таких у меня 9 штук для разных пар.

Какой смысл в этом? Почему нельзя написать один, и ставить на разные пары, с разными настройками? Зачем жёстко привязывать символ, он ведь его автоматом возьмёт с того графика, на котором установлен

 
Vitaly Muzichenko:

Какой смысл в этом? Почему нельзя написать один, и ставить на разные пары, с разными настройками? Зачем жёстко привязывать символ, он ведь его автоматом возьмёт с того графика, на котором установлен



Смысл именно в том, о чём основная тема ветки: я, разумеется, начал с унифицированного советника на все пары 

string Pair; 

Pair = OrderSymbol();


и начался бардак ПОЛНЫЙ.

 Когда я, как в детском садике, разбил их по парам, полный бардак прекратился и начался ЛОКАЛЬНЫЙ. 

эксперты:

2017.10.09 19:59:08.859 CLOSE MDCT AUDJPY AUDJPY,M30: close #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.76065

журнал:

2017.10.09 19:59:08.718 '10179109': close order #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.00000

То есть, пришёл сигнал с AUDJPY, а закрылся AUDCHF


Вот теперь об этом и речь

 
Vitaly Muzichenko:

Какой смысл в этом? Почему нельзя написать один, и ставить на разные пары, с разными настройками? Зачем жёстко привязывать символ, он ведь его автоматом возьмёт с того графика, на котором установлен


эксперты:

2017.10.09 19:59:08.859 CLOSE MDCT AUDJPY AUDJPY,M30: close #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.76065


журнал:

2017.10.09 19:59:08.718 '10179109': close order #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.00000


То есть, пришёл сигнал с AUDJPY, а закрылся AUDCHF

 
Artemij:

эксперты:

2017.10.09 19:59:08.859 CLOSE MDCT AUDJPY AUDJPY,M30: close #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.76065


журнал:

2017.10.09 19:59:08.718 '10179109': close order #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.00000


То есть, пришёл сигнал с AUDJPY, а закрылся AUDCHF

 for(int cnt=total-1; cnt>=0; cnt--)
  {
  if(OrderSelect(cnt, SELECT_BY_POS,MODE_TRADES))
   {
   if(OrderSymbol() == "AUDJPY")
    {
 
Vitaly Muzichenko:

А чем это принципиально отличается?

Total = OrdersTotal();
   if(Total>0)
   {//1
for(cnt = Total; cnt >= 0; cnt--) 
   {//2
   if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)==true)
     {//3
     if(OrderSymbol() == "AUDJPY")
        {//4

,как у меня и есть.

 

Не, ну правда - не понимаю. Объясните разницу.

 
Artemij:

Не, ну правда - не понимаю. Объясните разницу.

total-1
 
Alekseu Fedotov:

Вот в моменте есть у нас два ордера: №0 и №1

total==2

Если мы задаём (cnt=total -1) сначала проверяем №1, потом №0

Если мы задаём (cnt=total) сначала проверяем №2 - нет такого, едем дальше; потом №1; потом №0

Результат - тот же.

Или?

 

Вполне допускаю, что я не прав. Как это самое (total-1) может изменить ситуацию с:

эксперты:

2017.10.09 19:59:08.859 CLOSE MDCT AUDJPY AUDJPY,M30: close #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.76065


журнал:

2017.10.09 19:59:08.718 '10179109': close order #28564484 buy 1.00 AUDCHF at 0.76064 sl: 0.75830 tp: 0.76245 at price 0.00000


То есть, пришёл сигнал с AUDJPY, а закрылся AUDCHF

??????