Bonjour, s'il vous plaît aidez-moi avec l'erreur qui se produit dans le testeur quand j'essaie de modifier un ordre (transfert à Breakeven) : j'ai mis la fonction OrderOpenPrice() au lieu de SL, mais le testeur montre error1 (selon la documentation cela signifie qu'il y a une tentative de passer desvaleurs inchangées comme paramètres à la fonction). Je joins le code ! Merci d'avance !
void DeleteOrderFunction2() //fonction qui supprime le deuxième ordre en attente et sauvegarde le deuxième ordre au seuil de rentabilité un certain soir.
{
bool flag = false ;
si (FlagDeleteSecondOrder2 == true)
{
if(DayOfWeek() == DAYOFWEEK && //si un jour de semaine est sélectionné
Supposons que OP_BUY est le premier ordre rencontré parmi les ordres, vous le modifiez et mettez le drapeau =vrai et quand il est rencontré, l'ordre en attente sera supprimé. Et voyez ce qui se passe si l'ordre en attente est rencontré en premier...
double buf_1[];
double buf_2[];
//+------------------------------------------------------------------+//| Функция инициализации, запускается один раз |//+------------------------------------------------------------------+int init()
{
SetIndexBuffer(0,buf_1);
SetIndexBuffer(1,buf_2);
SetIndexStyle (0,DRAW_ARROW, STYLE_SOLID, 1);
SetIndexStyle (1,DRAW_ARROW, STYLE_SOLID, 1);
SetIndexArrow (0,233);
SetIndexArrow (1,234);
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
return(0);
}
//+------------------------------------------------------------------+//| Основная Функция, запускается на каждом тике |//+------------------------------------------------------------------+int start()
{
if (Bars <= 100) return(0);
int ExtCountedBars = IndicatorCounted();
if (ExtCountedBars < 0) return(-1);
if (ExtCountedBars > 0) ExtCountedBars--;
for (int i=Bars-ExtCountedBars-1; i>=0; i--)
{
if (High [i+2] == High[i+3])
bool DOWN = High[i+1]== High[i+2];
if (Low [i+2] == Low [i+3])
bool UP = Low[i+1]==Low[i+2] ;
if (UP) buf_1[i+1] = Low[i+1]-3*Point;
if (DOWN) buf_2[i+1] = High[i+1]+3*Point;
}
return(0);
}
// ---- end
Si iHigh(NULL,PERIOD_H1,[i+2]) et iLow(NULL,PERIOD_H1,[i+2]) sont écrits à la place deHigh [i+2] etLow[i+1], alors vous pouvez contrôler la période de temps ?
Si iHigh(NULL,PERIOD_H1,[i+2]) et iLow(NULL,PERIOD_H1,[i+2]) sont écrits à la place deHigh [i+2] etLow[i+1], alors vous pouvez contrôler la période de temps ?
dans mql5 nous avons des positions ouvertes, je trouve toutes les transactions dans cette position et détermine si elles ont été ouvertes par des ordres au marché ou en attente.
dans mql4, comment puis-je savoir si les ordres ouverts ont été ouverts par le marché ou par des ordres en attente et si leur ticker change lorsqu'un ordre en attente se déclenche ?
dans mql5 nous avons des positions ouvertes, je trouve toutes les transactions dans cette position et détermine si elles ont été ouvertes par des ordres au marché ou en attente.
dans mql4, comment puis-je savoir si les ordres ouverts ont été ouverts par le marché ou par des ordres en attente et si leur ticker change lorsqu'un ordre en attente se déclenche ?
La question est de savoir ce qui va "charger plus" : à chaque InChartEvent défini, redéfinir le handle de l'indicateur ou définir tous les handles possibles comme un tableau au préalable dans OnInit ?
Roman Sharanov: La question est de savoir ce qui va "charger plus" : à chaque InChartEvent défini, redéfinir le handle de l'indicateur ou définir au préalable tous les handles possibles comme un tableau dans OnInit ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Bonjour, s'il vous plaît aidez-moi avec l'erreur qui se produit dans le testeur quand j'essaie de modifier un ordre (transfert à Breakeven) : j'ai mis la fonction OrderOpenPrice() au lieu de SL, mais le testeur montre error1 (selon la documentation cela signifie qu'il y a une tentative de passer desvaleurs inchangées comme paramètres à la fonction). Je joins le code ! Merci d'avance !
void DeleteOrderFunction2() //fonction qui supprime le deuxième ordre en attente et sauvegarde le deuxième ordre au seuil de rentabilité un certain soir.
{
bool flag = false ;
si (FlagDeleteSecondOrder2 == true)
{
if(DayOfWeek() == DAYOFWEEK && //si un jour de semaine est sélectionné
Hour() == 22 //si c'est le soir
)
{
if(BuyCount() == 1 && if(il y a un ordre d'achat en cours)
SellStopCount() == 1 //et il y a un ordre de vente en attente.
)
{
for( int i = 0 ; i < OrdersTotal() ; i++) //créer des commandes
{
OrderSelectX(i, SELECT_BY_POS, MODE_TRADES ;)
switch(OrderType())
{
cas OP_BUY : if(OrderProfit() > 0 &&
Bid > OrderOpenPrice()
)
{
OrderModifyX(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),0,Arrow_Color) ;
drapeau =vrai ;
}
pause ;
cas OP_SELLSTOP : if(flag==true)
{
OrderDeleteX(OrderTicket(), Arrow_Color) ;
}
pause ;
}
}
}
if(SellCount() == 1 && // s'il y a un ordre de vente ouvert
BuyStopCount() == 1 //et il y a un ordre d'achat en attente.
)
{ Print("IS !!!!") ;
for( int i = 0 ; i < OrdersTotal() ; i++) //créer des commandes
{
OrderSelectX(i, SELECT_BY_POS, MODE_TRADES ;)
switch(OrderType())
{
cas OP_SELL : si (OrderProfit() > 0 &&
Ask < OrderOpenPrice()
)
{
OrderModifyX(OrderTicket(), OrderOpenPrice(),OrderTakeProfit(),0, Arrow_Color) ;
flag = true;Print("flag =", flag) ;
}
pause ;
cas OP_BUYSTOP : if(flag == true)
{
Print("flag =", flag) ;
OrderDeleteX(OrderTicket(), Arrow_Color) ;
}
pause ;
}
}
}
}
}
}
Aidez-moi à convertir l'indicateur en un script !
Si iHigh(NULL,PERIOD_H1,[i+2]) et iLow(NULL,PERIOD_H1,[i+2]) sont écrits à la place deHigh [i+2] etLow[i+1], alors vous pouvez contrôler la période de temps ?
Si Hai est assorti VENDRE, si Loh ACHETER !
Aidez-moi à convertir l'indicateur en un script !
Si iHigh(NULL,PERIOD_H1,[i+2]) et iLow(NULL,PERIOD_H1,[i+2]) sont écrits à la place deHigh [i+2] etLow[i+1], alors vous pouvez contrôler la période de temps ?
Si Hai est assorti VENDRE, si Loh ACHETER !
trois coïncidences devront attendre longtemps
les trois coups devront attendre longtemps.
Je ne suis pas un scalper, je vais attendre. On peut normaliser sur les 4 chiffres.
dans mql5 nous avons des positions ouvertes, je trouve toutes les transactions dans cette position et détermine si elles ont été ouvertes par des ordres au marché ou en attente.
dans mql4, comment puis-je savoir si les ordres ouverts ont été ouverts par le marché ou par des ordres en attente et si leur ticker change lorsqu'un ordre en attente se déclenche ?
Oui et le résultat est faible ...
dans mql5 nous avons des positions ouvertes, je trouve toutes les transactions dans cette position et détermine si elles ont été ouvertes par des ordres au marché ou en attente.
dans mql4, comment puis-je savoir si les ordres ouverts ont été ouverts par le marché ou par des ordres en attente et si leur ticker change lorsqu'un ordre en attente se déclenche ?
leur donner des magies différentes
leur donner des magies différentes
Les commandes sont ouvertes par un utilisateur, je dois définir leur type lorsqu'elles sont ouvertes.
La question est de savoir ce qui va "charger plus" : à chaque InChartEvent défini, redéfinir le handle de l'indicateur ou définir au préalable tous les handles possibles comme un tableau dans OnInit ?