[Archivo] ¡Aprende a ganar dinero aldeanos! - página 721 1...714715716717718719720721722723724725726727728...882 Nuevo comentario Роман 2012.02.15 14:09 #7201 Slovyn: ¿Quién puede decirme cuál es el error? El flujo comercial está ocupado. También se puede poner una construcción de este tipo al principio de la init cov: int init() { IsExpertStopped = false; if (!IsTradeAllowed()) {Comment("Необходимо разрешить советнику торговать");IsExpertStopped = true; return (0);} if (!IsTesting()) { if (IsExpertEnabled()) { Comment("Советник запустится следующим тиком"); } else { Comment("Отжата кнопка \"Разрешить запуск советников\""); } } Se trata de manejar este error cuando no se realiza un pedido, por ejemplo, así: if (error == ERR_TRADE_CONTEXT_BUSY) { while (IsTradeContextBusy()) { Sleep(1000*11); } } --- 2012.02.15 14:17 #7202 Roman.: El flujo comercial está ocupado. Se trata de manejar este error cuando no se realiza un pedido, por ejemplo, así: ¿No es un poco largo esperar 11 segundos? No es una cosa del servidor, sino puramente de tener una multitud de EAs en un terminal Роман 2012.02.15 14:19 #7203 sergeev: ¿No es demasiado tiempo para esperar 11 segundos? No es una cosa del servidor, depende del número de EAs en un terminal Sí, es bastante largo, lo tengo en mi función de apertura... Correcto, por favor... Yo también haré correcciones en el mío... De hecho, tengo la misma cifra en mi otra búsqueda: por ejemplo: case 0: if (BuySell==1)// || LongTrade) { for (c = 0; c < NumberOfTries; c++) { RefreshRates(); ticket = OrderSend(Symbol(), OP_BUY, pLots, Ask, sp, StopLong(Bid, sl), TakeLong(Ask, tp), pComment, pMagic, pDatetime, pColor); err = GetLastError(); if (err == 0/* NO_ERROR */) break; if (!(err == 4/* SERVER_BUSY */ || err == 137/* BROKER_BUSY */ || err == 146/* TRADE_CONTEXT_BUSY */ || err == 136/* OFF_QUOTES */)) break; Sleep(5000); } } break; --- 2012.02.15 14:22 #7204 Roman.: Más bien sí, es un poco exagerado, lo tengo tan anotado en mi apertura fi... Correcto, por favor... Yo también haré correcciones en el mío... su diseño es esencialmente erróneo... if (error == ERR_TRADE_CONTEXT_BUSY) { while (IsTradeContextBusy()) hay que revertirlo if (IsTradeContextBusy()) { // здесь выдать предупреждение и не делать торговых операций y la ideología en el estilo i<NumberOfTries Me parece poco profesional. Роман 2012.02.15 14:22 #7205 sergeev: su diseño es esencialmente erróneo necesitas invertir Ya veo - Haré las correcciones. Gracias. Лекарь Центозависимых 2012.02.15 14:24 #7206 Roman.: El flujo comercial está ocupado. También se puede poner una construcción de este tipo al principio del iniit cov: Se trata de manejar este error cuando no se realiza un pedido, por ejemplo, así: Un segundo es todo lo que se necesita, siempre y cuando las solicitudes no vengan seguidas. Andrey Dik 2012.02.15 14:26 #7207 Slovyn:¿Quién puede decirme cuál es el error? El flujo comercial está ocupado. Esto podría significar que: 1) el flujo comercial está realmente ocupado 2) el flujo no está ocupado en absoluto y "alguien" está fingiendo estar ocupado. 3) Problemas técnicos que pueden resolverse poniéndose en contacto con STP. Y por cierto, este error puede ocurrir al enviar una sola orden de comercio. A menudo ocurre incluso cuando una parada es arrastrada por el terminal. [¡Archivo!] Cualquier pregunta de Cualquier pregunta de novato, ¿Cómo puedo saber si Лекарь Центозависимых 2012.02.15 14:28 #7208 Yo, por ejemplo, tengo esto... 100% hará la operación) while(IsTradeContextBusy()) Sleep(100); while(!error) { error=OrderCloseBy(pos1,pos2); Sleep(1000); } Роман 2012.02.15 14:29 #7209 OnGoing: La segunda es suficiente, siempre que las solicitudes no sean consecutivas. Veo, lo hice - la sección de código de Avalancha para abrir órdenes - he negociado en el real - no había preguntas. for (int try = 1; try <= NumberOfTry; try++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) { break; } while (!IsTradeAllowed()) { Sleep(5000); } RefreshRates(); opentime = TimeCurrent(); ticket = OrderSend(symbol, cmd, volume, price, SlipPips, stoploss, takeprofit, comment, magic, expiration, clr); if (ticket > 0) { if (UseSound) { PlaySound("ok.wav"); break; } } else { error = GetLastError(); if (error == ERR_TRADE_TIMEOUT) { Sleep(1000*66); if (ExistOrders(symbol, cmd, magic, opentime)) { if (UseSound) { PlaySound("ok.wav"); break; } } } Print("Error(", error, ") set order: ", ErrorDescription(error), ", try ", try); continue; } Print("Error(", error, ") set order: ", ErrorDescription(error), ", try ", try); Print("Ask=", Ask, " Bid=", Bid, " symbol=", symbol, " volume=", volume, " cmd=", GetNameOP(cmd), " price=", price, " stoploss=", stoploss, " takeprofit=", stoploss, " magic=", magic); if ((error == ERR_COMMON_ERROR) || (error == ERR_ACCOUNT_DISABLED) || (error == ERR_INVALID_ACCOUNT) || (error == ERR_TRADE_DISABLED)) { IsExpertFailed = true; break; } if ((error == ERR_SERVER_BUSY) || (ERR_INVALID_TRADE_VOLUME) || (error == ERR_MARKET_CLOSED)) { Sleep(1000*300); break; } if ((error == ERR_TOO_FREQUENT_REQUESTS) || (error == ERR_TOO_MANY_REQUESTS)) { Sleep(1000*100); } if ((error == ERR_ORDER_LOCKED) || (error == ERR_LONG_POSITIONS_ONLY_ALLOWED) || (error == ERR_TRADE_TOO_MANY_ORDERS)) { break; } if (error == ERR_TRADE_CONTEXT_BUSY) { if (IsTradeContextBusy()) { Sleep(1000*1); } } if (error == ERR_TRADE_EXPIRATION_DENIED ) { expiration = 0; continue; } if ((error != ERR_PRICE_CHANGED) && (error != ERR_REQUOTE)) { Sleep(1000*7.7); } } } Vladislav Soliev 2012.02.15 14:56 #7210 ¡Esto es lo que dice el probador en el micro real! (cuenta de centavos) 1...714715716717718719720721722723724725726727728...882 Nuevo comentario
¿Quién puede decirme cuál es el error?
El flujo comercial está ocupado.
También se puede poner una construcción de este tipo al principio de la init cov:
Se trata de manejar este error cuando no se realiza un pedido, por ejemplo, así:
El flujo comercial está ocupado.
Se trata de manejar este error cuando no se realiza un pedido, por ejemplo, así:
¿No es un poco largo esperar 11 segundos? No es una cosa del servidor, sino puramente de tener una multitud de EAs en un terminal
¿No es demasiado tiempo para esperar 11 segundos? No es una cosa del servidor, depende del número de EAs en un terminal
Sí, es bastante largo, lo tengo en mi función de apertura...
Correcto, por favor... Yo también haré correcciones en el mío...
De hecho, tengo la misma cifra en mi otra búsqueda:
por ejemplo:
Más bien sí, es un poco exagerado, lo tengo tan anotado en mi apertura fi...
Correcto, por favor... Yo también haré correcciones en el mío...
su diseño es esencialmente erróneo...
hay que revertirlo
y la ideología en el estilo
i<NumberOfTries
Me parece poco profesional.
su diseño es esencialmente erróneo
necesitas invertir
Ya veo - Haré las correcciones. Gracias.
El flujo comercial está ocupado.
También se puede poner una construcción de este tipo al principio del iniit cov:
Se trata de manejar este error cuando no se realiza un pedido, por ejemplo, así:
¿Quién puede decirme cuál es el error?
El flujo comercial está ocupado. Esto podría significar que:
1) el flujo comercial está realmente ocupado
2) el flujo no está ocupado en absoluto y "alguien" está fingiendo estar ocupado.
3) Problemas técnicos que pueden resolverse poniéndose en contacto con STP.
Y por cierto, este error puede ocurrir al enviar una sola orden de comercio. A menudo ocurre incluso cuando una parada es arrastrada por el terminal.
Yo, por ejemplo, tengo esto... 100% hará la operación)
La segunda es suficiente, siempre que las solicitudes no sean consecutivas.
Veo, lo hice - la sección de código de Avalancha para abrir órdenes - he negociado en el real - no había preguntas.
¡Esto es lo que dice el probador en el micro real! (cuenta de centavos)