Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 10

 
Chiripaha:

Non, ce n'est pas plus facile. Parce que s'il y avait un drapeau négatif (ou une variable globale), la vérification doit quand même être exécutée. L'indicateur et la variable globale ne fonctionnent que dans le cas positif. Et certaines fonctions sont toujours nécessaires au départ (bien que ce soit différent ici).

Quelle que soit la façon dont vous le voyez, le démarrage doit toujours être exécuté de toute façon : soit en rejouant "inite", ce qui est tout aussi ennuyeux, soit en rejouant les fonctions requises.


Tu fais quelque chose de si compliqué que c'est presque impossible à comprendre...

Dites-moi, quelle est la différence entre le retour d'une valeur par une fonction, ou une variable globale qui change dans la fonction, dont le résultat doit être retourné ? Dans ce cas, "inite".

 

Chers collègues, quelle est l'erreur ?

//========================================================================================================//     
                                             //---- SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell) 
  { //----- start

if(.........)
  
{ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketSell2=OrderSend(Symbol(),OP_SELL,0.2,Bid-20*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketSell3=OrderSend(Symbol(),OP_SELL,0.4,Bid-40*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
}
 
  } //-----end
          
//========================================================================================================//  
                                             //---- BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(.........)

{ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketBuy2=OrderSend(Symbol(),OP_BUY,0.2,Ask+20*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketBuy3=OrderSend(Symbol(),OP_BUY,0.4,Ask+40*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
}

J'ai déjà vérifié sur le forum l'erreur 130/138, mais je ne comprends toujours pas pourquoi les ordres supplémentaires 2 et 3 ne s'ouvrent pas. Seulement les principaux.

 
NORMALISATION
 
Fox_RM:

Chers collègues, quelle est l'erreur ?

J'ai déjà vérifié sur le forum l'erreur 130/138, mais je ne comprends toujours pas pourquoi les ordres supplémentaires 2 et 3 ne s'ouvrent pas. Seulement les principaux.

Collègue, vous voulez ouvrir des ordres de marché, pas au prix du marché... :)
Et il n'est pas inutile de comprendre la différence entre les ordres à cours limité (SELLLIMIT et BUYLIMIT) et les ordres stop (SELLSTOP et BUYSTOP).

 
TarasBY:
Collègue, vous voulez ouvrir des ordres au marché, pas au prix du marché... :)

Et en effet
 
Bon après-midi. Il existe deux points dont les coordonnées sont (x1,y1) et (x2,y2). Comment puis-je utiliser ces deux points pour construire une fonction logarithmique avec une base de logarithme autre que naturelle ? Il semble que je doive utiliser la fonction inverse(MathPow), mais je n'arrive pas à trouver comment la rendre diagonale. Si quelqu'un y a été confronté, merci de nous en informer. Merci d'avance.
 
hoz:

Il n'y a donc pas de fin au cycle, c'est pourquoi il est au point mort.

Quelle est la bonne façon d'en finir ?
 
Chiripaha:

Non, ce n'est pas plus facile. Parce que s'il y avait un drapeau négatif (ou une variable globale), la vérification doit quand même être exécutée.

Pas toutes les mêmes.

Chiripaha:

L'indicateur et le global ne seront déclenchés que dans le cas positif. Et certaines fonctions sont toujours nécessaires dans Start (bien que ce soit différent ici).

S'il y a une rupture de connexion ou quelque chose comme ça, le drapeau prendra une signification différente. Vous devez décider comment créer les bonnes conditions pour cela.
 
Krokus:

Quelle est la bonne façon d'en finir ?
Ça donne quelque chose comme ça :
int i, countedBars = IndicatorCounted();
        
    for(i = Bars - countedBars;i > 0;i--)
    {
      pointOfMaFirst = iMA(Symbol(),maTF,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack1);
      pointOfMaLast = iMA(Symbol(),0,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack2);    
    }
 
TarasBY:

Collègue, vous voulez ouvrir des ordres au marché, pas au prix du marché... :)
Il serait également utile de comprendre la différence entre les ordres à cours limité (SELLLIMIT et BUYLIMIT) et les ordres stop (SELLSTOP et BUYSTOP).


Puis-je vous demander ce que vous entendez par "pas au prix du marché" ? Avec SELLLIMIT et BUYLIMIT, tout est correct.
Raison: