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

 
rigonich:

Si vous voulez que je ne réponde pas à vos questions, il suffit de le dire.

Non non ! !! J'en ai envie, mais je ne veux pas que tu fasses du travail supplémentaire... tu m'aides déjà VRAIMENT... donc ce que j'ai réussi à trouver moi-même (tu ne peux pas juste demander et rester assis à ne rien faire !) - je vais l'effacer rapidement...
 
rigonich:

OrderModify(OrderTicket(),OrderLots( ),stop_loss,OrderTakeProfit( ), 0,CLR_NONE) ;

Attends, donc tu as beaucoup... 0.


Merci pour cela !!!!

voici où penser....

cette ligne provient de la fonction "modifier" - je ne l'ai pas écrite moi-même, mais je l'ai insérée toute prête, et elle fonctionne.... peut-être que "0" signifie la taille de la position actuelle ? mais je préfère la fixer à une valeur - merci beaucoup sont fixés

 
rigonich:

OrderModify(OrderTicket(),OrderLots( ),stop_loss,OrderTakeProfit( ), 0,CLR_NONE) ;

Stop, donc votre lot est de 0.


aucun lot en modification :))))))) il y a un prix d'ouverture pour une raison quelconque...

OrderModify( int ticket, double prix, double stoploss, double takeprofit, date d'expiration, couleur arrow_color=CLR_NONE)
 
lottamer:


il n'y a pas de lots dans la modification :))))))) il y a un prix d'ouverture pour une raison quelconque...

OrderModify( int ticket, double prix, double stoploss, double takeprofit, date d'expiration, couleur arrow_color=CLR_NONE)


C'est vrai, je me suis trompé en copiant et collant, je n'arrive pas à m'habituer à coller dans les commentaires, si c'est copié depuis l'aide, c'est collé comme un lien.

Dans mon propre cas, pour insérer une fonction avec de nombreux paramètres, je la copie depuis l'aide et je remplace les paramètres par ceux dont j'ai besoin dans turn\, afin de ne pas m'embrouiller.

 

Chers tous !

Téléchargez et lancez PFG FX traider (dernière version). J'ai essayé de faire un indicateur.

Immédiatement, deux énigmes :

1. mon indicateur est visible sous l'éditeur, s'ouvre et tout, mais je ne peux pas le trouver sur le système de fichiers. Pas du tout, pas même en cherchant.

2. l'indicateur ouvre le fichier - écrit les ticks. Il écrit et se plante mais je ne trouve pas le fichier non plus !!!!.

Comment est-ce possible ? Windows 7.

 

Frères, ne négligez pas l'effort d'un débutant !

Besoin d'un script prêt à l'emploi (ou quelque chose comme ça) qui indiquerait dans les archives

les mouvements sur le calendrier filtrés par l'élan et le temps.

Par exemple, le mouvement a commencé à 14h00 et s'est terminé à 14h45.

Et le montant du mouvement était de 410 points (en calcul à cinq chiffres).

Existe-t-il donc un script qui marquerait visuellement ces mouvements sur le graphique "dans le passé" ?

et pour que les valeurs force-temps puissent être insérées indépendamment.

______

Veuillez indiquer une succursale ou un endroit où ils peuvent vous conseiller sur la manière de procéder.

En programmation - pas Aristote, mais je soupçonne qu'un tel script n'est pas difficile à réaliser.

___

Prêt à partager ce qui semble avoir été trouvé, et surtout - les paramètres du filtre par temps et par force.

 
Chibrikin:

Chers tous !

Téléchargez et lancez PFG FX traider (dernière version). J'ai essayé de faire un indicateur.

Immédiatement, deux énigmes :

1. mon indicateur est visible sous l'éditeur, s'ouvre et tout, mais je ne peux pas le trouver sur le système de fichiers. Pas du tout, pas même en cherchant.

2. l'indicateur ouvre le fichier - écrit les ticks. Il écrit et se plante mais je ne trouve pas le fichier non plus !!!!.

Comment est-ce possible ? Windows 7.


Dans Semester, certains fichiers ne sont parfois pas placés dans le terminal, mais dans D:\Users\Nom d'utilisateurAppData\Local\VirtualStore\Program Files, puis le nom du terminal

Cela se produit souvent si plusieurs terminaux sont installés dans des répertoires différents ou s'il y a beaucoup d'indicateurs, d'EA ou d'autres fichiers utilisateur accumulés dans le terminal.

 
TUNGUS:

Frères, ne négligez pas l'effort d'un débutant !

Besoin d'un script prêt à l'emploi (ou quelque chose comme ça) qui indiquerait dans les archives

les mouvements sur le calendrier filtrés par l'élan et le temps.

Par exemple, le mouvement a commencé à 14h00 et s'est terminé à 14h45.

Et le montant du mouvement était de 410 points (en calcul à cinq chiffres).

Existe-t-il donc un script qui marquerait visuellement ces mouvements sur le graphique "dans le passé" ?

et que les valeurs force-temps peuvent être insérées indépendamment.

______

Veuillez indiquer une succursale ou un endroit où ils peuvent vous conseiller sur la manière de procéder.

En programmation - pas Aristote, mais je soupçonne qu'un tel script n'est pas difficile à réaliser.

___

Prêt à partager ce qui semble avoir été trouvé, et surtout - les paramètres du filtre par temps et par force.


Je ne comprends pas du tout ce que vous attendez du script.
 

J'ai besoin d'aide de toute urgence, je suis totalement perdue. Voici la fonction de négociation et la fonction de modification des ordres :

void OrdersModifying(double& sl, double& tp)
{
  int total = OrdersTotal() - 1;
  sl = 0; tp = 0;
  
  for(int i=total; i>=0; i--)
  {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)                            // Если ордер есть и он выбран..
    {
      if(g_type == OP_BUY)
      {
        if(i_sl != 0)                                                                 // Если входной параметр стоп-лосса не равен 0, то..
           sl = NormalizeDouble(OrderOpenPrice() - i_sl*pt,Digits);                    // Получаем значение стоп-лосса для выбранного ордера
        if(i_tp != 0)                                                                 // Если входной параметр тейкпрофита не равен 0, то..
           tp = NormalizeDouble(OrderOpenPrice() + i_tp*pt,Digits);                    // Получаем значение тейкпрофита для выбранного ордера
      }
      if(g_type == OP_SELL)
      {
        if(i_sl != 0)                                                                 // Если входной параметр стоп-лосса не равен 0, то..
           sl = NormalizeDouble(OrderOpenPrice() + i_sl*pt,Digits);                // Получаем значение стоп-лосса для выбранного ордера
        if(i_tp != 0)                                                                 // Если входной параметр тейкпрофита не равен 0, то..
           tp = NormalizeDouble(OrderOpenPrice() - i_tp*pt,Digits);                // Получаем значение тейкпрофита для выбранного ордера
      }
      if(sl != 0 || tp != 0)                                                            // Если полученные значения sl и tp не равныы 0, то..
      {
        OrderModify(g_ticket,OrderOpenPrice(),sl,tp,OrderOpenTime() + 86400,Lime);      // Модифицируем ордер
      }
    }
  }
}
bool OpenBuy()
{
  g_ticket = -1;
  string myNote = "сов баянул";
  
  if(GetPriceToInput() < Ask)
  {       
    g_ticket = OrderSend(Symbol(),OP_BUYLIMIT,0.1,GetPriceToInput(),3,0,0,myNote,myMagic,0,Blue);
  }
    if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
 
  return(true);
}
bool OpenSell()
{
  g_ticket = -1;
  string myNote = "сов шортанул";
 
  if(GetPriceToInput() > Bid)
  {
    g_ticket = OrderSend(Symbol(),OP_SELLLIMIT,0.1,GetPriceToInput(),3,0,0,myNote,myMagic,0,Red);
  }
    if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
  
  return(true);
}
bool Trade (int signal)
{
  FindOrders();

  if(signal == SIGNAL_BUY)                                                          // Если сигнал на покупку и открытых ордеров нет..
    if(!OpenBuy())                                                                  // открываем лимитный ордер на покупку
      return(false);                                                                
      
  if(signal == SIGNAL_SELL)                                                       // Если сигнал на продажу и открытых ордеров нет..
     if(!OpenSell())
       return(false);                                                              // открываем лимитный ордер на продажу
  
  OrdersModifying(sl, tp); - ТУТ НЕ ВЪЕЗЖАЮ КАК БЫТЬ

  return(true);
}

Actuellement, la modification des commandes ne fonctionne pas, alors que lorsque plusieurs fonctions étaient réunies en une seule, tout fonctionnait. Mais je veux que toutes les fonctions soient séparées pour plus de commodité. En général, j'aimerais avoir la fonctionOrdersModifying pour modifier les commandes. Je comprends que logiquement il devrait être collé dans la fonction Trade où je l'ai collé, mais nous devons passer 2 paramètres sl et tp de la fonctionOrdersModifying dans celle-ci.

Ai-je correctement transmis les variables sl et tp dans les paramètres de la fonctionOrdersModifying ?

 
hoz:

J'ai besoin d'aide de toute urgence, je suis totalement perdue. Voici la fonction de négociation et la fonction de modification des ordres :

Actuellement, la modification des commandes ne fonctionne pas, alors que lorsque plusieurs fonctions étaient réunies en une seule, tout fonctionnait. Mais je veux que toutes les fonctions soient séparées pour plus de commodité. En général, j'aimerais avoir la fonctionOrdersModifying pour modifier les commandes. Je comprends que logiquement il devrait être collé dans la fonction Trade où je l'ai collé, mais nous devons passer 2 paramètres sl et tp de la fonctionOrdersModifying dans celle-ci.

Ai-je correctement transmis les variables sl et tp dans les paramètres de la fonctionOrdersModifying ?

On fait d'abord sl = 0 ; tp = 0 ; et ensuite if(sl != 0 || tp != 0).