La logique est boiteuse, tout est là, les deux tableaux pour les tickets et les types de commande. Seulement, il n'est pas rempli lorsque les ordres sont ouverts, et le tableau est mis à zéro dans la fonction TicketLimit pour une raison quelconque. À première vue, ça y ressemble.
C'est comme les échecs ? Il nous manque un coup. Je vais essayer de l'analyser. Merci, Valery.
Comme aux échecs ? Il manque un mouvement. Je vais essayer de donner un sens à tout ça. Merci, Valery.
в глобальной области
int ind=0, Ind=0;
......
if(ParSar>MaxClose&&chekt==1){
ticket=_OrderSend(NULL,OP_BUYSTOP,0.01,MaxClose+(spread*Point()),0);
ind++;
_Tacket[ind]=ticket; Ind=ind;
}
}
if(MinClose!=0){
if(ParSar<MinClose&&chekt==1){
_price= NormalizeDouble( MinClose-(spread*Point()),Digits);
ticket=_OrderSend(NULL,OP_SELLSTOP,0.01,_price,0);
ind++;
_Tacket[ind]=ticket; Ind=ind;
........
for(i=Ind,i<1,Ind--) // вместо Ind OrderTotal правильнее, если есть и другие ордера в терминале
{OrderSelect( _Tacket[i], SELECT_BY_TICKET )
проверки и действия
}
// Здесь запомнить тикет в массив _тикет и тип ордера тоже и запомнить последний индекс массива!!!
//А потом в Ордер селект подставлять значение массива _тикет) Цикл по индексу массива _тикет от 1 до последнего индекса.
La logique est boiteuse, tout est là, les deux tableaux pour les tickets et les types de commande. Seulement, il n'est pas rempli lorsque les ordres sont ouverts, et le tableau est mis à zéro dans la fonction TicketLimit pour une raison quelconque. À première vue, ça y ressemble.
C'est comme les échecs ? Il nous manque un coup. Je vais essayer de l'analyser. Merci, Valery.
Comment faire pour que les statistiques de la barre soient correctes ?
Je l'ai fait, le nombre compte correctement, mais lorsque j'essaie d'utiliser les données, j'obtiens "0".
Il existe peut-être un moyen normal, mais je "réinvente la roue").
Veuillez me conseiller.
Comment faire pour que les statistiques de la barre soient correctes ?
Je l'ai fait, le nombre compte correctement, mais lorsque j'essaie d'utiliser les données, j'obtiens "0".
Il existe peut-être un moyen normal, mais je "réinvente la roue").
Veuillez me conseiller.
Il semble que vous ayez toutes les variables int et que le résultat de la division soit inférieur à 0. Par conséquent, 0 ;
Essayez-le :
Comme aux échecs ? Il manque un mouvement. Je vais essayer de donner un sens à tout ça. Merci, Valery.
Il semble que vous ayez toutes les variables int et que le résultat de la division soit inférieur à 0. Par conséquent, 0 ;
Essayez-le :
Pouvez-vous me dire s'il existe une fonction qui simplifie cette définition pour l'ouverture d'une commande ?
L'idée est qu'un ordre n'est pas ouvert si le prix n'est pas compris dans cette fourchette.Pouvez-vous me dire s'il existe une fonction qui simplifie cette définition pour l'ouverture d'une commande ?
L'idée est qu'un ordre n'est pas ouvert si le prix ne tombe pas dans cette fourchette.Dessinez-le sur le papier.
OpenPrice _________________________
Offre _________________________
OpenPrice-10*_Point________________________
Sur l'image, vous pouvez voir que le rapport OpenPrice - Bid ne doit pas être supérieur à 10*_Point.
Eh bien, dessine-le sur papier.
OpenPrice _________________________
Offre _________________________
OpenPrice-10*_Point________________________
Sur l'image, vous pouvez voir que le rapport OpenPrice - Bid ne doit pas être supérieur à 10*_Point.
différence entre les modules. Sans module, seule la zone supérieure entre dans la condition. | OpenPrice - Bid |> 10*_Point condition d'ouverture
Eh bien, dessine-le sur le papier.
OpenPrice _________________________
Offre _________________________
OpenPrice-10*_Point________________________
Sur l'image, vous pouvez voir que le rapport OpenPrice - Bid ne doit pas être supérieur à 10*_Point.
Vous me surprenez.