Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1144

 
Маргарита Королёва:

La réponse officielle de mon courtier (extrait) :

"Nos documents réglementaires stipulent que nous ne fournissons que le terminal de négociation MT4 pour les opérations avec comptabilité de couverture et les transactions multidirectionnelles."

Alors... Une prise est une prise... Je suis de nouveau bouleversée :(

...je ferais mieux d'aller avec mes copines à un strip-tease, mesrelations avec le forex ne sont pas au beau fixe ces derniers temps:(
L' avez-vous lu? Et c'est une tendance.
 
Маргарита Королёва:

Alors... Une prise est une prise... Je me sens à nouveau déchiré :(


...et plus vous creusez MT5, plus ils seront déréglés)
commencer avec MT4
 
Маргарита Королёва:

La réponse officielle de mon courtier (extrait) :

"Nos documents réglementaires stipulent que nous ne fournissons que le terminal de négociation MT4 pour les opérations avec comptabilité de couverture et les transactions multidirectionnelles."

Dites-moi s'il vous plaît, pourquoi avez-vous besoin d'une couverture ? Le système de compensation est facile à utiliser, notamment pour le scalping. Il existe un marché pour cela aussi. Si le prix augmente, j'achète 0,01 lot. J'augmente également le lot jusqu'à 0,02. Quand le prix baisse, je vends 0,02. L'achat est automatiquement clôturé, 0,01 lot restant à vendre. Dans un mouvement, la transaction est inversée. Il n'est pas nécessaire de fermer la position. Et ainsi de suite. C'est rapide et pratique. A tout moment, il y a une position totale, ce qui est pratique à gérer. Ouvrez autant d'ordres que vous voulez, et la position est celle de la moyenne. Alors que les traders rencontreront des problèmes pour clôturer un grand nombre de positions de sens contraire. Pour le trading, MT5 est plus approprié, tandis que pour l'étude initiale de la langue, MQL4 est plus adapté. C'est ce que vous dit le loup de Rostov qui a des années d'expérience dans le commerce et la programmation.

Simulons la couverture dans le bazar de notre ville.

Vous pouvez vendre des pommes de terre à une commerçante pour 50 (BID) et lui acheter pour 100 (ASK). Nous venons et achetons un seau de pommes de terre pour 100 roubles. Et nous convenons que nous le rendrons dans une heure au prix du marché (pour 50). Après tout, sur le marché des changes, une position ouverte doit être fermée tôt ou tard par une transaction inverse. Nous supposons qu'ils viendront chercher des pommes de terre à la cantine. Et le prix sera multiplié par trois. Ensuite, ils sont vendus à 150 et un supplément de 50 reste dans la poche. Mais ensuite, les agriculteurs collectifs arrivent avec un camion de pommes de terre et le prix baisse (40 et 80) - la tendance a changé. L'intelligence serait de vendre notre seau à 40 (pour vendre le dépôt) et d'oublier le Forex. Mais nous nous couvrirons. Nous vendons notre pomme de terre à un autre commerçant pour 40 et convenons que, dans une demi-heure, nous achèterons la pomme de terre au prix du marché (apparemment pour 80) pour la rendre au premier commerçant. Y a-t-il une erreur dans la description de la haie quelque part ? Ensuite, corrigez-le, ou donnez un autre exemple pour prouver la couverture.

 
Je me souviendrai de mon premier salaire pour le reste de ma vie. Je vivais dans une auberge de jeunesse et j'étais libre comme l'air.
J'évite toujours l'alcool, et même à l'époque j'y étais réfractaire. J'ai décidé de me donner quelque chose à manger avec mon salaire, alors je suis allé au marché.
J'ai rencontré un gars, surnommé "Indicateur", de notre jardin. On se dit bonjour, et il me dit :
- Prenez un outil de moi. Je vous le donne pour 100. Et dans deux semaines, le printemps arrivera enfin, les hommes sortiront des garages,
vous leur donnerez l'outil pour 130. Vous l'aurez pour la bière.
J'ai aimé le raisonnement de l'indicateur. Je lui ai pris un outil pour 100.
La semaine suivante, je suis retourné au marché pour vérifier mes bénéfices.
Là où le dernier temps était l'Indicateur, il y avait maintenant un homme appelé le Médiateur. Il dit :
- "Nous avons battu l'Indicateur. Il a fait baisser le prix. Prends un autre outil, je te le donne pour 80.
Tu as 180 pour les deux, ça fait 90 pour chaque. Vous récupérerez un billet de dix en retour.
Si vous déplacez le take profit de 130 à 120, vous vendrez plus vite aussi. Ça vous permettra de payer deux bières.
J'ai aussi aimé le raisonnement de l'Oddsmaker. Je lui ai pris le deuxième outil pour 80.
La semaine prochaine, je cours au marché pour connaître les bénéfices. Orediator dit :
- Prenez deux autres outils, je vous les donne pour 70. Il s'avère que vous avez donné 320 pour quatre, c'est-à-dire 80 pour chacun.
Si vous faites passer le profit de 120 à 110, vous vendrez aussi plus rapidement. Vous en aurez assez pour quatre bières.
J'ai pensé - il s'avère, comme si je reçois vingt en retour, et le bénéfice sera plus rapide. J'ai pris les outils.
Dès que je les ai mis dans mes poches, Mihalych arrive et dit au médiateur :
- En voici cinq autres, vous en prenez 50 chacun ?
Le médiateur prend les outils, Mikhalych met l'argent dans sa poche et s'en va. Je le rattrape et lui dis :
- Attends, Mikhalych. Certaines personnes ici font des moyennes, afin d'obtenir des profits plus élevés plus tard. Et qu'est-ce que tu fais ?
Et je lui ai dit tout comme c'est. Il m'a regardé avec colère, m'a même craché dessus avec colère, et a dit :
- C'est donc vous qui achetiez les outils, en augmentant le prix ? Seulement tu as acheté 4 000 dollars, et j'en ai apporté 15. C'est le prix qui baisse ! !!
Où l'as-tu eu ? Je l'ai emprunté à mes voisins de garage. Ils ne vont probablement pas les acheter, ils espèrent que je les rembourserai.
Il s'avère qu'il y a un surplus d'outils au bazar, donc les prix baissent. Quand il atteindra 20 ou au moins 30,
Je vais les racheter et les redonner à mes amis. Et la différence est la mienne. Bien sûr, le prix passera à 60.
Mais je ne pense pas qu'il reviendra à 100.
Que s'est-il passé ensuite ? La nouvelle technologie est arrivée, alors j'ai gardé les outils comme souvenir. J'en ai marre de faire de la moyenne à vie.
 
Taras Slobodyanik:...et plus vous creusez dans MT5, plus ils seront ébouriffés) commencez par MT4

