Fonction de fonds de suivi (actions) - quelqu'un en a-t-il trouvé une toute prête ? - page 3

 
bstone писал(а) >>

Ensuite, l'auteur parle des trailing stops sur les actions, et Combat dit que les stops au cul - donnez-leur des jetons. En bref, le camp ennemi est en désordre :)

"La guerre est la guerre, le déjeuner est la routine..."

C'est l'heure du déjeuner maintenant... :))) et cela signifie la paix...

*

Tout d'abord, les " trailing stops ", ou plus précisément les " arrêts de suivi ", font référence à certains

les moments de négociation où il est inefficace d'utiliser le modèle habituel pour chaque position du panier.

Et quand vous en avez besoin, notamment pour les positions indépendantes simples, le staff t-c se met à fond...

Alors ne faites pas de moi un "ennemi des T-C"... :))) est la mauvaise conclusion à la question.

*

Si vous abordez la question de l'auteur de manière formelle, vous pouvez deviner beaucoup de choses pour lui...

Par exemple, il en a besoin pour contrôler les investissements qui sont détenus en fiducie.

En général, il sait mieux que quiconque ce qu'il veut... ;)

*

Je ne faisais que saisir la similitude de ce qui m'intéresse et de ce dont j'ai besoin...

Comme je l'ai décrit ci-dessus pour la négociation de "paquets" (portefeuilles, paniers) sur ru-share.

Les promesses de dons y sont misérables, c'est pourquoi la tactique la plus stable, bien qu'avec un petit pourcentage, a été choisie.

négociation d'actions mixtes par secteurs, par exemple banques, gasprom et compagnies pétrolières avec quelques télécoms...

*

Ainsi, en ouvrant une douzaine, deux ou trois postes, il est assez difficile de choisir le niveau de t-c pour chacun d'eux.

L'une demande 20, l'autre 200, la troisième bouge comme un ventilateur d'avant en arrière...

Plus l'aggravation de la situation par l'absence de t-cs standard, et l'utilisation d'auto-écritures.

n'est pas possible entièrement à cause des arrêts traînants avec un seul niveau pour toutes les positions,

qui, hélas, ne convient pas pour les raisons susmentionnées...

Donc, la prochaine solution logique est d'utiliser le chalut des bénéfices ou le chalut des actions qui est presque le même...

*

...

 

Pour le suivi des actions, vous pouvez utiliser le principe du balayage des positions comme dans ce script pour calculer le seuil de rentabilité. Pas le mien, je l'ai volé quelque part, que l'auteur me pardonne.

//+------------------------------------------------------------------+
//|                                                    Bezubytok.mq4 |
//+------------------------------------------------------------------+
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
int Spr= MarketInfo(Symbol(),MODE_SPREAD);
//------------ Безубыток  ---------------------------------------------------
double B2_B=0, B2_S=0, B2_LB=0, B2_LS=0, BSw=0, SSw=0;
      for(int b2=0; b2<OrdersTotal(); b2++) //  
      {
      if(OrderSelect( b2, SELECT_BY_POS, MODE_TRADES)==false)    continue;
      if(OrderSymbol()==Symbol())
      {
           if (OrderType()==OP_BUY)
           {
           B2_B=(( B2_B* B2_LB)+(OrderOpenPrice()*OrderLots()))/( B2_LB+OrderLots());
           B2_LB= B2_LB+OrderLots();
           BSw= BSw+OrderSwap();
            }
                if (OrderType()==OP_SELL)
                {
           B2_S=(( B2_S* B2_LS)+(OrderOpenPrice()*OrderLots()))/( B2_LS+OrderLots());
           B2_LS= B2_LS+OrderLots();
           SSw= SSw+OrderSwap();
               }
            }}
double M2B=0, M2S=0 , M5;           
    if ( B2_LB> B2_LS)   // Идём вверх
{
for(int J2=0; J2<10000; J2++)
    {
    M2B= J2* B2_LB*10;
    M2S=(( B2_B- B2_S+ Spr*Point)/Point+ J2)*( B2_LS*(-10));
    if ( M2B+ M2S+ BSw+ SSw>=0) 
        {
        M5=NormalizeDouble( B2_B+ J2*Point,Digits);
        break;
        }}} 
