Но точно такой же, только зеркально обратный советник для шортов, никак не хочет вовремя закрывать ордера. Что только не делал, осталось "фары протереть")) Может кто-то подскажет по коду? Вот его код:
extern bool Селл = 1;
extern double Лот = 0.01;
extern double Истор_СЛ = 67;
extern double Истор_ТП = 75;
extern double КСЛ = 1.33;
extern double КТП = 2.02;
extern double dK = 80;
extern double S = 10;
int start()
{
if
(
Селл == 1
&& StrToTime("00:00")/60 <= TimeCurrent()/60
&& StrToTime("00:10")/60 > TimeCurrent()/60
&& iClose("EURUSD", 1440, 1) > iOpen("EURUSD", 1440, 1)// вчерашняя дневка бычья?
)
double K = iStochastic("EURUSD", 1440, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 1);
double D = iStochastic("EURUSD", 1440, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 1);
double KD = K / D;
if
(
K < D
&& MathAbs(K - dK) > S
)
double СЛ = (iHigh("EURUSD", 1440, 1) - iOpen("EURUSD", 1440, 1) + Истор_СЛ * Point)/2 * КСЛ / KD;
double ТП = (iClose("EURUSD", 1440, 1) - iLow("EURUSD", 1440, 1) + Истор_ТП * Point)/2 * КТП * KD;
OrderSend("EURUSD", OP_SELL, Лот, Bid, 3, Bid + СЛ, Bid - ТП, "EURUSD~S23", 555, 0);// если условия истинны, то открывем ордер
if
(
StrToTime("23:00")/60<=TimeCurrent()/60
&&StrToTime("23:10")/60>TimeCurrent()/60
)
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
int Ticket = OrderTicket();
OrderClose (Ticket, Лот, Ask, 3);
}
return(0);
Но точно такой же, только зеркально обратный советник для шортов, никак не хочет вовремя закрывать ордера. Что только не делал, осталось "фары протереть")) Может кто-то подскажет по коду? Вот его код:
extern bool Селл = 1;
extern double Лот = 0.01;
extern double Истор_СЛ = 67;
extern double Истор_ТП = 75;
extern double КСЛ = 1.33;
extern double КТП = 2.02;
extern double dK = 80;
extern double S = 10;
int start()
{
if
(
Селл == 1
&& StrToTime("00:00")/60 <= TimeCurrent()/60
&& StrToTime("00:10")/60 > TimeCurrent()/60
&& iClose("EURUSD", 1440, 1) > iOpen("EURUSD", 1440, 1)// вчерашняя дневка бычья?
)
double K = iStochastic("EURUSD", 1440, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 1);
double D = iStochastic("EURUSD", 1440, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 1);
double KD = K / D;
if
(
K < D
&& MathAbs(K - dK) > S
)
double СЛ = (iHigh("EURUSD", 1440, 1) - iOpen("EURUSD", 1440, 1) + Истор_СЛ * Point)/2 * КСЛ / KD;
double ТП = (iClose("EURUSD", 1440, 1) - iLow("EURUSD", 1440, 1) + Истор_ТП * Point)/2 * КТП * KD;
OrderSend("EURUSD", OP_SELL, Лот, Bid, 3, Bid + СЛ, Bid - ТП, "EURUSD~S23", 555, 0);// если условия истинны, то открывем ордер
if
(
StrToTime("23:00")/60<=TimeCurrent()/60
&&StrToTime("23:10")/60>TimeCurrent()/60
)
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
int Ticket = OrderTicket();
OrderClose (Ticket, Лот, Ask, 3);
}
return(0);
Последний раз редактировалось
Евгений Субботин 23 авг 2013, 10:07, всего редактировалось 1 раз.