Erreurs, bugs, questions - page 802

 
Rosh:


Auriez-vous l'amabilité de demander aux experts de se pencher sur ma question de la page précédente... J'ai commencé sur celui-ci : 814.

Je me prépare pour le championnat, je ne peux pas avoir un expert prêt sur mon ordinateur portable pour le tester et le remplir.

Merci.

 
AlexCul:

Auriez-vous l'amabilité de demander aux experts de se pencher sur ma question de la page précédente... J'ai commencé sur celui-ci : 814.

Je me prépare pour le championnat, je ne peux pas avoir un ordinateur portable sur mon portable pour tester et mettre en place un expert prêt à l'emploi.

Mieux vaut écrire à Servicedesk. Vous pouvez avoir une longue correspondance ici
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
fyords:

Pourquoi ne pas essayer d'utiliser

Essayez-le. Simultanément, je m'apprête comme Karlson l'a conseillé.

Le texte du programme de test :

#include <Trade\SymbolInfo.mqh>
#include <Trade\Trade.mqh>

CSymbolInfo       m_sym;
CTrade            m_trade;

double bar_info[2];
bool a;

int OnInit()
{
   SymbolSelect("EURUSD", true);
   SymbolSelect("GBPUSD", true);
   m_sym.Name("EURUSD");
   a = false;
   return(0);
}

void OnTick()
{
   if (a) return;
   a = true;
   m_sym.Refresh();
   m_sym.RefreshRates();
   CopyHigh("EURUSD", PERIOD_D1, 0, 2, bar_info);
   Print("Текущая цена:" + DoubleToString(m_sym.Ask()));
   Print("Цена открытия:" + DoubleToString(bar_info[1] + 500*_Point));
   m_trade.BuyStop(1, bar_info[1] + 5000*_Point, "EURUSD", 0, 0);
}

Résultat lorsque testé sur EURUSD :

GI 0 test (EURUSD,H1) 10:58:50 2012.01.02 09:00:00 Prix actuel:1.29241000
Test MN 0 (EURUSD,H1) 10:58:50 2012.01.02 09:00:00 Prix d'ouverture:1.29720000

QS 0 Trade 10:58:50 2012.01.02 09:00:00 buy stop 1.00 EURUSD à 1.29720 (1.29220 / 1.29241 / 1.29220)


Résultat du test GBPUSD :

LO 0 test (GBPUSD,H1) 10:58:43 2012.01.02 09:00:00 Prix actuel:1.29241000
JE 0 test (GBPUSD,H1) 10:58:43 2012.01.02 09:00:00 Prix d'ouverture:1.29720000
KS 2 Trades 10:58:43 2012.01.02 09:00:00 failed buy stop 1.00 EURUSD at 1.29720 [Invalid stops]


 
AlexCul:

J'ai téléchargé le build récemment, très récemment - 687. Les agents n'utilisent que le local, le distant et le cloud - déconnectés. Bien qu'avec la télécommande et le nuage connectés et le local déconnecté, cela ne fonctionne pas non plus !

Je ne sais pas quoi faire. Sov est écrit, les tests et l'optimisation ne sont pas possibles...

Pouvez-vous me conseiller sur la manière de résoudre ce problème - captures d'écran jointes.

Donnez une application à servicedesk avec TOUS les détails (chemins d'installation, axe, UAC, logs du terminal, agents, testeur).
 
Rosh:

Que voulez-vous dire par "comment peut-il y avoir une erreur 10016 s'il n'y a pas d'arrêts". Y a-t-il des valeurs nulles spécifiées pour eux ou simplement aucune ligne où ils sont prescrits ?

Essayez de cette façon

MqlTradeRequest request={0};

ZeroMemory(request) ; ne suffit-il pas ?

Je l'ai ajouté comme tu me l'as dit, mais ça n'a pas changé le résultat.


P.S. sl et tp sont écrits égaux en demande :

a) 0 et haut de la barre quotidienne + 50 pips (respectivement)

b) les deux sont égaux à zéro


puis la variante "c" (un peu plus loin) - en utilisant CTrade. Le résultat est le même

 

Dégagez toutes les structures.

Ensuite, essayez carrément de faire une requête avec les données clairement spécifiées.

   MqlTradeRequest request;
   MqlTradeResult result;

   ZeroMemory(request);
   ZeroMemory(result);

   request.action = TRADE_ACTION_PENDING;
   request.magic  = 0;
   request.symbol = "EURUSD";
   request.volume = 1.0;
   request.price  = SymbolInfoDouble(Symbol(),SYMBOL_BID)+500*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // или сразу цену 1.3000
   request.sl     = 0;
   request.tp     = 0;
   request.deviation = 10;
   request.type   = ORDER_TYPE_BUY_STOP; 
   request.type_filling = ORDER_FILLING_FOK;
   
   OrderSend(request,result);
 
ilunga:

... Le résultat est le même

Étrange. J'ai pris votre code et obtenu une réponse du testeur

PN      0       ss (GBPUSD,H1)  10:17:04        2012.01.02 00:00:00   Текущая цена:1.29479000
DK      0       ss (GBPUSD,H1)  10:17:04        2012.01.02 00:00:00   Цена открытия:1.29943000
CN      0       Trade   10:17:04        2012.01.02 00:00:00   buy stop 1.00 EURUSD at 1.34443 (1.29565 / 1.29654)
FL      0       ss (GBPUSD,H1)  10:17:04        2012.01.02 00:00:00   CTrade::OrderSend: buy stop 1.00 EURUSD at 1.34443 [done]
EF      0       ss (EURUSD,H1)  10:20:04        2012.01.02 00:00:00   Текущая цена:1.29479000
QL      0       ss (EURUSD,H1)  10:20:04        2012.01.02 00:00:00   Цена открытия:1.29943000
KE      0       Trade   10:20:04        2012.01.02 00:00:00   buy stop 1.00 EURUSD at 1.34443 (1.29443 / 1.29479 / 1.29443)
KG      0       ss (EURUSD,H1)  10:20:04        2012.01.02 00:00:00   CTrade::OrderSend: buy stop 1.00 EURUSD at 1.34443 [done]

Tout fonctionne.

Quel modèle avez-vous ?

Seulement j'ai une question : pourquoi le pendule n'est visible que dans "Opérations" mais pas dans "Commerce" (je veux dire le visualiseur) ?

 
fyords:

Étrange. J'ai pris votre code et obtenu une réponse du testeur

Ça marche.

Quelle est votre construction ?

Construire 674.

Tout fonctionne pour vous, mais il y a un MAIS. Regardez le prix entre parenthèses :

CN      0       Trade   10:17:04        2012.01.02 00:00:00   buy stop 1.00 EURUSD at 1.34443 (1.29565 / 1.29654)
KE      0       Trade   10:20:04        2012.01.02 00:00:00   buy stop 1.00 EURUSD at 1.34443 (1.29443 / 1.29479 / 1.29443)

Il y a une différence de 10 points. Bien que l'heure soit la même.

 
Serveurs différents, 500 pp différents.
 
ilunga:

construire 674.

Tout fonctionne pour vous, mais il y a un MAIS. Regardez le prix entre parenthèses :

La différence est de 10 points. Bien que l'heure soit la même.

J'ai bien compris, serveur de démonstration MK.