[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 652

 
wenay:

Compito: devi trovare il segno di spunta di un ordine appena apparso per questo particolare TS senza usare una magia .
Controllare il tempo di apertura dell 'ordine ed estrarre quello aperto per ultimo in base al tempo
 
sanyooooook:
Controlla gli orari di apertura degli ordini e tira fuori quello che è stato aperto per ultimo


Ecco cosa ho pensato: basta confrontare tutti i parametri, c'è una società di intermediazione dove il nuovo ordine sarà l'ultimo, ci sono quelli dove il momento di apertura coincide con un ordine di chiusura parziale, quindi elaborerò 2 momenti.

Credo che la questione sia chiusa. Grazie

 
ToLik_SRGV:
Molte grazie, non sono riuscito a trovare un tale articolo sul forum, se davvero non ci sono tali informazioni, penso che varrebbe la pena aggiungerlo ai moderatori nella sezione pertinente
 

Come si può implementare l'iscrizione nell'angolo superiore destro:

se (naklon> naklonmax) printvuglusprv(" tendenza verso l'alto, nessun corto circuito permesso)

 
Craft:

Brava gente, abbiate pietà - non posso ottenere: comprare/vendere dopo un altro picco di CCI lisciato.

Ho provato a dichiarare il secondo buffer (ha più senso per me), nessun errore, log - silenzioso, stampa, probabilmente come una capra - non capisco niente.

L'allegato contiene l'intero Expert Advisor. Dopo aver testato in visualizzazione, il CCI viene disegnato sia in questa che nella vecchia versione (il file allegato è tracciato), ma quello lisciato no e quindi i trade non vengono aperti.

Vecchia variante:

Capisco il tempo che nessuno ha il problema degli altri da risolvere, ditemi almeno dove esattamente inserire Print e dove cercare il feedback nel diario o nei log e a cosa bisogna prestare attenzione.

Dovete prima inserire Print() qui:

double c1s[];
   ArrayResize(c1s,PeriodS);
   double c1s_1[];
   ArrayResize(c1s_1,AvgS);
   for(i=1;i<=PeriodS;i++)
   {
   c1s[i]=iCCI(NULL,0,PeriodS,PRICE_TYPICAL,i);
   {
   c1s_1[i]=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i);
   }
   }

Print("NormalizeDouble(c1b_1[i],4) - ",NormalizeDouble(c1b_1[i],4));
Print("NormalizeDouble(c1b_1[i+2],4) - ",NormalizeDouble(c1b_1[i+2],4));
Print("NormalizeDouble(c1b_1[i+3],4) - ",NormalizeDouble(c1b_1[i+3],4));

if (NormalizeDouble(c1b_1[i],4)<NormalizeDouble(c1b_1[i+2],4)&&NormalizeDouble(c1b_1[i+2],4)>NormalizeDouble(c1b_1[i+3],4))
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
per assicurarsi che l'array c1b_1[i] sia vuoto, in modo da confrontare gli zeri se, ovviamente, nessun affare è aperto.

E zeri lì perché il periodo di mediazione nella funzione iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i) (extern int AvgB=25;) è più grande dell'array c1b stesso , ArrayResize(c1b,PeriodB ) (extern int PeriodB=20;), quindi non può mediare nulla.

 
Rossi:

Come si può implementare l'iscrizione nell'angolo superiore destro:

se (naklon> naklonmax) printvuglusprv(" tendenza verso l'alto, nessun corto circuito permesso)

int init()
  {
   if(!ObjectCreate("control", OBJ_LABEL, 0, 0, 0))Print("error: can't create text_object! code #",GetLastError());
      else{
            ObjectSet("control", OBJPROP_CORNER, 0 );
            ObjectSet("control",OBJPROP_XDISTANCE,30);
            ObjectSet("control",OBJPROP_YDISTANCE,40);
            ObjectSetText("control", "NO BUY", 18, "Times New Roman", Red);
           }
   return(0);
  }

int start()
  {
if ( naklon> naklonmax )  ObjectSetText("control", "тренд вверх, шорт запрещен", 18, "Times New Roman", Blue);


return(0);
}
Le parentesi non controllano
 
IgorM:
contare le parentesi non ha controllato

Deinit dovrebbe pulire la finestra 0 dopo per spazzarla... :)
 
IgorM:
contare le parentesi non ha controllato.


Grazie, ho fatto un casino, non voglio una stampa, voglio una scritta sullo schermo ...

Pensavo fosse fatto in una sola riga...

 

Nell'indicatore Indexes_v8L ho cambiato le valute

"AUDUSD", "EURUSD", "GBPUSD", "NZDUSD", "USDCAD", "USDCHF", "USDJPY"

a

"EURUSD", "EURGBP", "EURGBP", "EURJPY", "EURAUD", "EURCAD", "EURNZD"

La linea GBP è scomparsa.

Dove scavare?

File:
 
Rossi:


Grazie, ho fatto un casino, non voglio una stampa, voglio una didascalia sullo schermo ...

Pensavo fosse una sola linea...

Ti è stato detto come fare le scritte sullo schermo:

if ( naklon> naklonmax )  ObjectSetText("control", "тренд вверх, шорт запрещен", 18, "Times New Roman", Blue);

18 - dimensione del carattere, Times New Roman - nome del carattere, Blu - il colore della tua iscrizione... Scrivi i tuoi valori invece...

Tutte le altre linee sono la preparazione di oggetti grafici per la loro visualizzazione sullo schermo. Non si può fare nulla senza.

ObjectSet("control", OBJPROP_CORNER, 1 );  // Устанавливает в каком углу окна будет выводиться надпись 0 = лево-верх, 1 = право-верх, 2 и 3 низ
ObjectSet("control",OBJPROP_XDISTANCE,30); // Устанавливает координату X будущей надписи
ObjectSet("control",OBJPROP_YDISTANCE,40); // Устанавливает координату Y будущей надписи
ObjectSetText("control", "NO BUY", 18, "Times New Roman", Red); // Эту строку в init() можете не писать, тогда не будет сразу надписи NO BUY
                                                                // Далее, уже по ходу основной программы в ф-ции start() проверяете условия и
                                                                // при их выполнении выводите строку в уже заранее заданные координаты:
if ( naklon> naklonmax )  ObjectSetText("control", "тренд вверх, шорт запрещен", 18, "Times New Roman", Blue);
 

Oppure scrivi Comment` in alto a sinistra. Bisogna pensare meno lì...