[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 65

 
Macros:

Bonjour à tous ! Aidez-moi si c'est possible de refaire ce script ? Je veux que les positions s'ouvrent à la fermeture d'une bougie en dessous ou au-dessus de la ligne. Peut-être un script séparé à ajouter ?



Faites sur l'ouverture de la bougie. Vous pouvez trouver de nombreux exemples. Vous pouvez commencer avec FAC
 
lottamer:

C'est quoi un temps mort ? C'est pas du football ! :)

Si je comprends bien, le temps est écoulé.
 
lottamer:

n'a pas fonctionné.

Eh bien, si ça n'a pas marché... IL EST ÉVIDENT QU'IL Y A TOUJOURS UNE ERREUR, C'EST POUR ÇA QU'IL Y A 6 GIGAS.
 
Vinin:

Faites par l'ouverture de la bougie. De nombreux exemples peuvent être trouvés. Vous pouvez commencer par le FAC.

Oui, faisons l'ouverture, en langage clair si possible. J'en ai assez...
 
Macros:

Oui, reprenons l'ouverture, en langage clair si vous le pouvez. J'en ai assez d'être un emmerdeur...

Ce n'est pas la meilleure option, mais c'est le dernier message de la page.
 
Sepulca:

Eh bien, si ça n'a pas marché... EH BIEN, ÉVIDEMMENT A<0 TOUT LE TEMPS C'EST POURQUOI IL A IMPRIMÉ 6 GIGAS.

et <0 est la lecture de l'indicateur.... peut être constante de 10 à 20 minutes.... puis ça change... comme le croisement des moyennes.
 

Bonsoir ! J'ai déclaré 2 tableaux dynamiques (c'est ce qu'il semble), et je n'arrive pas à assigner une valeur aux éléments du tableau, les imprimantes affichent zéro.

int Buy[];int Sell[];

int start()
  {
//----
    if (!PozyProstavleny){ 
   
           Price= (Ask+Dist*Point) ; TP_BUY=(Price+TP*Point);  SL_BUY= (Price- SL*Point);
           Price_SELL= (Bid-Dist*Point) ;  TP_SELL=Price_SELL-TP*Point;  SL_SELL=Price_SELL+SL*Point; 
           
   for(int Raz1=0;Raz1<Raz;Raz1++){Print ("Raz1",Raz1);
   
           Sleep(2000); RefreshRates();  for(int A=25;A>=0;A--){if(IsTradeAllowed())break;if(A==0)
           Comment(" эксперту не разрешено торговать или поток для выполнения торговых операций занят "); }           
  tyccBuy= OrderSend (Symbol( ), OP_BUYSTOP,  Lot ,NormalizeDouble(Price, Digits), 5, NormalizeDouble( SL_BUY,Digits), 
           NormalizeDouble( TP_BUY,Digits), NULL, 450, 0, CLR_NONE);
   Buy[Raz1]= tyccBuy;Print ("Buy[Raz1]",Buy[Raz1]," tyccBuy",tyccBuy);
           Price= (Price+Dist*Point) ; TP_BUY= (Price+TP*Point); SL_BUY= (Price- SL*Point);
           Error=GetLastError();
     if (Error!=0){ string errorcomment = "Ошибка открытия ордера байстоп  "  + " " + Symbol() +  " " + ErrorDescript(Error); 
           Print (errorcomment);}
           
           Sleep(2000); RefreshRates();  for( A=25;A>=0;A--){if(IsTradeAllowed())break;if(A==0)
           Comment(" эксперту не разрешено торговать или поток для выполнения торговых операций занят "); }        
           Sell[Raz1]=OrderSend (Symbol( ), OP_SELLSTOP,  Lot ,NormalizeDouble(Price_SELL, Digits), 5,
           NormalizeDouble( SL_SELL,Digits),   NormalizeDouble( TP_SELL,Digits), NULL, 450, 0, CLR_NONE);
     Price_SELL= (Price_SELL -Dist*Point) ;TP_SELL=Price_SELL-TP*Point;   SL_SELL=Price_SELL+SL*Point;
            Error=GetLastError();if (Error==0)
            
            {errorcomment = "Ошибка открытия ордера селлстоп  "  + " " + Symbol() +  " " + ErrorDescript(Error); 
        Print (errorcomment);} Print ("for1");PozyProstavleny=1; 
                       }
                       }   
                        

         
             

//----
 

Wearwolf GBPUSD,Daily : Acheter [Raz1]0 tyccBuy9

.........

Wearwolf GBPUSD,Quotidien : Achat[0]0 Achat[1]0 Achat[2]0 Achat[3]0


 
lottamer:

et <0 est la lecture de l'indicateur.... peut être constante de 10 à 20 minutes.... puis ça change... comme le croisement des moyennes.


Tout d'abord, il est tout à fait réaliste d'entasser 6 gigas en dix minutes. Il s'avère qu'à chaque fois que l'on imprime une coche, pourquoi en avoir besoin ?

Et deuxièmement, êtes-vous sûr que ça change ?

Il faut mettre une sorte de sémaphore pour que ça s'imprime une fois...

if ()  {buy}

else { ЕЩЕ_НЕ_ПЕЧАТАЛИ=true; 
 while (a<0) {if(ЕЩЕ_НЕ_ПЕЧАТАЛИ) {print ...; ЕЩЕ_НЕ_ПЕЧАТАЛИ=false;}    a=вычисление_нового_а;}
 ЕЩЕ_НЕ_ПЕЧАТАЛИ=true;
if (...) ... 
quelque part comme ceci....
 
Encore une fois... int Buy[] ; Est-ce un tableau dynamique? Je veux dire qu'il contiendra autant d'éléments que je définirai plus tard ?
Raison: