[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 348

 

No, ho solo bisogno di

OrderSend("EURUSD", OP_BUY,0.1,Ask,0,Ask-400*Point,Ask+100*Point);

Stop è stato scritto correttamente solo per Bai.

Per le Baie, sono nell'altra direzione segni SL + su, TP - giù.

e si raccomanda anche di normalizzare tutti i prezzi calcolati con segni di cifre prima di passarli in OrderSend

NormalizeDouble(Ask-100*Point, Digits)

 
-Viktoria-:
...un indicatore che evidenzia certi periodi di tempo a colori...
i-Sessioni-02.mq4
 
Grazie mille!!! :)
 
Roger:


Potete fare quanto segue: dichiarare una matrice bidimensionale, trasferirvi la quantità di dati richiesta dalla serie, poi ordinarla per la prima dimensione. Nella seconda dimensione ci saranno i numeri delle barre. Per illustrare, vedere come funziona con un esempio

Non capisco una cosa.

Dichiarare i sub come:

double a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;

Inizializza i volumi e li inserisce in un array:

int start() {

a1=Volume[1],
a2=Volume[2],
a3=Volume[3],
a4=Volume[4],
a5=Volume[5],
a6=Volume[6],
a7=Volume[7],
a8=Volume[8],
a9=Volume[9],
a10=Volume[10];

int mas1[10]={a1,a2,a3,a4,a5,a6,a7,a8,a9,a10}; //Вот здесь компилятор что-то хочет в конце строки
int mas2[10][2];


In fase di compilazione un errore - attesa la virgola o il punto e virgola

Può dirmi cosa vuole?

 
sergeev:

No, ho solo bisogno di

OrderSend("EURUSD", OP_BUY,0.1,Ask,0,Ask-400*Point,Ask+100*Point);

Non potete farlo, nel qual caso l'Ask prenderà il posto dell'orario. Deve essere

double newAsk = MarketInfo("EURUSD",MODE_ASK);
OrderSend("EURUSD", OP_BUY,0.1,newAsk,0,newAsk-400*Point,newAsk+100*Point);
 
-xlapex-:

Non capisco una cosa.

Non potete dichiarare gli array in questo modo, e non ce n'è bisogno nel vostro caso, avete già un array Volume, quindi inseritelo nel ciclo con l'indice appropriato, da qualche parte come questo:

mas2[i,0]=Volume[i];

 
Roger:

Non potete dichiarare gli array in questo modo, e non ce n'è bisogno nel vostro caso, avete già un array Volume, quindi inseritelo nel ciclo con l'indice appropriato, da qualche parte come questo:

mas2[i,0]=Volume[i];

Grazie mille Roger, finalmente ho capito come fare!
 
Roger:

Non potete dichiarare gli array in questo modo, e non ce n'è bisogno nel vostro caso, avete già un array Volume, quindi inseritelo nel ciclo con l'indice appropriato, da qualche parte come questo:

mas2[i,0]=Volume[i];

Un'altra domanda sullo stesso argomento.

Dopo l'ordinamento, mostro i dati degli array nell'avviso:

ArraySort(mas2);
min_2=mas2[2,0];
min_V2=mas2[2,1];
Alert(min_2," ",min_V2," ", High[min_V2]);

Tutto viene visualizzato bene.

MA, se provo ad emettere un grafico - nessuna reazione! :

ArraySort(mas2);
min_1=mas2[1,0];
min_V1=mas2[1,1];
min_2=mas2[2,0];
min_V2=mas2[2,1];

ObjectCreate("", OBJ_HLINE,0,0,High[min_V2]);
ObjectSet("", OBJPROP_COLOR,Ex_col_1);
ObjectSet("", OBJPROP_STYLE, 0);
ObjectSet("", OBJPROP_WIDTH , 2);



Cosa devo fare?

 
-xlapex-:

Un'altra domanda sullo stesso argomento. Cosa si dovrebbe fare?

рабочий пример:

void create_line(string name_line,double level,color c,int style,int w){
   if(ObjectFind(name_line)<0 ) {
   
  ObjectCreate(name_line, OBJ_HLINE, 0, 0,0);
  ObjectSet(name_line, OBJPROP_PRICE1, level);
  ObjectSet(name_line, OBJPROP_COLOR , c);
  ObjectSet(name_line, OBJPROP_STYLE , style);
  ObjectSet(name_line, OBJPROP_WIDTH , w);
   WindowRedraw();      }  
   
   else {
  ObjectMove(name_line,0,Time[1],level);  
  WindowRedraw();      } 
                  } 
 
To:

Ho provato anche in questo modo, ma non vuole disegnare. Per qualche ragione, il terminale non riconosce la coordinata PRICE del mio tipo - High[min_V2], dove min_V2 è un elemento dell'array. Non riesco a capire come visualizzare un elemento dell'array non come Print, Message o Alert, ma come qualche oggetto su un grafico. E questo non è il primo esempio che incontro - ho un problema con gli array...