[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 591
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите решить задачу
делаю выборку по всем закрытым позициям
for (int i=0; i<OrdersHistoryTotal(); i++)// По всем ордерам терминала
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
после фильтрую по магическому номеру
if (OrderMagicNumber()==12)
фильтр удовлетворяет 3 позициям, а мне нужна только последняя закрытая
не могу понять как оставить только последнею?
Спасибо
повторюсь очень надо
Помогите решить задачу
делаю выборку по всем закрытым позициям
for (int i=0; i<OrdersHistoryTotal(); i++)// По всем ордерам терминала
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
после фильтрую по магическому номеру
if (OrderMagicNumber()==12)
фильтр удовлетворяет 3 позициям, а мне нужна только последняя закрытая
не могу понять как оставить только последнею?
Спасибо
Помогите пожалуйста! Нужно чтоб Ордер открывался сразу после закрытия старого, по цене Tp или SL
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property show_confirm
extern int MaxRisk=3;
extern bool Buy=false; //для открытия ордера на покупку
extern bool Sell=true; //для открытия ордера на продажу
extern int MagicNumber=7749;
extern int TP=210;
extern int SL=420;
{
double point =MarketInfo(Symbol(),MODE_POINT);//Запрос Point
double Free=AccountFreeMargin();
double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
double Lot =MathFloor(Free*MaxRisk/100/One_Lot/Step)*Step;
int pos,total=OrdersTotal();
//----
if(Buy==true && OrdersTotal()<=1)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point,"777"+ Symbol(), MagicNumber, 0, DarkGreen);
Buy=false;
}
if(Sell==true && OrdersTotal()<=1)
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point,"4949"+ Symbol(), MagicNumber, 0, DarkGreen);
Sell=false;
}
for (pos=0; pos<total; pos++)
if(OrderSelect(pos,SELECT_BY_POS )==true)
if(OrdersTotal()==OP_BUY)
if(PRICE_CLOSE==OrderTakeProfit()) Buy=true;
if(PRICE_CLOSE==OrderStopLoss()) Sell=true;
}
}
if (OrderSelect(pos,SELECT_BY_POS )==true)
if (OrdersTotal()==OP_SELL)
{
if(PRICE_CLOSE==OrderStopLoss()) Buy=true;
if(PRICE_CLOSE==OrderTakeProfit()) Sell=true;
}
} }
//----
return(0);
}
//+------------------------------------------------------------------+
Парни вот такой вопрос вот поступил сигнал на бай, советник пытается открыть ордер но цена меняется и вылазит ошибка неверная цена, как можно это обойти, что бы он пытался купить пока не купит ?
раньше стояли
я добавил 30 так как у меня 5 знак но толку нет
повторюсь очень надо
Помогите решить задачу
делаю выборку по всем закрытым позициям
Начни с конца, тогда первая подходящая и есть та самая.
for (int i=OrdersHistoryTotal()-1;i>=0; i--)//
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
Остался ещё одна неприятность, встречаются участки на которых происходит только закрытие позиции, а не переворот, хотя условия для стопа и открытия новой позиции равны.
это нужно детально исследовать, такие ситуации могут возникнуть из-за того, что в эксперте условия на открытие покупки и продажи не являются взаимоисключающими. Попробуйте отследить значения нужных переменных в тестере по принципу
Парни вот такой вопрос вот поступил сигнал на бай, советник пытается открыть ордер но цена меняется и вылазит ошибка неверная цена, как можно это обойти, что бы он пытался купить пока не купит ?
раньше стояли
я добавил 30 так как у меня 5 знак но толку нет
это нужно детально исследовать, такие ситуации могут возникнуть из-за того, что в эксперте условия на открытие покупки и продажи не являются взаимоисключающими. Попробуйте отследить значения нужных переменных в тестере по принципу
То, что относится к Вашему вопросу, подчеркнул.