Pour le trading, MT5 avec un compte de compensation est mieux. Pour maîtriser la programmation, MQL4 est mieux. Puis, dans une semaine, vous passez au MQL5. Alors mettez les deux

 

Je veux définir un ordre en attente de sorte qu'après un temps égal à la période de la TF, l'ordre soit annulé (sur la bougie suivante). C'est ce que je fais :

ulong time = TimeCurrent () + GetSecCountFromTF (PERIOD_CURRENT);
G_LastTicket = SendOrder (Symbol (),
                          lot,
                          type,
                          ORDER_TIME_SPECIFIED, // ORDER_TIME_GTC,
                          (datetime)time,
                          NormalizeDouble (priceOpen, Digits ()),
                          NormalizeDouble (priceSL,   Digits ()),
                          NormalizeDouble (priceTP,   Digits ()),
                          Magic_P,
                          comment,
                          FillReturn_P);

//——————————————————————————————————————————————————————————————————————————————
// Установить отложенный ордер, усех: номер тикета, неудача: -1,
// функция НЕ делает нормализацию значений цены и уровней стопов
ulong SendOrder (string                  symbol,     //символ
                 double                  volume,     //объем
                 ENUM_ORDER_TYPE         type,       //тип ордера, ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT
                 ENUM_ORDER_TYPE_TIME    typeTime,   //ORDER_TIME_GTC           - Ордер будет находится в очереди до тех пор, пока не будет снят
                                                     //ORDER_TIME_DAY           - Ордер будет действовать только в течение текущего торгового дня
                                                     //ORDER_TIME_SPECIFIED     - Ордер будет действовать до даты истечения
                                                     //ORDER_TIME_SPECIFIED_DAY - Ордер будет действовать до 23:59:59 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.
                 datetime                expTime,    // дата истечения
                 double                  priceOpen,  // уровень цены установки ордера
                 double                  priceSL      = 0.0,  // уровень цены SL
                 double                  priceTP      = 0.0,  // уровень цены TP
                 long                    magic_number = 0,    // уникальный идентификатор
                 string                  comment      = "",   // комментарий
                 ENUM_ORDER_TYPE_FILLING filling = ORDER_FILLING_RETURN) //ORDER_FILLING_FOK - всё или ничего
                                                                         //ORDER_FILLING_IOC - разрешен неполный объем
                                                                         //ORDER_FILLING_RETURN - частичное до полного заполнения
{
  //--- готовим запрос
  MqlTradeRequest request = { 0 }; //торговый запрос
  MqlTradeResult  result  = { 0 }; //результат торгового запроса

  request.symbol       = symbol;               // инструмент
  request.volume       = volume;               // объем
  request.action       = TRADE_ACTION_PENDING; // установка отложенного ордера
  request.type         = type;                 // тип ордера
  request.type_time    = typeTime;             // тип времени истечения ордера
  request.expiration   = expTime;
  request.price        = priceOpen;            // цена для открытия
  request.sl           = priceSL;              // уровень Stop Loss
  request.tp           = priceTP;              // уровень Take Profit
  request.magic        = magic_number;         // уникальный идентификатор
  request.comment      = comment;              // комментарий
  request.type_filling = filling;              // тип заливки ордера

  //--- отправим торговый приказ
  bool success = OrderSend (request, result);
  if(success)
  {
    return ((int)result.order);
  }

  //--- выведем в лог ответ сервера
  Print ("Failed send pending order, comment from server: " + result.comment + ", Retcode: " + (string)result.retcode);

  return (-1);
}
//——————————————————————————————————————————————————————————————————————————————

