[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 127

 
VOLDEMAR:
Lorsque vous l'exécutez dans la vie réelle " le point d'étape* deviendra > la perte actuelle, puis le bénéfice vous parviendra " vous verrez que votre bénéfice devient un moins fixe ..... Grâce au travail du courtier... Je n'ai pas fixé le take profit pour rien, il est déjà coché ...........
Vous êtes un drôle de type. Mon post est une autre réponse à votre question. C'est juste une autre façon. Mais il est plus compréhensible visuellement.
 
Pourriez-vous indiquer à un programmeur novice comment sélectionner la dernière transaction clôturée à l'aide de la fonction OrderSelect? J'ai essayé la méthode suivante : OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), mais apparemment aucun ordre n'est sélectionné de cette façon...
 
que quelqu'un mette en œuvre cette idée de conseiller :

Idée numéro 5 TS - Modèle propre (échantillon). Il y a aussi un dessin. Les critères de TS et de négociation sont simples et

Cela ne prendra pas beaucoup de temps à un bon programmeur. Personne ne veut voir les résultats ?
 
S'il vous plaît, dites-moi si vous savez comment faire un test de levier 1:1 ?
 

Essayez d'ouvrir un compte de démonstration avec un effet de levier de 1:1. Et testez-le.

Est-ce que ça va marcher ?


 
Moslift:
Pourriez-vous indiquer à un programmeur novice comment sélectionner la dernière transaction clôturée à l'aide de la fonction OrderSelect ? J'ai essayé de le faire de cette façon : OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), mais apparemment aucun ordre n'est sélectionné de cette façon...


Jetez un coup d'œil ici : https://www.mql5.com/ru/forum/131859

-page 4
GetTypeLastClosePos - Renvoie le type de la dernière position fermée ou -1
GetTypeLastOpenPos - Renvoie le type de dernière position ouverte ou -1
isCloseLastPosByStop - Renvoie l'indicateur de la dernière position fermée par Stop
isCloseLastPosByTake - Renvoie l'indicateur de fermeture de la dernière position par Take.
isLossLastPos - Renvoie l'indicateur de perte de la dernière position.
isTradeToDay - Renvoie l'indicateur de négociation aujourd'hui
NumberOfBarCloseLastPos - Renvoie le numéro de clôture de la dernière position ou -1.
NumberOfBarOpenLastPos - Renvoie le numéro de la barre de la dernière position ouverte ou -1.
NumberOfLossPosToday - Renvoie le nombre de positions perdantes fermées aujourd'hui.
PriceCloseLastPos - Renvoie le prix de clôture de la dernière position fermée.

 
Moslift:
Pouvez-vous conseiller un programmeur novice, comment sélectionner le dernier ordre clôturé en utilisant la fonction OrderSelect ? J'ai essayé de le faire de cette façon : OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), mais apparemment aucun ordre n'est sélectionné de cette façon...

Essayez de cette façon :

   int      i, j;
   datetime t;
   for (i=0; i<OrdersHistoryTotal(); i++) {           // Цикл по закрытым ордерам терминала
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {// Если выбран ордер...
         if (OrderType()>1)               continue;   // ... если его тип не Buy и не Sell, переходим к следующему...
         if (OrderSymbol()!=Symbol())     continue;   // ... если его символ не соответствует символу графика - к следующему...
         if (OrderMagicNumber()!=Magic)   continue;   // ... если его магик не соответствует магику советника (в переменной Magic) - к следующему
         if (OrderCloseTime()>t) {                    // ... если время его закрытия больше предыдущего
            t=OrderCloseTime();                       // ... сохраним новое наибольшее время закрытия, ...
            j=i;                                      // ... сохраним индекс ордера в массиве закрытых ордеров
            }                   
         }
      }
   if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))     // На этом этапе j содержит индекс последнего закрытого ордера
      Print("Выбран последний закрытый ордер с тикетом ",OrderTicket());

Notez que seule la case Acheter ou Vendre est cochée dans la boucle. Nous espérons que vous serez en mesure de sélectionner d'autres types de commandes sur cette base.

ZS... J'écrivais sur mes mains et j'ai peut-être oublié une erreur quelque part...

 

Veuillez me dire pourquoi cette fonction ne fonctionne pas et comment la faire fonctionner.


nomer_sdelki=OrderSend(Symbol(),OP_SELL,1,Bid,3, Bid-10*Point,Ask+10*Point, "Mon ordre #"+1,16384,0,Green) ;

------------------------------------------------------------------------------------------------------------------------

Et c'est comme ça que ça marche ! !!

nomer_sdelki=OrderSend(Symbol(),OP_SELL,koefficent,Bid,3,0,0, "Mon ordre #"+1,16384,0,Green) ;

C'est-à-dire que si aucun arrêt n'est fixé, cela fonctionne.

------------------------------------------------------------------------------------------------------------------------------

Cette fonction ne fonctionne pas non plus, comment puis-je la réparer ?

OrdreClose(nomer_sdelki,koefficent,Bid,3,Red) ;


-----------------------------------------------------------------------------------------------------------------------------------



 
leonid553:

Essayez d'ouvrir un compte de démonstration avec un effet de levier de 1:1. Et testez-le.

Est-ce que ça va marcher ?


Senx ( Merci ) :))
 

C'est un miracle...

Il y avait un message et pas de message...

Je répondrai : est-ce que c'est ce qu'il faut ?

// ----------------- SchBuyLs() ---------------------------------------------
//  Функция возвращает суммарный лот Бай-ордеров 
//----------------------------------------------
double SchBuyLs_b() {
   double SchBuyLs=0;
   int i;
   string SMB=Symbol();
   for (i=OrdersTotal()-1; i>=0; i--) {                  //Начало цикла
      if (!OrderSelect(i, SELECT_BY_POS)) WriteError(i);
      else  {                                            //начало работы с выбранным ордером
         if (OrderSymbol()!=SMB)    continue;
         if(OrderType()==OP_BUY)    SchBuyLs+=OrderLots();
         }                                               //конец работы с выбранным ордером
      }                                                  //Конец цикла
   return(SchBuyLs);                                     // При ошибке выбора ордера функция вернёт ноль
}
// ----------------------------------------------------------------------------