[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 804

 
Maniac:


Voici le code de l'Expert Advisor. Il en a besoin :

1) il a ouvert non pas une, mais trois affaires en même temps avec des stops de 25 et des reprises de 15, 35, 50

2) après la clôture du deuxième ordre à la prise (35), la dernière position (avec la prise 50) est amenée au seuil de rentabilité.

Vous utilisez les fonctions d'Igor Kim... Parmi toute la variété de fonctions prêtes à l'emploi
qu'il a mis à la disposition de tous, n'avez-vous pas trouvé des moyens de résoudre votre "problème" ?
Croyez-moi, ils sont là et même assez nombreux...
C'est un bon endroit pour commencer à apprendre...
Lisez également cette section du tutoriel d'IC - elle décrit bien comment structurer votre code et le décomposer en blocs de code logiquement structurés,
Chaque bloc a sa propre fonction au sein du conseiller expert...
Vous avez tout en une seule pile... :)
IMHO bien sûr... :)
 
C'est une sacrée façon de faire danser une fille... <:-О ...
Il y a une position d'achat avec le ticket 88. Il y a un ordre SellStop en attente avec le ticket 89
Quand l'ordre SellStop en attente est converti en ordre de marché, le ticket du marché Sell devient 89 aussi,
mais le TICKET DE POSITION D'ACHAT (88) SERA DANS L'HISTORIQUE !!! Comment est-ce possible - il n'est pas fermé et est sur le marché ! !!??????????????
Par exemple, lors de la vérification :
if (OrderSelect(CurTicB,SELECT_BY_TICKET,MODE_HISTORY)) // CurTicB равен тикету позы, т.е. 88
   {
      if (OrderType()==OP_BUY)
          {
              Print("Поза Buy с тикетом ",CurTicB," отошла, блин в мир иной, сволочь!!!",", и типчик у неё = ",OrderType());
              SaveCurB = false;   
          }
      else if (OrderType()==OP_BUYSTOP) Print("Поза Buy с тикетом ",CurTicB," отошла, блин в мир иной, сволочь!!!",", а типчик у неё = ",OrderType());
   }

... c'est écrit dans mon journal :

2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5 : La position d'achat avec le ticket 88 est passée dans l'autre monde, le salaud !!!, et son type = 0

Et elle se sent bien sur le marché en même temps... ! !!!!!!!!!! ? ????????
Quelqu'un peut-il m'indiquer la direction à suivre pour que je puisse voir où cela mène... ...et comment y faire face... C'est le troisième jour qu'elle m'énerve...

( C'est pourquoi mes expressions dans le journal du testeur sont plus fortes que celles que j'ai corrigées ici.... :)) )

Merci...

 
artmedia70:
C'est une sacrée façon de faire danser une fille... <:-О ...
Il y a une position d'achat avec le ticket 88. Il y a un ordre SellStop en attente avec le ticket 89.
Lors de la transformation d'un SellStop en attente en un SellStop de marché, le ticket du Sell de marché devient également 89,
MAIS LE TICKET D'ACHAT DE POSITION (88) ENTRE DANS L'HISTOIRE ! Comment est-ce possible - parce qu'il n'est pas fermé et qu'il est sur le marché ! !!??????????????
C'est-à-dire lors de la vérification :

... c'est écrit dans mon journal :

2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5 : L'achat pose avec le ticket 88 est parti dans l'autre monde, salaud !!!, et son type = 0

Et elle se sent bien sur le marché en attendant... ! !!!!!!!!!! ? ????????
Quelqu'un peut-il m'indiquer la direction à suivre pour que je puisse voir où cela mène... ...et comment y faire face... C'est le troisième jour qu'elle m'énerve...

( C'est pourquoi mes expressions dans le journal du testeur seront plus fortes que celles que j'ai corrigées ici.... :)) )

Merci...


Le testeur est impeccable!

Comme tout le code et la convivialité MetaQuotes Software Corp ...

Sinon, c'est une interdiction.

Recherchez la malhonnêteté dans les micro-programmes et vous-même !

;)

 

Je commence à croire aux insectes...

La position d'achat s'est fermée de façon inattendue sur le niveau de prise de profit d'une position de vente déjà fermée :


Il n'y a pas de stop sur la position Buy, et bam !... et fermé et ainsi
intéressant - juste au niveau de la prise de la position Sell déjà fermée ...

On dirait que... il y a un mort-vivant dans mon appartement... ou j'ai besoin de plus de sommeil... :)

Quelqu'un a-t-il eu un tel désordre ?

Je ne sais pas...

 
FreeLance:

Le testeur est impeccable!

Il en va de même pour tout le code et la convivialité de MetaQuotes Software Corp ...

Sinon, vous êtes banni.

Recherchez la malhonnêteté dans les micro-programmes et vous-même !

