eddy:artmedia70: если в коде написано "рисовать линию 1 если она не нарисована; рисовать линию 2 если она не нарисована" - они не могут не рисоваться:)
попробовал написать так как ты сказал, что то пашет...по прежднему открывает позиции по закрытию предыдущей...((
может ты не понял что я имел ввиду, нужно что бы скажем открывал сделку не раньше чем через 1час после закрытия предыдущей...а в твоем случаи, он исключает возможность открытия повторной, но как только она закрывается, то сразу открывается следующая
if (SecondsAfterOpenLastPos(NULL, OP_SELL, MAGIC)>=(Period()*Interval)*60) {
OpenSell();
}
попробовал написать так как ты сказал, что то пашет...по прежднему открывает позиции по закрытию предыдущей...((
может ты не понял что я имел ввиду, нужно что бы скажем открывал сделку не раньше чем через 1час после закрытия предыдущей...а в твоем случаи, он исключает возможность открытия повторной, но как только она закрывается, то сразу открывается следующая
А подумать над кодом функции? Найдите четыре отличия :) :
//+----------------------------------------------------------------------------+datetime SecondsAfterCloseLastPos(string sy, int op, int mn)
{
datetime t;
int i, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()!=sy) continue;
if (OrderType()!=op) continue;
if (OrderMagicNumber()!=mn) continue;
if (t<OrderCloseTime()) t=OrderCloseTime();
}
}
return(TimeCurrent()-t);
}
//+----------------------------------------------------------------------------+
А вы не спрашивайте, а проверьте в тестере... :)
эксперт рисует одну линию.
если в коде написано "рисовать линию 1 если она не нарисована; рисовать линию 2 если она не нарисована" - они не могут не рисоваться:)
Подскажите, почему в отчете о тестировании все проценты-0. Т.е. относительная просадка, максимальная просадка и т.д.?
Например, так:
Вызывать так:
Минуты в часы сами превратите надеюсь ... :)попробовал написать так как ты сказал, что то пашет...по прежднему открывает позиции по закрытию предыдущей...((
может ты не понял что я имел ввиду, нужно что бы скажем открывал сделку не раньше чем через 1час после закрытия предыдущей...а в твоем случаи, он исключает возможность открытия повторной, но как только она закрывается, то сразу открывается следующая
ребят помоги: нужно так что бы сделка открывалась, если после закрытия предыдущей прошло определенное кол-во времени....хелп
for (int i=0; i<OrdersTotal(); i++)
{ if (OrderSelect(i, SELECT_BY_POS)==true)
{
TC = TimeCurrent();
OM = OrderMagicNumber();
if (TC-OM>86400 && (OrderType()==OP_SELL)){
CLOSEORDER("Sell");
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("Buy");
}
}
}
В OrderMagicNumber() при открытие ордера пишется: Magic = TimeCurrent();
for (int i=0; i<OrdersTotal(); i++)
{ if (OrderSelect(i, SELECT_BY_POS)==true)
{
TC = TimeCurrent();
OM = OrderMagicNumber();
if (TC-OM>86400 && (OrderType()==OP_SELL)){
CLOSEORDER("Sell");
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("Buy");
}
}
}
В OrderMagicNumber() при открытие ордера пишется: Magic = TimeCurrent();
Забыл=) 86400 - это количество секунд, через которое закрывается позиция
Подскажите, почему в отчете о тестировании все проценты-0. Т.е. относительная просадка, максимальная просадка и т.д.?
Все разобрался - депо было слишком большим)
попробовал написать так как ты сказал, что то пашет...по прежднему открывает позиции по закрытию предыдущей...((
может ты не понял что я имел ввиду, нужно что бы скажем открывал сделку не раньше чем через 1час после закрытия предыдущей...а в твоем случаи, он исключает возможность открытия повторной, но как только она закрывается, то сразу открывается следующая
А подумать над кодом функции? Найдите четыре отличия :) :