[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 577

 
Dimka-novitsek:

Bonsoir dtxth J'ouvre un ordre d'achat, juste acheter, dans le prix il est dit asc, juste asc, et ici, il jure ainsi 2012.02.19 22:31:57 2010.08.02 01:12 Ordre EURUSD,M15 : prix invalide 1.30616000 pour la fonction OrderSend

Est-ce normal ? Puis-je y ajouter une normalisation directement dans l'ordre ?


La normalisation peut être prescrite à l'intérieur même de l'Ordonnance.
 

Bon après-midi.

Pouvez-vous me dire le code pour construire une MA pour MACD.

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

applied_price doit être égal à la valeur MACD.

 
Stells:

Bon après-midi.

Pouvez-vous me dire le code pour construire une MA pour MACD.

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

applied_price doit être égal à la valeur MACD.

Ça ne marche pas...

C'est parce que :

prix appliqué - Prix utilisé. Peut être l'une des constantes de prix.


Et les constantes de prix peuvent prendre des valeurs :

Le prix utilisé pour calculer les indicateurs peut prendre l'une des valeurs suivantes :

Constant Valeur Description
PRICE_CLOSE 0 Prix de clôture
PRICE_OPEN 1 Prix d'ouverture
PRIX_HAUT 2 Prix maximum
PRICE_LOW 3 Prix minimum
PRIX_MEDIAN 4 Prix moyen, (haut+bas)/2
PRIX_TYPIQUE 5 Prix typique, (haut+bas+clôture)/3
PRIX_PONDÉRÉ 6 Prix de clôture pondéré, (haut+bas+close+close)/4


Alors utilisez

double iMAOnArray( double array[], int total, int période, int ma_shift, int ma_method, int shift)

Calcul de la moyenne mobile sur les données stockées dans le tableau. Contrairement à iMA(...), la fonction iMAOnArray ne sélectionne pas les données en fonction du nom de l'instrument, de la période et du prix utilisés - les données de prix doivent être préparées à l'avance. Le calcul s'effectue de gauche à droite. Pour organiser l'accès aux éléments du tableau comme à des séries temporelles (c'est-à-dire de droite à gauche), utilisez la fonction ArraySetAsSeries.
Paramètres :
tableau[] - Tableau avec des données.
total - Nombre d'éléments à calculer. 0 signifie tous les éléments du tableau.
période - Période de calcul d'une moyenne mobile.
ma_shift - Décalage de l'indicateur par rapport au graphique des prix.
ma_méthode - Méthode de calcul de la moyenne. Peut être n'importe quelle valeur des méthodes de moyenne mobile.
équipe - Index de la valeur obtenue à partir du tampon de l'indicateur (décalage par rapport à la barre actuelle d'un nombre spécifié de périodes en arrière).
 
Roman.:

La normalisation peut être prescrite directement à l'intérieur de l'ordonnance.


Merci ! !! Je l'ai fait. Maintenant, je suis désolé, il ne semble pas aimer le lot, il écrit comme ça. 2012.02.20 08:16:41 2010.08.02 01:12 Testeur : PrevBalance : 500.00, PrevPL : 0.00, PrevEquity 500.00, PrevMargin : 0.00, NewMargin : 653, FreeMargin : -153.05

Il s'agit d'un compte de démonstration. Est-ce que le premier lot est un lot, désolé ????. Et quelle est la nouvelle marge, la marge libre ?

Oui, c'est ça, beaucoup à un équilibre de 1000 marches.

 
Dimka-novitsek:


Merci ! !! Je l'ai fait. Maintenant, je suis désolé, il n'a pas l'air d'aimer le terrain, il écrit comme ça. 2012.02.20 08:16:41 2010.08.02 01:12 Testeur : PrevBalance : 500.00, PrevPL : 0.00, PrevEquity 500.00, PrevMargin : 0.00, NewMargin : 653, FreeMargin : -153.05

Il s'agit d'un compte de démonstration. Est-ce qu'un lot est un lot, désolé ????. Et quelle est la nouvelle marge, la marge libre ?


La marge libre est une marge gratuite pour ouvrir un ordre avec le volume correspondant (à cette marge).

Comme " FreeMargin : -153.05 ", aucun ordre ne sera ouvert puisque cette valeur est négative.

Voir la calculatrice . Par exemple, vous pouvez entrer différentes valeurs et voir de combien de marge vous avez besoin pour une taille donnée de la position,

Pour ouvrir un lot sur l'Eurobucks, nous aurions besoin de 265 $ de marge libre avec un effet de levier de 1:500. La valeur des points est égale à 10 $.

 
Merci !!!!!! Merci beaucoup ! !!
 

Les gars, à l'aide... je suis perdu.

Voici le problème - comment garder le script sur le graphique :(

Voici un exemple de script... Il ferme toutes les transactions si la valeur totale :

nt start()
{

int i;
bool k=1;
//----

while (k==1) {

if ((AccountProfit()>=500) || (AccountProfit()<=-300))
{

for(i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if (OrderType() == OP_SELL)
OrderClose( OrderTicket(),OrderLots(), Ask, 20, 0 );
}
}



for(i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if (OrderType() == OP_BUY)
OrderClose( OrderTicket(),OrderLots(), Bid, 20, 0 );
}
}
}
k=0;
}
return(0);
}

Je veux qu'il soit suspendu jusqu'à ce que le profit du compte soit cassé dans l'une des directions (dans ce cas, 500 et -300).

 
Veuillez me conseiller sur la façon d'enregistrer une condition dans l'EA, de sorte que lorsque l'ordre est ouvert, il n' ouvre qu' un seul ordre et tant que cet ordre n'est pas fermé au niveau du stop ou du take profit, l'autre ne s'ouvre pas.
 
link1:
Veuillez me conseiller sur la façon d'enregistrer une condition dans l'EA, de sorte que lorsque l'ordre est ouvert, il n' ouvre qu' un seul ordre et tant que cet ordre n'est pas fermé au niveau du stop ou du take profit, l'autre ne s'ouvre pas.

int ticket, total; //<---забыл указать...сорри

total = OrdersTotal();
if(total < 1){

ticket=OrderSend(...);

}


 
DOCTORS:

int total;

total = OrdersTotal();
if(total < 1){

ticket=OrderSend(...);

}




Merci beaucoup ! )