if ( B2_LS> B2_LB)  //  Идём вниз
{
for(int J3=0; J3<10000; J3++)
    {
    M2S= J3* B2_LS*10;
    M2B=(( B2_B- B2_S+ Spr*Point)/Point+ J3)*( B2_LB*(-10));
    if ( M2S+ M2B+ BSw+ SSw>=0) 
        {
        M5=NormalizeDouble( B2_S- J3*Point,Digits);
        break;
        }}}
  string Message;      
       if ( B2_LS== B2_LB && B2_LB!=0 ) Message="Залокированные позиции" ;
       else           
       Message="Уровень без убытка  "+"\n"+"          "+DoubleToStr( M5,Digits)+"\n"+
       " Надо пройти  "+DoubleToStr(( M5-Bid)/Point,0);
MessageBox( Message,Symbol(), MB_OK);                 
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
kombat >> :

Non, je n'ai traité personne d'ennemi. C'était juste une blague pour pimenter la prose.


Sinon, j'ai compris votre point de vue. Cependant, un point me laisse perplexe : il semble que vous négociez en fonction des fonds propres du portefeuille, mais pas en fonction des instruments qu'il contient. Est-il plus facile de prévoir l'équité d'un portefeuille composé de dizaines d'instruments que d'instruments individuels ?

 
bstone писал(а) >>

Non, je n'ai traité personne d'ennemi. C'était juste une blague pour pimenter la prose.


Sinon, j'ai compris votre point de vue. Mais un point m'échappe : il semble que vous négociez sur les fonds propres du portefeuille, et non sur les instruments qui y sont inclus. N'est-il pas plus facile de prévoir l'équité d'un portefeuille composé de dizaines d'instruments que d'instruments individuels ?

Je vois... ;)

*

Quant à l'idée d'"échanger des actions", on a remarqué il y a longtemps que "l'ouverture

de beaucoup d'instruments, bien souvent des "îlots de profit" avec un bon % sont apparus.

Je voulais les fermer tous en même temps... mais le crapaud continuait à dire : pas encore, pas encore...

Puis j'ai perdu le contrôle, parce que je ne voulais pas rester assis devant l'écran pendant des heures, et...

Attraper un gros élan... me maudissant, tu sais, tu aurais pu te refermer sur lui...

*

Et mettre ce contrôle sur un miracle mécanique

qui ne connaît pas le mot cupidité ne gagnera cette bataille...

Plus sérieusement, il suffit d'automatiser le processus pour une efficacité maximale.

*

Quant aux prévisions...

Erm... il y a une approche légèrement différente de la construction de portefeuille...

Un portefeuille classique a tendance à être construit sur le long terme et il s'agit davantage d'un investissement que d'une spéculation,

et il y a plus de points que les transactions intraday ou de quelques jours tout au plus...

La base de l'approche suggérée est la suivante : une variété d'instruments

*

D'ailleurs, on peut observer la même chose dans les devises et dans le couplage devises+futures.

*

C'est plus instructif, bien sûr, si vous utilisez une démo...

essayez-le ;)))

 
YuraZ писал (а) >>

l'auteur voulait plutôt dire le contraire quand l'équité est allée trop vite vers le haut de la ligne d'équilibre.

pour remonter la pente jusqu'au seuil de rentabilité

Si je lis correctement l'esprit de l'auteur.

Oui, Yura, j'étais intéressé (en général, je n'étais intéressé que par une fonction de recherche d'actions toute faite, si quelqu'un en a une, mais il semble que je sois à nouveau le premier à avoir besoin de quelque chose qui sorte du cadre conventionnel/des timbres/des classiques de la négociation sur les marchés, etc.) par la fonction de recherche d'actions par pure gourmandise.) La fonction de chalutage d'équité n'existe que par avidité, comme ce Khokhol de l'anecdote à qui on avait dit de prendre le plus de terres possible, alors il monta sur son cheval, galopa et galopa, galopa et galopa, le cheval courut, courut et galopa, tomba, rampa et rampa, rampa et rampa, fatigué de galoper, enleva son chapeau, le jeta et dit : "...et ocee aux tomates !" :)))


