Je suis en train d'écrire un robot, en connectant Ctrade, d'abord je veux commencer avec une logique où il fera un achat au prix du marché au début de chaque heure, après une demi-heure il vendra tout au nouveau prix du marché. Lorsque je le teste dans le testeur, je reçois l'erreur Invalid order type.
Mon instrument est SBER, mon client est Otkritie. Mon ordre est en mode manuel, mon ordre n'est pas passé en compte réel ou démo.
Quelle pourrait être l'erreur ? Est-il vrai que la bourse n'est pas autorisée à négocier au prix du marché ?
Je suis en train d'écrire un robot, en connectant Ctrade, d'abord je veux utiliser la logique, selon laquelle au début de chaque heure il fera un achat au prix du marché, après une demi-heure il vendra tout (Sell) à un nouveau prix du marché. Lorsque je le teste dans le testeur, je reçois l'erreur Invalid order type.
Mon instrument est SBER, mon client est Otkritie. Mon ordre est en mode manuel, mon ordre n'est pas passé en compte réel ou démo.
Quelle pourrait être l'erreur ? Est-il vrai que la bourse n'est pas autorisée à négocier au prix du marché ?
Je n'arrive pas à comprendre ce que vous avez écrit sans votre code et pourquoi cela ne fonctionne pas pour vous.
Movlat Baghiyev: Bonjour, si l'EA fonctionne sur un ordinateur portable et que celui-ci est passé en mode hibernation, l'EA connecté fonctionnera-t-il dans ce cas ?
Et vous devrez inclure l'imprimante dans le journal de toutes les valeurs et vous le découvrirez. S'il ne s'imprime pas, c'est qu'il ne fonctionne pas.
Movlat Baghiyev: Bonjour, si l'EA fonctionne sur un ordinateur portable et qu'il est passé en mode veille, l'EA connecté fonctionnera-t-il dans ce cas ?
Le mode hibernation est généralement celui qui éteint le disque,
J'ai récemment installé un serveur, et ce n'est qu'au troisième jour que j'ai vu que l'ordinateur était endormi, c'est-à-dire qu'il ne fonctionnait pas, c'est-à-dire que toutes les EA ne fonctionnaient pas,
J'ai désactivé le mode hibernation et tout va bien.
Movlat Baghiyev: Bonjour, si le conseiller fonctionne sur un ordinateur portable et qu'il est en mode hibernation, le conseiller connecté fonctionnera-t-il dans ce cas ?
Non. Ça ne marchera pas. Dans les paramètres d'alimentation, réglez l'alimentation électrique :
Et il peut aussi y avoir un hic : le matin, à l'ouverture du marché, la vente aux enchères ne commence pas immédiatement, pas dès la première seconde - c'est là que les erreurs sont possibles.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Je suis en train d'écrire un robot, en connectant Ctrade, d'abord je veux commencer avec une logique où il fera un achat au prix du marché au début de chaque heure, après une demi-heure il vendra tout au nouveau prix du marché. Lorsque je le teste dans le testeur, je reçois l'erreur Invalid order type.
Mon instrument est SBER, mon client est Otkritie. Mon ordre est en mode manuel, mon ordre n'est pas passé en compte réel ou démo.
Quelle pourrait être l'erreur ? Est-il vrai que la bourse n'est pas autorisée à négocier au prix du marché ?
Je suis en train d'écrire un robot, en connectant Ctrade, d'abord je veux utiliser la logique, selon laquelle au début de chaque heure il fera un achat au prix du marché, après une demi-heure il vendra tout (Sell) à un nouveau prix du marché. Lorsque je le teste dans le testeur, je reçois l'erreur Invalid order type.
Mon instrument est SBER, mon client est Otkritie. Mon ordre est en mode manuel, mon ordre n'est pas passé en compte réel ou démo.
Quelle pourrait être l'erreur ? Est-il vrai que la bourse n'est pas autorisée à négocier au prix du marché ?
Bonjour, si l'EA fonctionne sur un ordinateur portable et que celui-ci est passé en mode hibernation, l'EA connecté fonctionnera-t-il dans ce cas ?
Et vous inclurez l'impression dans le journal de toutes les valeurs et de trouver. Si ça n'imprime pas, ça ne marche pas.
Bonjour, si l'EA fonctionne sur un ordinateur portable et qu'il est passé en mode veille, l'EA connecté fonctionnera-t-il dans ce cas ?
Le mode hibernation est généralement celui qui éteint le disque,
J'ai récemment installé un serveur, et ce n'est qu'au troisième jour que j'ai vu que l'ordinateur était endormi, c'est-à-dire qu'il ne fonctionnait pas, c'est-à-dire que toutes les EA ne fonctionnaient pas,
J'ai désactivé le mode hibernation et tout va bien.
C'est clair... Je me demandais si quelqu'un pouvait partager son expérience avec un débutant.
Bonjour, si le conseiller fonctionne sur un ordinateur portable et qu'il est en mode hibernation, le conseiller connecté fonctionnera-t-il dans ce cas ?
Non. Ça ne marchera pas. Dans les paramètres d'alimentation, réglez l'alimentation électrique :
Sans votre code, il est difficile de comprendre ce que vous avez écrit et pourquoi cela ne fonctionne pas.
//| Gear.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#include <Trade/Trade.mqh>
CTrade trade;
bool TimeFlag, FLG;
int TimeScale=50, TimeInMemory, TimeNow;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---Блок получения информации с биржи
MqlTick oCurrentTick;
SymbolInfoTick(Symbol(), oCurrentTick);
//---Блок определения начала нового временного интервала
TimeFlag=false;
datetime tm=TimeCurrent();
MqlDateTime stm;
TimeToStruct(tm,stm);
if(MathMod(StringToInteger((string)stm.min),TimeScale)==0)
{
TimeNow=StringToInteger((string)stm.min);
}
if(TimeNow != TimeInMemory)
{
TimeInMemory=TimeNow;
TimeFlag=true;
//Print(_Symbol);
}
if(TimeFlag)
{
if(FLG)
{
if(!trade.Buy(1,_Symbol))
{
//--- сообщим о неудаче
Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(),
". Описание кода: ",trade.ResultRetcodeDescription());
}
else
{
Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(),
" (",trade.ResultRetcodeDescription(),")");
}
FLG=false;
}
else
{
trade.Sell(1);
FLG=true;
}
}
}
//+------------------------------------------------------------------+
Ce n'est pas la façon de faire :
int TimeScale=50,TimeInMemory,TimeNow;
ou plutôt, après une telle déclaration, vous devez initialiser(attribuer des valeurs à) explicitement ces variables dans OnInit().
La méthode Sell doit également être entourée de contrôles, tels que
" (",trade.ResultRetcodeDescription(),")");
Et il peut aussi y avoir un hic : le matin, à l'ouverture du marché, la vente aux enchères ne commence pas immédiatement, pas dès la première seconde - c'est là que les erreurs sont possibles.