Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIV): Основной торговый класс - автоматическая коррекция ошибочных параметров" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, эти две подпрограммы работают по-разному, где "Statistical Time Period Buy Loss" может дать желаемый результат, а "Statistical Time Period Sell Loss" дает 0, почему так?
//Статистическая история временного периода убытка одиночного (был закрыт одиночный) номера, lasttime для начала времени
double statistics time period buy loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)
{
double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0
double buyOrSell=0; int totalOrSell=0; int buyOrSell=0
int TotalOrders=0; int buyOrSell=0; datetime lasttime
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары
{
if (buyOrSell == "buy")
{
if (OrderType() == OP_BUY )
{
if (OrderCloseTime()>lasttime)
{
if (OrderProfit()<0)
{
TotalOrders=TotalOrders+1;
Loss=Loss+OrderProfit();
Volume=Volume+OrderLots();
}
}
}
}
}
}}
if (as_8 == "общее количество ордеров") return (общее количество ордеров);
if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)
if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)
return (0.0);
}
double Statistics Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)
{
double Volume = 0;
double Sell Loss = 0; int Total Orders = 0; datetime lasttime
int TotalOrders=0; int buyOrSell=0; datetime lasttime
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары
{
if (buyOrSell == "sell")
{
if (OrderType() == OP_SELL )
{
if (OrderCloseTime()>lasttime)
{
if (OrderProfit()<0)
{
TotalOrders=TotalOrders+1;
Loss=Loss+OrderProfit();
Volume=Volume+OrderLots();
}
}
}
}
}
}}
if (as_8 == "общее количество ордеров") return (общее количество ордеров);
if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)
if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)
return (0.0);
}
Здравствуйте, эти две подпрограммы работают по-разному, где "Statistical Time Period Buy Loss" может дать желаемый результат, а "Statistical Time Period Sell Loss" дает 0, почему так?
//Статистическая история временного периода потери одного (был закрыт один) номера, lasttime для начала времени
double statistics time period buy loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)
{
double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0
double buyOrSell=0; int totalOrSell=0; int buyOrSell=0
int TotalOrders=0; int buyOrSell=0; datetime lasttime
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары
{
if (buyOrSell == "buy")
{
if (OrderType() == OP_BUY )
{
if (OrderCloseTime()>lasttime)
{
if (OrderProfit()<0)
{
TotalOrders=TotalOrders+1;
Loss=Loss+OrderProfit();
Volume=Volume+OrderLots();
}
}
}
}
}
}}
if (as_8 == "общее количество ордеров") return (общее количество ордеров);
if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)
if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)
return (0.0);
}
double Statistics Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)
{
double Volume = 0;
double Sell Loss = 0; int Total Orders = 0; datetime lasttime
int TotalOrders=0; int buyOrSell=0; datetime lasttime
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары
{
if (buyOrSell == "sell")
{
if (OrderType() == OP_SELL )
{
if (OrderCloseTime()>lasttime)
{
if (OrderProfit()<0)
{
TotalOrders=TotalOrders+1;
Loss=Loss+OrderProfit();
Volume=Volume+OrderLots();
}
}
}
}
}
}}
if (as_8 == "общее количество ордеров") return (общее количество ордеров);
if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)
if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)
return (0.0);
}
OK
Здравствуйте, эти две подпрограммы работают по-разному, где "Statistical Time Period Buy Loss" может получить желаемый результат, в то время как "Statistical Time Period Sell Loss" дает 0, почему так?
//Статистическая история временного периода убытка одиночного (был закрыт одиночный) номера, lasttime для начала времени
double statistics time period buy loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)
{
double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0
double buyOrSell=0; int totalOrSell=0; int buyOrSell=0
int TotalOrders=0; int buyOrSell=0; datetime lasttime
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары
{
if (buyOrSell == "buy")
{
if (OrderType() == OP_BUY )
{
if (OrderCloseTime()>lasttime)
{
if (OrderProfit()<0)
{
TotalOrders=TotalOrders+1;
Loss=Loss+OrderProfit();
Volume=Volume+OrderLots();
}
}
}
}
}
}}
if (as_8 == "общее количество ордеров") return (общее количество ордеров);
if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)
if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)
return (0.0);
}
double Statistics Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)
{
double Volume = 0;
double Sell Loss = 0; int Total Orders = 0; datetime lasttime
int TotalOrders=0; int buyOrSell=0; datetime lasttime
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары
{
if (buyOrSell == "sell")
{
if (OrderType() == OP_SELL )
{
if (OrderCloseTime()>lasttime)
{
if (OrderProfit()<0)
{
TotalOrders=TotalOrders+1;
Loss=Loss+OrderProfit();
Volume=Volume+OrderLots();
}
}
}
}
}
}}
if (as_8 == "общее количество ордеров") return (общее количество ордеров);
if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)
if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)
return (0.0);
}
Это тема для обсуждения статьи, а не для решения проблем, не связанных с библиотекой, описанной в статье.
Чтобы вставить код в сообщение, нужно использовать комбинацию Alt + S или эту кнопку.
Здравствуйте, не поддерживает ли программа поиск исторических ордеров на продажу?
И даже многое другое.
Здравствуйте, я заметил, что при загрузке пользовательского индикатора и последующем его удалении кнопки не работают, и я не могу заставить его работать. Почему так происходит? Как я могу это исправить?
Во время использования - что?
Какие кнопки не работают?Я хотел бы отправить вам пользовательский индикатор, загрузите его и удалите, попробуйте и вы поймете.