En règle générale, les capitaux propres montent très vite au milieu d'un mouvement, mais ils redescendent aussi très vite. C'est dans ce cas que l'on souhaite mettre en place un système d'alerte, profiter au maximum du mouvement et clôturer le tout en toute tranquillité.

vous comprenez que vous pouvez utiliser les stops non seulement pour prendre des pertes mais aussi pour protéger les profits

Vous pouvez également augmenter les fonds propres ;) il s'avère que l'on peut faire beaucoup de choses avec des arrêts :)

Je pense que c'est ce que l'auteur voulait dire

certaines TS ont des sauts d'équité de la ligne de bilan

Si vous disposez d'un indicateur, vous pouvez essayer de l'utiliser jusqu'au seuil de rentabilité, au moins.

Quant au reste des paramètres que vous avez stélepés incorrectement) sur le seuil de rentabilité, je ne le fais pas, je n'en ai pas besoin, c'est inutile, comme l'a dit correctement Roman - c'est le mal :)

bstone a écrit (a) >>

Non, ce n'est pas le cas. L'auteur lui-même a déclaré que sa religion ne lui permet pas d'utiliser les arrêts standards.


On dirait bien :)

En tant qu'athée d'origine soviétique, la religion me permet de tout faire, mais TC me l'interdit, car les pieds sont engagés, remplissent clairement leur fonction et il n'est pas nécessaire de les déranger, ils sont au travail et s'acquittent parfaitement de leur tâche.


Mais "virtuel" s'arrête par équité, s'il vous plaît. Je suis un retardataire, mais je ne vois pas la différence. Que vous fermiez avec des stops réguliers ou virtuels, le résultat est le même.

Il ne s'agit pas d'être attardé, vous n'êtes pas attardé, croyez-moi, vous ne comprendrez pas la différence, car vous n'avez pas les données d'entrée pour la voir.


Ensuite, l'auteur parle des trailing stops sur les actions, et Combat dit que les stops au cul - donnent des tees. En bref, le camp ennemi est en désarroi :)

Eh bien ... Je ne connais pas Kombat TC, peut-être qu'il a exagéré avec des arrêts dans le * cul, et peut-être pas :) qui sait ?

Et je suis sûr que j'ai bousillé les tags, il n'y a pas de but, c'est tout pour le plaisir du mal, IMHO :)

La pensée générale de l'auteur est assez claire, mais comme je l'ai dit, je ne la considère pas comme une base rationnelle. L'auteur souhaite conserver son bénéfice et sortir du marché lorsque l'équité a augmenté, disons, de 20 % au début, puis a commencé à diminuer à 10 %. Ainsi, le stop loss virtuel était de 10%. Oui, nous avons gagné 10% et nous nous réjouissons.

Oh, Roman, c'est la chose que la pensée de l'auteur n'est pas claire pour vous :) pas si compréhensible.

Je suis intéressé par le chalutage après 150-200%. (c'est tout démo, calme, réel la semaine prochaine, selon le signal).



Mais encore une fois, pourquoi le TS n'a pas fermé avec des arrêts standards ? S'il n'a pas été fermé, cela signifie que l'analyse du marché a laissé entrevoir la possibilité d'une évolution défavorable à court terme. Les stops sont les arrêts pour sortir du marché, s'il est évident que l'hypothèse de travail sur ses conditions n'est pas correcte. Et sans un stop virtuel, le marché aurait été légèrement effrayé par un pullback et serait parti à la hausse. Les arrêts réguliers auraient parfaitement rempli leur rôle, mais l'arrêt virtuel aurait arraché tous les bénéfices. Donc, vous pouvez deviner ce qui serait mieux.

Si je ne veux pas me répéter, j'ai déjà écrit plus haut.

Et en ce qui concerne le "pourquoi le CT..." et ainsi de suite dans le texte - ce n'est pas son affaire de faire ce qu'elle ne devrait pas faire, et ce qu'elle devrait faire - elle s'en sort bien :)

kombat a écrit (a) >>

