[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 215

 
Top2n:

Signori, è tutto il giorno che non riesco ad avvicinarmi di un centimetro alla soluzione di questo problema.

Come implementare questo algoritmo nel codice?


C'è una condizione se il mercato è 2, allora l'ordine pendente viene cancellato?
 
ZS - se il codice non è grande... mettere tutto qui dentro... forse mi prenderò la briga di inserire queste righe....
 
Aleksander:
ZS - se il codice non è grande... mettere tutto qui dentro... forse mi prenderò la briga di inserire queste righe....

Forse non sarai troppo pigro per guardare anche il mio codice indicatore, codice postato sopra.
 
Aleksander:

quindi le era già stato detto, vero?

ordine di acquisto aperto - ricorda il biglietto di questo ordine

impostare un ordine SellStop - scrivere il biglietto dell'ordine di acquisto nel Magik di questo ordine...

---

chiamare la funzione all'inizio per controllare se l'ordine di acquisto è nel magik nel SellStops...

se non c'è un ordine di acquisto - cancella SellStop...

15 righe di codice...

Mi dispiace di essere così schietto, ma come faccio a memorizzarlo, è solo che ce n'è più di uno, forse 5 in una volta sola e dovrà essere memorizzato mentre l'EA sta lavorando.
 
Andiamo .... pubblica il tuo graal... ce ne sono 100 al giorno... Ti mostro in rosso dove metterlo e dove controllare :-)
 
//----балансир (установка ордеров)
 if (sig==0){
  x=true;
  y=true;
}
 if (sig==1 && x==true){
  ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage,0,0,   // Ask - SL * Point, Ask + TP * Point,
  "хи-хи"+ Symbol(), Magic, 0, DarkGreen);
  x=false;
  z=true;
}

//----маневр (установка отложенных ордеров)
  
 if(x==false && z==true){
  
  ticket = OrderSend(Symbol(), OP_SELLSTOP, Lots,PriceOpenLastPos(NULL,-1,-1)-(Price*Point), Slippage,0,0,  // Ask - SL * Point, Ask + TP * Point,
  "хи-хи"+ Symbol(), Magic+1, 0, DarkGreen);
  z=false;
}
Per ora ho solo il Bye))
 
Top2n:
Finora ho solo con Bai))

beh, per cominciare, aprire scambi con il loro biglietto memorizzato in magik...

sbarazzarsi dei controlli inutili... - se reale - dovremmo aggiungere un paio di secondi di pausa tra gli ordini.... per un tester - non importa.

  //----балансир (установка ордеров)
  if (sig==0){   x=true;   y=true; }
  //
  if (sig==1 && x==true){
     ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage,0,0, "хи-хи"+ Symbol(), Magic, 0, DarkGreen);
     x=false;  z=true;
     //---- wait for 3 seconds
     Sleep(3000);
     //----маневр (установка отложенных ордеров)
     // Ask - SL * Point, Ask + TP * Point,
     OrderSend(Symbol(), OP_SELLSTOP, Lots,PriceOpenLastPos(NULL,-1,-1)-(Price*Point), Slippage,0,0, "хи-хи"+ Symbol(), ticket, 0, DarkGreen);
     z=false;
  }

Anche se dovremmo sbarazzarci delle bandiere extra... da Z... se non viene usato da nessun'altra parte...

 
all'inizio - chiama la funzione per controllare se c'è un ordine di acquisto nel ciclo dell'ordine SellStop... e rimuoverlo - se non c'è un ordine di acquisto tra gli ordini aperti...
 

Domanda per gli sviluppatori:

Ho una build 427 del terminale. Ho abbozzato una piccola sceneggiatura:

datetime VremaOrdera= InitsializeRealMasterOrders();
string SSStroka;
SSStroka=StringConcatenate(TimeYear(VremaOrdera),".",TimeDay(VremaOrdera),"     ",TimeHour(VremaOrdera),":",TimeMinute(VremaOrdera),"  :",TimeSeconds(VremaOrdera));
Alert("Поступило время ордера = ",VremaOrdera," что соответствует времени ",SSStroka);

Lo script ha prodotto quanto segue:

Ma ahimè, l'ordine è aperto:

Che tipo di inconveniente è questo? Lo script ha restituito il tempo - zero ore, zero minuti e zero secondi.

 

InitsializeRealMasterOrders -- cerca un errore qui.

Ed ecco un'altra cosa - per non fare le biciclette - https://docs.mql4.com/ru/convert/timetostr