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

 
Artemij:

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

total==2

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

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

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

Или?

Нумерация идёт с "0", значит 2 нужно проверять 1 -> 0

 

ВОТ ОПЯТЬ:

эксперт

2017.10.11 09:45:49.453 CLOSE MDCT AUDCHF AUDCHF,M30: close #28571186 sell 1.00 USDCHF at 0.97496 sl: 0.97710 tp: 0.97245 at price 0.97481

ЧТО, БЛИН, ПРОИСХОДИТ??????

ОБЪЯСНИТЕ КТО-НИБУДЬ!

ПОМОГИТЕ, ЛЮДИ ДОБРЫЕ!


ЕСЛИ В САМОМ НАЧАЛЕ КОДА СТОИТ:

if(OrderSymbol() == "AUDCHF")

КАКОГО ХРЕНА ОН ЛЕЗЕТ В USDCHF???????????????

 
Artemij:

ВОТ ОПЯТЬ:

эксперт

2017.10.11 09:45:49.453 CLOSE MDCT AUDCHF AUDCHF,M30: close #28571186 sell 1.00 USDCHF at 0.97496 sl: 0.97710 tp: 0.97245 at price 0.97481

ЧТО, БЛИН, ПРОИСХОДИТ??????

ОБЪЯСНИТЕ КТО-НИБУДЬ!

ПОМОГИТЕ, ЛЮДИ ДОБРЫЕ!


ЕСЛИ В САМОМ НАЧАЛЕ КОДА СТОИТ:

if(OrderSymbol() == "AUDCHF")

КАКОГО ХРЕНА ОН ЛЕЗЕТ В USDCHF???????????????

Перенумеруй скобки и ещё раз внимательно пройди по алгоритму. Постарайся найти несоответствие.

     if(OrderSymbol() == "AUDCHF")
        {//4
     
     CCI = 0;
     Mom = 0;
     Mom_pr = 0;
     STHm = 0;
     BBl = 0;
     BBh = 0;
     BBm = 0;
     
     CCI = iCCI("AUDCHF",PERIOD_H1,24,PRICE_TYPICAL,0);

     Mom    = iMomentum("AUDCHF",0,14,PRICE_TYPICAL,1);
     Mom_pr = iMomentum("AUDCHF",0,14,PRICE_TYPICAL,2);
     
     STHm = iStochastic("AUDCHF",0,12,3,3,MODE_SMA,1,MODE_MAIN,1);
     
     BBh = iBands("AUDCHF",0,44,2,0,PRICE_CLOSE,MODE_UPPER,0);
     BBl = iBands("AUDCHF",0,44,2,0,PRICE_CLOSE,MODE_LOWER,0);
     BBm = iBands("AUDCHF",0,44,2,0,PRICE_CLOSE,MODE_MAIN,0);
     
     ADX  = iADX("AUDCHF",0,12,PRICE_TYPICAL, MODE_MAIN,1);
     pADX = iADX("AUDCHF",0,12,PRICE_TYPICAL, MODE_PLUSDI,1);
     mADX = iADX("AUDCHF",0,12,PRICE_TYPICAL, MODE_MINUSDI,1);
//Close-----------------------------------------------
//Close BUY-------------------------------------------
 if(OrderType() == OP_BUY) 
   {//4

Может повтор скобки №4 мешает понять последовательность выполнения?

 
Alexey Viktorov:

Перенумеруй скобки и ещё раз внимательно пройди по алгоритму. Постарайся найти несоответствие.

Может повтор скобки №4 мешает понять последовательность выполнения?

Да со скобками порядок вроде, только нумерация в комментах не соответствует.

Иерархия кода лагает, код имеет цикл в цикле, так-же есть места имеющие сакральный смысл)

В общем его нужно кардинально переделывать.

 
Vitaly Muzichenko:

Да со скобками порядок вроде, только нумерация в комментах не соответствует.

Иерархия кода лагает, код имеет цикл в цикле, так-же есть места имеющие сакральный смысл)

В общем его нужно кардинально переделывать.

То что нет лишних это понятно, но проверить последовательность выполнения кода и последовательность проверок можно только скопировав код или вот так нумеруя скобки. Я посмотрел, понял что просто так не получится и предложил решение. Не самому-же мне искать проблемы... На просьбу помочь, я пытаюсь помочь. На просьбу сделать, я молча ухожу в сторонку.
 
Vitaly Muzichenko:

Да со скобками порядок вроде, только нумерация в комментах не соответствует.

Иерархия кода лагает, код имеет цикл в цикле, так-же есть места имеющие сакральный смысл)

В общем его нужно кардинально переделывать.


))

А что именно для Вас несёт сакральный смысл в этом коде?

И что не так с иерархией?

:-) 

 
Alexey Viktorov:

Перенумеруй скобки и ещё раз внимательно пройди по алгоритму. Постарайся найти несоответствие.

Может повтор скобки №4 мешает понять последовательность выполнения?


№№ скобок повторяются, потому что я стараюсь писать код блоками: от ------------------до===========.

Поэтому с нумерацией не путаюсь.

 
Artemij:

№№ скобок повторяются, потому что я стараюсь писать код блоками: от ------------------до===========.

Поэтому с нумерацией не путаюсь.

Ну тогда и дальше старайся. Последний мой совет, Обрати внимание на факт цикла в цикле

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

Vitaly Muzichenko, 2017.10.11 13:22

Да со скобками порядок вроде, только нумерация в комментах не соответствует.

Иерархия кода лагает, код имеет цикл в цикле, так-же есть места имеющие сакральный смысл)

В общем его нужно кардинально переделывать.


в этом случае может поменяться выбранный ордер.

 

Спасибо, что обратили моё внимание на цикл в цикле. Убрал. Посмотрим...

Но основная тема в другом:

Может ли В ПРИНЦИПЕ работать советник по такой схеме:

"Висит" на одной паре, а следит (бид-аск, ордера, индикаторы...) за несколькими парами?

Вот по такой конструкции:


string Pair;
...
    Total = OrdersTotal();
   if(Total>0)
     {//1
for(cnt = Total-1; cnt >= 0; cnt--)
   {//2
   ...
     Pair = OrderSymbol();
     CCI = 0;
     CCI = iCCI(Pair,PERIOD_H1,24,PRICE_TYPICAL,0);
 ... и т.д.

...или по какой-то другой схеме?
Это, вообще, в принципе возможно? И насколько это будет корректно работать?
 
Artemij:

Спасибо, что обратили моё внимание на цикл в цикле. Убрал. Посмотрим...

Но основная тема в другом:

Может ли В ПРИНЦИПЕ работать советник по такой схеме:

"Висит" на одной паре, а следит (бид-аск, ордера, индикаторы...) за несколькими парами?

Вот по такой конструкции:



...или по какой-то другой схеме?
Это, вообще, в принципе возможно? И насколько это будет корректно работать?
Возможно. Будет работать корректно.