[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 593

 
lottamer:

подскажите, плиз, что означает 

while(true)

 

в скрипте модификатора, что я вставил в советник?

и зачем эта странная проверка

if(cmd==OP_BUY || cmd==OP_SELL) ??

не правильнее ли просто проверить  на наличие открытой позиции? 

 

if(cmd==OP_BUY || cmd==OP_SELL) Это и есть проверка  на наличие открытой позиции ,а  while(true) это  цикл, который начнет выполнятся, если имеются открытые позиции и будет выполняться, пока они имеются  или пока не выполнится условие и следующие за ним операторы, стоящие перед оператором break;(или return для выхода из функции) 
 
Chiripaha:
А как-то возможно написать комментарии к линиям на подобие тех, что пишутся, когда выставляется ордер (номер тикета и типа ордера)?

Да научитесь, наконец, правильно задавать вопросы. Какие линии? Электропередач? Большинство людей не телепаты и не могут узнать,что вы имеете ввиду, если вы им об этом не скажете.
 

а почему у меня строка условий   

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

 

выполняется как TRUE даже если OrderProfit меньше 10 (долларов) ? 

ведь по идее все что меньше 10 долл должно отрезаться? 

 
rigonich:

Да научитесь, наконец, правильно задавать вопросы. Какие линии? Электропередач? Большинство людей не телепаты и не могут узнать,что вы имеете ввиду, если вы им об этом не скажете.


а по-моему нормально он объяснил :)))))))))

 

тока я не знаю как это делать :))) 

 
rigonich:

Да научитесь, наконец, правильно задавать вопросы. Какие линии? Электропередач? Большинство людей не телепаты и не могут узнать,что вы имеете ввиду, если вы им об этом не скажете.
Я телепат! А что случилось? :-))
 
lottamer:

а почему у меня строка условий   

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

 

выполняется как TRUE даже если OrderProfit меньше 10 (долларов) ? 

ведь по идее все что меньше 10 долл должно отрезаться? 


Попробуйте распечатать переменные перед этой строкой,возможно ваша программа не доходит до этой строки, или значения переменных не те, которых вы ожидаете. Например, если счет центовый в некоторых ДЦ функция  OrderProfit() возвращает значение в центах, а в других --в долларах.Ну и не все отрезаться, а только не выполнятся следующий (Точнее этот)оператор,если условие не верно. 
 
rigonich:

Попробуйте распечатать переменные перед этой строкой,возможно ваша программа не доходит до этой строки, или значения переменных не те, которых вы ожидаете. Например, если счет центовый в некоторых ДЦ функция  OrderProfit() возвращает значение в центах, а в других --в долларах.


1 - программа не может не дойти до этой строки - ибо она ИСПОЛНЯЕТСЯ (иначе советник не делал того что я от него жду). 

2 - через функцию   Print ("прибыль=", OrderProfit());  (которая тоже как-то странно себя ведет - то пишет , то молчит...) выводится следующее:

"прибыль=-0.24"  

 

что означает видимо в долларах. но когда я пишу в условии if OrderProfit()>10 - легко через него проходит...

 
Desead:

про ролловер никто не вкурсе ?

 

Товарищи, подскажите, когда ордера переоткрываются ролловером то возможны ли проскальзывания для значений стопа и тейка ? и как будет выставляться стоп если после ролловера разница между ценой открытия и стопом будет меньше стоплевела ?

 

А вообще задача у меня следующая. Есть открытый рыночный ордер, нужно определить открыт он ролловером или нет и если да то получить тикет того предыдущего ордера который закрыли. Может кто подскажет алгоритм поиска ? я пока делаю так:

1. Выделяю первый открытый ордер.
2. Смотрю время его открытия, если открылся с 23:40 до 00:20 то продолжаю проверять этот ордер дальше (40 минут окно взял на всякий пожарный ,хотя по идее можно взять с 23:50 по 23:59)
3. Запоминаю его тикет, стоп и тейк
4.Проверяю все закрытые ордера по истории где в комментариях есть слово swap и совпадают валютные пары

5. Сравниваю данные  по стопам и тейкам ,если совпдают то вот она искомая пара ордеров, если нет то возвращаюсь на шаг 1 

1. При ролловере нет проскальзываний , это технический момент.

2.(3-4-5) Достаточно оперелить наличие swop  в комментарии в указанное время ролловера.

 
Zhunko:
Я телепат! А что случилось? :-))


А как-то возможно написать комментарии к линиям на подобие тех, что пишутся, когда выставляется ордер (номер тикета и типа ордера)?

Так объясните мне, не телепату, о каких линиях идет речь?(приведенная строчка -- это весь комментарий) 

 
rigonich:


А как-то возможно написать комментарии к линиям на подобие тех, что пишутся, когда выставляется ордер (номер тикета и типа ордера)?

Так объясните мне, не телепату, о каких линиях идет речь?(приведенная строчка -- это весь комментарий) 


это зеленая пунктирная линия отмечающая уровень открытия сделки :))