int y; int totalOrders = 4; datetime toT; // Time of Trade datetime doT; // Day of Trade datetime now = TimeCurrent(); datetime boD=now-now%86400; // Beginning of day
for(y=0;y<totalOrders; y++) {
if(OrderSelect(y,SELECT_BY_POS,MODE_HISTORY)) { toT=OrderOpenTime(); // Time of Trade doT=toT-toT%86400; // Day of Trade. if(doT==boD) { // Time of Trade within Current Day.
for(j=OrdersTotal()-1;j>=0; j--) { if(OrderType()==OP_BUY) totalOrders++; // Check # of long trades. if(OrderType()==OP_SELL) totalOrders++; // Check # of short trades }
Для того, чтобы проверить как историю (для ордеров, закрытых в текущий день), так и открытые ордера, попробуйте вот так :
datetime today = StringToTime(TimeToString(TimeCurrent(),TIME_DATE)); int totalOrdersLong = 0, totalOrdersShort = 0; for(int y=OrdersHistoryTotal()-1;y>=0; y--) { if (OrderSelect(y,SELECT_BY_POS,MODE_HISTORY)) if (OrderCloseTime()>=today) { if (OrderType()==OP_BUY) totalOrdersLong++; if (OrderType()==OP_SELL) totalOrdersShort++; } } for(int y=OrdersTotal()-1;y>=0; y--) { if (OrderSelect(y,SELECT_BY_POS,MODE_TRADES)) if (OrderOpenTime()>=today) { if (OrderType()==OP_BUY) totalOrdersLong++; if (OrderType()==OP_SELL) totalOrdersShort++; } }
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Здравствуйте, Младен, я скачала ваш
stepma_pdf_4_4.ex4, а также гистограмму,
скопировал их в MT4. Перетаскиваю их на окно графика.
Я получаю следующее сообщение, как показано на рисунке:
Подскажите, пожалуйста, как я могу использовать ваш индикатор?
Lea
ps. то же самое произошло с: averages_-_mtf__alerts_7_4.ex4 и гистограммой
Используйте эти :
Используйте эти :
Спасибо еще раз!!! , когда у вас будет свободное время ... надеюсь, вам понравится рыба
Леа
Спасибо еще раз!!! Когда у вас будет свободное время... надеюсь, вам понравится рыба.
Леа
здравствуйте, мистер младен:
пожалуйста, обновите его
с уважением
здравствуйте, мистер младен:
пожалуйста, обновите его
касательно
Попробуйте сейчас.
Попробуйте сейчас.
Какая из рыб, лежащая рядом?
У вас есть только 1 ордер (тот же символ, я имею в виду), открытый в то же время?
Если да, то он будет работать.
Привет, Младен,
спасибо за совет. Да, советник будет торговать только одной позицией.
Я реализую код и проведу несколько тестов с ним.
Хорошей недели.
привет---
может ли кто-нибудь1 сделать код (индикатор или скрипт), который делает праздники в мт4 пустой свечой- во время оси ---.
Удачи всем
Уважаемые про-кодеры,
Я хотел бы реализовать в своем советнике функцию "четыре сделки в день". Если максимальный лимит сделок
советник должен ждать до следующего дня, чтобы продолжить торговлю.
Не мог бы кто-нибудь просмотреть мой код, у меня тут немного "мозги набекрень"... ;-)
Заранее спасибо!
extern int MaxLongTrades = 2;
// Count Trades per Day.
int y;
int totalOrders = 4;
datetime toT; // Time of Trade
datetime doT; // Day of Trade
datetime now = TimeCurrent();
datetime boD=now-now%86400; // Beginning of day
for(y=0;y<totalOrders; y++)
{
if(OrderSelect(y,SELECT_BY_POS,MODE_HISTORY))
{
toT=OrderOpenTime(); // Time of Trade
doT=toT-toT%86400; // Day of Trade.
if(doT==boD)
{ // Time of Trade within Current Day.
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) totalOrders++; // Check # of long trades.
if(OrderType()==OP_SELL) totalOrders++; // Check # of short trades
}
}
}
}
if(totalOrders<MaxLongTrades && Indicator_LONG_signal) Order=SIGNAL_BUY;
if(totalOrders<MaxShortTrades && Indicator_SHORT_signal) Order=SIGNAL_SELL;
Для того, чтобы проверить как историю (для ордеров, закрытых в текущий день), так и открытые ордера, попробуйте вот так :
int totalOrdersLong = 0, totalOrdersShort = 0;
for(int y=OrdersHistoryTotal()-1;y>=0; y--)
{
if (OrderSelect(y,SELECT_BY_POS,MODE_HISTORY))
if (OrderCloseTime()>=today)
{
if (OrderType()==OP_BUY) totalOrdersLong++;
if (OrderType()==OP_SELL) totalOrdersShort++;
}
}
for(int y=OrdersTotal()-1;y>=0; y--)
{
if (OrderSelect(y,SELECT_BY_POS,MODE_TRADES))
if (OrderOpenTime()>=today)
{
if (OrderType()==OP_BUY) totalOrdersLong++;
if (OrderType()==OP_SELL) totalOrdersShort++;
}
}
if(totalOrdersLong <MaxLongTrades && Indicator_LONG_signal) Order=SIGNAL_BUY;
if(totalOrdersShort<MaxShortTrades && Indicator_SHORT_signal) Order=SIGNAL_SELL;