//——————————————————————————————————————————————————————————————————————————————
// Возвращает количество секунд в указанном ТФ
int GetSecCountFromTF (ENUM_TIMEFRAMES period)
{
  switch(period)
  {
  case PERIOD_M1:
    return (60);
  case PERIOD_M2:
    return (120);
  case PERIOD_M3:
    return (180);
  case PERIOD_M4:
    return (240);
  case PERIOD_M5:
    return (300);
  case PERIOD_M6:
    return (360);
  case PERIOD_M10:
    return (600);
  case PERIOD_M12:
    return (720);
  case PERIOD_M15:
    return (900);
  case PERIOD_M20:
    return (1200);
  case PERIOD_M30:
    return (1800);
  case PERIOD_H1:
    return (3600);
  case PERIOD_H2:
    return (7200);
  case PERIOD_H3:
    return (10800);
  case PERIOD_H4:
    return (14400);
  case PERIOD_H6:
    return (21600);
  case PERIOD_H8:
    return (28800);
  case PERIOD_H12:
    return (43200);
  case PERIOD_D1:
    return (86400);
  case PERIOD_W1:
    return (604800);
  case PERIOD_MN1:
    return (2592000);
  default:
    return (60);
  }
}
//——————————————————————————————————————————————————————————————————————————————

Mais le serveur renvoie une erreur :

2017.04.16 09:48:49.732 Core 1 2017.02.10 05:25:00 Échec de l'envoi de l'ordre en attente, commentaire du serveur : expiration invalide, Retcode : 10022

Qu'est-ce que je fais de mal ? Je vérifie dans le testeur.

 
Andrey Dik:

Je veux définir un ordre en attente de sorte qu'après un temps égal à la période de la TF, l'ordre soit annulé (sur la bougie suivante). C'est ce que je fais :

Mais le serveur renvoie une erreur :

2017.04.16 09:48:49.732 Core 1 2017.02.10 05:25:00 Échec de l'envoi de l'ordre en attente, commentaire du serveur : expiration invalide, Retcode : 10022

Qu'est-ce que je fais de mal ? Je vérifie dans le testeur.

Quand je faisais l'annulation des commandes pour le cinquième type, j'ai eu la même erreur. Peut-être, le délai d'expiration n'est pas utilisé. Je retire simplement mon propre ordre après le temps d'expiration - si le temps actuel est supérieur ou égal au temps de placement de l'ordre plus PeriodSeconds(NEEDED_PERIOD_WEEK)*nombre de chandeliers.
 
Andrey Dik:

Je veux définir un ordre en attente de sorte qu'après un temps égal à la période de la TF, l'ordre soit annulé (sur la bougie suivante). C'est ce que je fais :

Mais le serveur renvoie une erreur :

2017.04.16 09:48:49.732 Core 1 2017.02.10 05:25:00 Échec de l'envoi de l'ordre en attente, commentaire du serveur : expiration invalide, Retcode : 10022

Qu'est-ce que je fais de mal ? Je vérifie dans le testeur.

La date d'expiration la plus proche +10 minutes était dans mql4. Je ne sais pas comment c'est maintenant, je devrais le vérifier dans mql5.
 
Artyom Trishkin:
J'ai également été confronté à une telle erreur lorsque j'ai traité l'annulation d'une cinquième commande. Peut-être, le délai d'expiration de la commande n'est pas utilisé. Je viens de supprimer l'ordre par moi-même après le temps d'expiration - si le temps actuel est plus ou égal au temps de placement de l'ordre plus PeriodSeconds(NEEDED_PERIOD_WEEK)*nombre de chandeliers.

Merci pour PeriodSeconds (), j'avais oublié cette fonction.

Alexey Viktorov:
Dans mql4, la date d'expiration la plus proche était de +10 minutes. Je ne sais pas comment c'est maintenant, je devrais vérifier avec mql5.

Je ne veux pas le changer avec mql5.


Je vois. Je vais devoir vérifier la date de la commande et la supprimer moi-même, je ne veux vraiment pas faire ça.

 
Veuillez me conseiller ! Comment écrire un code avec cette condition, si avant la fermeture de la bougie 0 a laissé 1 sec alors ouvrir un ordre dans une direction ou l'autre ! Je vous serais sincèrement reconnaissant de m'aider.