[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 404
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не получается организовать цикл, X и Y всегда равны 0.
для начала разгребите мусор в мыслях.
оформляйте код красиво и структурировано.
и не жадничайте на коментарии.
Да.Конечно.
Я сначала отбираю ордера с нужнім магикнумбером и на этой валютной паре. if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) {
Дальше, если нумбер и пара те.Тогда цикл for( i=OrdersTotal();i==0;i--),я в нем отбираю ордера вот таким образом OrderSelect(i,SELECT_BY_POS ); и потом считаю, сколько ордеров типо OP_SELLSTOP
Если ордеров нет, тогда открываем ордер такого типа, которого нет. Переменная X в верхнем цикле и Y в нижнем это подсчет ордеров нужного типа. Оба цикла по структуре и назначению одинаковы.
Я уже писал с обяснениями, но тут пришол папа, позвонил, принес молоко,чай и халву, а я не отправил сообщение, я пошол пописять, а папа неотправленное сообщение стер, говорит, а что, можно было в другом окне поисковика писать?? А мне ж тоже интересно,что такое паста из крапивы.Я немного психанул и отправил почти без пояснений.
Так вот, X b Y сегда равны 0. Не работает наверно цикл for. Короче, совершенно не понимаю, что там может не работать, из-за этого открываются ордера по 2 на каждом тике.
Да.Конечно.
Я сначала отбираю ордера с нужнім магикнумбером и на этой валютной паре. if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) {
Дальше, если нумбер и пара те.Тогда цикл for( i=OrdersTotal();i==0;i--),я в нем отбираю ордера вот таким образом OrderSelect(i,SELECT_BY_POS ); и потом считаю, сколько ордеров типо OP_SELLSTOP
Если ордеров нет, тогда открываем ордер такого типа, которого нет. Переменная X в верхнем цикле и Y в нижнем это подсчет ордеров нужного типа. Оба цикла по структуре и назначению одинаковы.
Я уже писал с обяснениями, но тут пришол папа, позвонил, принес молоко,чай и халву, а я не отправил сообщение, я пошол пописять, а папа неотправленное сообщение стер, говорит, а что, можно было в другом окне поисковика писать?? А мне ж тоже интересно,что такое паста из крапивы.Я немного психанул и отправил почти без пояснений.
Так вот, X b Y сегда равны 0. Не работает наверно цикл for. Короче, совершенно не понимаю, что там может не работать, из-за этого открываются ордера по 2 на каждом тике.
абсолютно верно, циклы for делают не то, что вам нужно.
у Вас написано: for( i=OrdersTotal();i==0;i--)
1) Если ордеров 0, то цикл выполнится 1 раз. При этом он выберет неизвестно что и с этим неизвестно что сделает неизвестно что =)
2) Если ордеров больше 0, то цикл вообще не начнет выполняться, потому что условие "i==0" не выполнено
Выражение2 - проверка условия завершения цикла. Если оно истинно, то выполняется оператор тела цикла for.
В справке написано
Выражение2 - проверка условия завершения цикла. Если оно истинно, то выполняется оператор тела цикла for.
правильно, до цикла не доходит
у Вас написано: "Если символ ордера (какого ордера то? их много... или вообще ни одного) равен текущему и его magic (кого его-то?) равен 1000, то запустить цикл"
а надо : "запустить цикл. В нем: 1) выбрать ордер. 2) и если символ =.. и magic =1000, то X++;"
Некоторые ДЦ на реальных счетах именам символов присваивают всякие префиксы типа "." или "FXF".
Как мне подставлять эти префиксы?
я делал так:
#define DEF_SPEC "FXF"
string SymbolsTrade[] = {"AUDCAD"DEF_SPEC ... -так не выходит
string SymbolsTrade[] = {"AUDCAD"+DEF_SPEC ... -и так тоже не получается
в итоге вместо нужного AUDCADFXF получаю просто FXF.
Не подскажите как это реализовать?Некоторые ДЦ на реальных счетах именам символов присваивают всякие префиксы типа "." или "FXF".
Как мне подставлять эти префиксы?
я делал так:
#define DEF_SPEC "FXF"
string SymbolsTrade[] = {"AUDCAD"DEF_SPEC ... -так не выходит
string SymbolsTrade[] = {"AUDCAD"+DEF_SPEC ... -и так тоже не получается
в итоге вместо нужного AUDCADFXF получаю просто FXF.
Не подскажите как это реализовать?ну "сходу" сработал вариант:
Понял, щас сделаю..
Еще, не работает условие