;)

Une réponse très instructive... bow low... Je m'incline et avec des mains tordues, je laisse tomber les pots des étagères... Pas d'échardes ? ;)
 
artmedia70:
Une réponse très instructive... s'incliner... Je m'incline, et de mes mains tordues, je laisse tomber les pots des étagères. Tu as eu des échardes ? ;)

non bien sûr - la rosée de Dieu ! $)

et vous ne faites que commencer...

;)

 
artmedia70:
C'est une sacrée façon de faire danser une fille... <:-О ...
Il y a une position d'achat avec le ticket 88. Il y a un ordre SellStop en attente avec le ticket 89.
Lors de la transformation d'un SellStop en attente en un SellStop de marché, le ticket du Sell de marché devient également 89,
MAIS LE TICKET D'ACHAT DE POSITION (88) ENTRE DANS L'HISTOIRE ! Comment est-ce possible - parce qu'il n'est pas fermé et qu'il est sur le marché ! !!??????????????
C'est-à-dire lors de la vérification :

... c'est écrit dans mon journal :

2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5 : L'achat pose avec le ticket 88 est parti dans l'autre monde, salaud !!!, et son type = 0

Et il fait un très bon travail sur le marché à ce moment-là... ! !!!!!!!!!! ? ????????
Est-ce que quelqu'un peut me donner un coup de pouce pour que je puisse voir où se situe le problème... ...et comment y faire face... C'est le troisième jour qu'elle m'énerve...

( C'est pourquoi mes expressions dans le journal du testeur seront plus fortes que celles que j'ai corrigées ici.... :)) )

Merci...

Je vous suggère de lire attentivement la description de la fonction OrderSelect().

Le paramètre pool est ignoré si la commande est sélectionnée à l'aide du numéro de ticket.

 
artmedia70:

Je commence à croire aux insectes...

La position d'achat s'est fermée de façon inattendue sur le niveau de prise de profit d'une position de vente déjà fermée :


Il n'y a PAS de stop dans la position d'achat mais il a été fermé... ! et fermé et ainsi
intéressant - juste au niveau de prendre la position Sell déjà fermée ...

On dirait que... il y a un mort-vivant dans mon appartement... ou j'ai besoin de plus de sommeil... :)

Qui a connu une telle pagaille ?

Je ne sais pas...

C'est difficile de dire ce que vous avez là. Je ne vois pas que "La position d'achat s'est soudainement fermée au niveau du TakeProfit d'une position de vente déjà fermée". Ce Sell, sous lequel la flèche est dessinée, ne semble pas contenir de tirets.

N'utilisez-vous pas OrderCloseBy() dans votre code ?

 
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,1,0);//calculer l'indicateur de ligne supérieure
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0);//calculer l'indicateur de ligne supérieure///
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,2,0);//calculer l'indicateur de ligne inférieure //
//---------------------------------------------------------------------------------------------------------------//
double slb,tpb,sls,tps ; //Variables d'entrée pour le Stop Loss et le Take Profit////
//Fonction vérifie la présence d'ordres // // // //
// //
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ; //calcul du stop pour les positions d'achat///
tpb=NormalizeDouble(Ask + (Profit*Point),Digits) ; //calcul du profit pour les positions d'achat////////////
sls=NormalizeDouble(Bid + (Loss*Point),Digits) ; //calculer le stop pour les positions de vente///.
tps=NormalizeDouble(Bid - (Profit*Point),Digits) ;
si(OrdersTotal()==0)
{
si(((verhB-nizB)<=Delta)&&(Ask==seredina))

tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE) ; //Achat d'entrée///
if(tick<0) Print("Erreur # - ",GetLastError()) ;

tick2=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE) ; //Entrée sat.
if(tick2<0) Print("Error # - ",GetLastError()) ; //écriture de l'erreur///
} // // // //
return(0);}



Dites-moi quelle est l'erreur, ça ne fait qu'ouvrir.

La signification de ce conseiller expert est qu'il mettrait deux pendentifs à une certaine distance des limites supérieure et inférieure de Bollinger.

 

et quelle est l'erreur ?

cela pourrait être parce que la valeur de Raznica est proche de la valeur du stoplevel.

et/ou la différence Raznica - Profit (Raznica - Perte) est également proche de la valeur du stoplevel...

en outre, si on normalise, on normalise tout... et on calcule correctement les niveaux d'arrêt

slb=NormalizeDouble(Bid - (Loss*Point),Digits) ; //calculer le stop pour les positions d'achat//
sls=NormalizeDouble(Ask + (Loss*Point),Digits) ; //calculer le stop pour les positions de vente//.

en outre, il convient de vérifier que les valeurs d'arrêt obtenues ne se situent pas dans la zone de stoplevale/freezelevale.

Raison: