ошибка 4107 - страница 3

 
uriy:

Здраствуйте!Знаю что тема расписана,но неполучается ничего с этим кодом выходят ошибка типа,

2011.10.24 12:44:05 2011.05.06 00:24 Stoch EURUSD,H4: invalid price 1.45382650 for OrderSend function

2011.10.24 12:44:05 2011.05.06 00:24 Stoch EURUSD,M5: OrderSend error 4107

Стоп и тейк больше 100 пунктов.

Может поможите люди добрые!?


ну так прочитайте тему, и начните использовать NormalizeDouble при OrderSend и OrderClose...

а то где вы хотите взять цену 1.45382650?

 
ilunga:

ну так прочитайте тему, и начните использовать NormalizeDouble при OrderSend и OrderClose...

а то где вы хотите взять цену 1.45382650?


Да прочитал,только вот где точно ставить эту NormalizeDouble неугадаю!Обьясните plz.
 
uriy:
Да прочитал,только вот где точно ставить эту NormalizeDouble неугадаю!Обьясните plz.
для всех цен, используемых в OrderSend и OrderClose, смотрите сообщения FAQ
 

Поставил вот-так но ничего не работает,где здесь цена,ask или bid?plz

//Close opened long positions
case OP_BUY : result = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble
(MarketInfo(OrderSymbol(), MODE_BID),
5, Red );

SH3 = OrderSend(Symbol(), OP_SELLLIMIT, Lots,NormalizeDouble (H4), 3, H4 + StopLoss*Point,

H4 - TakeProfit*Point, "H3", 0, 0, Red);

 
uriy:

Поставил вот-так но ничего не работает,где здесь цена,ask или bid?plz

//Close opened long positions
case OP_BUY : result = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble
(MarketInfo(OrderSymbol(), MODE_BID),
5, Red );

SH3 = OrderSend(Symbol(), OP_SELLLIMIT, Lots,NormalizeDouble (H4), 3, H4 + StopLoss*Point,

H4 - TakeProfit*Point, "H3", 0, 0, Red);

у данной функции 2 параметра.

Первый - число, которое вы округляете

Второй - количество знаков после запятой после округления

 
ilunga:

у данной функции 2 параметра.

Первый - число, которое вы округляете

Второй - количество знаков после запятой после округления

После переделки NormalizeDouble сейчас он мне пишет этот error

2011.10.24 16:30:59 2010.08.25 16:03 Stoch-1 EURUSD,H4: invalid double number as parameter 7 for OrderSend function

2011.10.24 16:34:46 2011.03.30 04:40 Stoch-1 EURUSD,H4: OrderSend error 130


BL3 = OrderSend(Symbol(), OP_BUYLIMIT, Lots, NormalizeDouble(L4, 5), L4 - StopLoss*Point, L4 + TakeProfit*Point, "L3", 0, 0, Green);

break;

//Close opened short positions

case OP_SELL : result = OrderClose(OrderTicket(), OrderLots(), NormalizeDouble

(MarketInfo(OrderSymbol(), MODE_ASK),Digits), 5, Red );


 

Настоятельно рекомендую нормализовать цены Digitsом, и не лениться писать пару лишних строк кода :

double hi = High[1];
double price = NormaliseDouble(hi,Digits);
double sl    = NormaliseDouble(prise-StopLoss*Point,Digits);
double tp    = NormaliseDouble(prise+TakeProfit*Point,Digits); 
OrderSend(Symbol(),OP_BUYLIMIT,Lots,price,sl,tp);
 
FAQ:

Настоятельно рекомендую нормализовать цены Digitsом, и не лениться писать пару лишних строк кода :

Извеняюсь конечно,но что нужно дописать в этой строке?С этим error ---- invalid double number as parameter 7 for OrderSend function

b != DayOfWeek() && s == 0)

{

SH3 = OrderSend(Symbol(), OP_SELLLIMIT, Lots, NormalizeDouble(H4,Digits), + StopLoss*Point, H4 - TakeProfit*Point, "H3",0, 0, Red);

//----

if(SH3 < 0)

{

GlobalVariableSet("SELLLIMIT", 0);

}

else

{

GlobalVariableSet("SELLLIMIT", 1);

GlobalVariableSet("DateS", DayOfWeek());

}

}

//----

if(db != DayOfWeek() && b == 0)

{

BL3 = OrderSend(Symbol(), OP_BUYLIMIT, Lots,NormalizeDouble(L4,Digits), L4 - StopLoss*Point, L4 + TakeProfit*Point, "L3",0, 0, Green);

//----

 

SH3 = OrderSend(Symbol(), OP_SELLLIMIT, Lots, NormalizeDouble(H4,Digits), + StopLoss*Point, H4 - TakeProfit*Point, "H3",0, 0, Red);


это как ???
 
Прошу помощи у профи

Никак не могу протестировать советник(

2014.01.12 17:15:35 2014.01.10 22:31 MACD Sample USDCHF,M1: OrderSend error 4107
2014.01.12 17:15:35 2014.01.10 22:31 MACD Sample USDCHF,M1: invalid price 0.90321000 for OrderSend function
2014.01.12 17:15:35 2014.01.10 22:31 MACD Sample USDCHF,M1: OrderSend error 131

Я ещё новичек и не могу сам исправить код и нормализовать цены в советнике
Исправьте пожалуйста(
Файлы:
macdjsample.mq4  11 kb
Причина обращения: