[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 118
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день.
Я написал код для открытия двух отложенных ордеров (BuyStop и SellStop) по условиям a=true и b=true и через некоторое время советник закрывает оба ордера, до появления повторного сигнала, но порой советник открывает 2 отложенных ордера в одном направлении. Почему это происходит и как избежать этого "бага"?
if (a=true && b=true)
{
int OrderCount = OrdersTotal();
if (OrderCount>1) return(0);
ticket1=OrderSend(Symbol(), OP_BUYSTOP, getLot(), PriceOpen_Buy, slippage, PriceOpen_Sell,0,0,Green);
Sleep(1000);
ticket2=OrderSend(Symbol(), OP_SELLSTOP, getLot(), PriceOpen_Sell, slippage, PriceOpen_Buy,0,0,Green);
Sleep(1000*59*TimeFrame);
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask,slippage);
if (OrderType()==OP_BUY ) OrderClose(OrderTicket(),OrderLots(),Bid,slippage);
}
return(0);
}
Подскажите, пожалуйста.
Заранее благодарен
Здраствуйте,
Возможно ли в експерт написат,что график с фиксираный мащаб 1:1 -в настроек можно.
Если возможно,скажите как.
Заранее спосибо.
Эта библиотека может.
Раздел "3.3. Функции установки свойств графика" функция ServiceSetScaleFix1To1().
Библиотека работает только с русской и английской локализациями. Возможно в Вашей тоже будет.
Вот функция открытия ордера:
Вот распринтовка параметров:
Здесь явно видно что цена ТП и СЛ находятся ниже и выше соответственно аска и бида, т.е. всё верно. Но почему-то происходит ошибка модификации по причине неверное стопа. Как так?
Вот функция открытия ордера:
Вот распринтовка параметров:
Здесь явно видно что цена ТП и СЛ находятся ниже и выше соответственно аска и бида, т.е. всё верно. Но почему-то происходит ошибка модификации по причине неверное стопа. Как так?
А вы вообще читаете то, на что ругань идёт?
Смотрите параметры, передаваемые в вызываемую функцию.Вот когда совсем ничего не понятно будет, тогда всем миром разбираться будем-с...
ЗЫ. При выставлении отложенного ордера строка
if (price < Bid)
не совсем уместна. Нужно проверять на соответствие минимально-разрешённой дистанции, заданной в MarketInfo(Symbol(), MODE_STOPLEVEL). Первое, что сразу же бросилось в глаза.
Второе - распечатайте цену, на которой установлен ордерочек. Стоп и Тейк должны располагаться не относительно Аска с Бидом, а относительно цены установки ордера
Эта библиотека может.
Раздел "3.3. Функции установки свойств графика" функция ServiceSetScaleFix1To1().
Библиотека работает только с русской и английской локализациями. Возможно в Вашей тоже будет.
А вы вообще читаете то, на что ругань идёт?
Смотрите параметры, передаваемые в вызываемую функцию.Вот когда совсем ничего не понятно будет, тогда всем миром разбираться будем-с...
Конечно читаю, потому и интересно стало. вот распринтовал все входные параметры.
Вот что вышло:
В журнале вот что:
Некоторые ордера модифицируются, а некоторые нет. Значения ND(TP), ND(SL) в самом начале вообще вернулись абы какие. Почему?
Функция нормализации, кстати вот моя:
А вы вообще читаете то, на что ругань идёт?
Смотрите параметры, передаваемые в вызываемую функцию.Вот когда совсем ничего не понятно будет, тогда всем миром разбираться будем-с...
ЗЫ. При выставлении отложенного ордера строка
if (price < Bid)
не совсем уместна. Нужно проверять на соответствие минимально-разрешённой дистанции, заданной в MarketInfo(Symbol(), MODE_STOPLEVEL). Первое, что сразу же бросилось в глаза.
Обычно, подобные проверки я встречал для модификации ордеров а не при открытии. Ведь если при установке цены отложки на байстоп цена ниже Аска это будет ошибка, это я уже проходил. А если 10пп. стоп то он явно выше значение стоплевела. Я ж не на тиках торгую :)
Второе - распечатайте цену, на которой установлен ордерочек. Стоп и Тейк должны располагаться не относительно Аска с Бидом, а относительно цены установки ордера
Я так понимаю, это для модификации? Ведь при открытии нам важен БИД и АСК. Постом выше я всё распринтовал.
Добрый день,
Хочу заставить эксперта работать на нескольких окнах одновременно. Но для каждого инструмента может быть открытым только один ордер. Поэтому сейчас стоит условие:
int total = OrdersTotal();
if (total<1) {блок анализа и открытия позы} else {блок анализа и закрытия позы }
теперь, если на двух инструментах одновременно, то при открытии на одном , будет заблокирована работа на другом. Поэтому я сочинил нечто подобное:
int total = OrdersTotal();
int cnt;
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol())
{
Symbol_FLAG = true;
}
}
}
if(total<1 || total>0 && Symbol_FLAG == false) {блок анализа и открытия ntпозы}...
но на тестере не работает...
Может подскажете, возможно я затеял что-то нереализуемое?