"La guerre est la guerre, le dîner est la routine..."

C'est l'heure du déjeuner en ce moment... :))) et cela signifie la paix...

*

Tout d'abord, les " trailing stops ", ou plus précisément les " arrêts de suivi ", font référence à certains

les moments de négociation où il est inefficace d'utiliser le modèle habituel pour chaque position du panier.

Eh bien, le *but* est résolu, donc c'est bien :)

Oui, les trailing stops réguliers sont vraiment nuls, car les utiliser sur chaque position du panier peut être non seulement inefficace mais aussi meurtrier en général, pour moi et pour mon TS.

Si nous devons traiter la question de l'auteur de manière formelle, nous pouvons penser à beaucoup de choses pour lui...

.

Il n'y a pas besoin de deviner quoi que ce soit pour l'auteur, il arrive à deviner pour lui-même :))

Par exemple, il en a besoin pour contrôler les investissements qui sont gérés par un trust.

En général, il sait mieux que quiconque ce qu'il veut... ;)

Combat, je vais penser dans deux ou trois mois sur elle, DU ... belles lettres, et en anglais même - IBO :) mais peut-être ne pense même pas sera ... ;) Je veux dire que je n'y penserai même pas :))

Vraiment tout banal - j'en ai besoin, comme l'a bien dit le camarade Kombat :)

Sérieusement, il suffit d'automatiser le processus pour être aussi efficace que possible.

ZS : En général, en aérant le corps aujourd'hui dans la nature, j'ai pensé qu'il serait bon de faire un tour sur la ligne de tendance de l'équité, et même d'y visser quelque chose d'autre...

 
FION писал (а) >>

Pour le suivi des actions, vous pouvez utiliser le principe du balayage des positions comme dans ce script pour calculer le seuil de rentabilité. Pas le mien, je l'ai volé quelque part, que l'auteur me pardonne.

Merci, Sergey, mais ce n'est pas tout à fait adapté.

 
alexx_v писал(а) >>

...( En fait, je n'étais intéressé que par une fonction de recherche de fonds prête à l'emploi, si quelqu'un en a une, mais il semble que je sois une fois de plus le premier à avoir besoin de quelque chose qui sorte du cadre conventionnel/des timbres/des classiques de la négociation sur les marchés, etc.)

...

Voici un aperçu, ça pourrait marcher.

Dossiers :
 
Talex писал (а) >>

Jetez un coup d'oeil à ça, ça pourrait marcher.

Je vais certainement y jeter un coup d'œil, merci.

ZS : c'est en fait ce dont je parlais, à propos du "souffle du mouvement", et c'est justement dans ces moments-là qu'il est bon d'avoir un trall à portée de main...


 
Comment tout cela a-t-il fini, je me le demande ?
 
OZ0 >> :
Comment ça s'est terminé, je me le demande ?
extern bool   VirtualTrayling=true;
extern int    VirtualTraylingDistance=200;
int Distance=0;

////////////////////////////////////
if ( VirtualTrayling==true)
      {
         if ( CurrentProfitInPips()> VirtualTraylingDistance && CurrentProfitInPips()> Distance+ VirtualTraylingDistance)
            {
            Distance= CurrentProfitInPips()- VirtualTraylingDistance;
            }
         
         if ( CurrentProfitInPips()< Distance && CurrentProfitInPips()>0)
            {
            Distance=0;
            CloseAllPosition();
            }   
      }
/////////////////////////////////////

int CurrentProfitInPips()
{
   int pr=0;
   double pnt=0;
   
   for(int cnt=OrdersTotal()-1; cnt>=0; cnt--)
   {
     OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES);
     if(OrderMagicNumber()!= MagicNumber)
     continue;
     pnt=MarketInfo(OrderSymbol(), MODE_POINT); 
          if(OrderMagicNumber()== MagicNumber)
          {
               if (OrderType()==OP_SELL) 
               pr= pr+(OrderOpenPrice()-OrderClosePrice())/ pnt;
               
               if (OrderType()==OP_BUY) 
               pr= pr+(OrderClosePrice()-OrderOpenPrice())/ pnt;
             
          }
   }
return( pr);   
}