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

 
splxgf >> :

l'ordine pendente è posizionato in una linea, la domanda è a quale distanza?

vendere limite di 30 pip al rialzo dal prezzo corrente

comprare il limite di 30 pip al ribasso rispetto al prezzo attuale

 

LIM. ORDINE

extern int     Magic = 20011;
extern double  Lot=0.1;
extern int     sl    =50;     // Размер фиксированного стопа
extern int     tp  =40;    // Размер фиксированного тэйка
extern int     Шаг =30;   //расстояние от текущ. цены
double ld_Stop=0, ld_Take=0;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//-----------------------------
int start()
{
//-------------------------------------------------
if( NumberOfOrders(NULL,OP_SELLLIMIT, Magic)<1 )  {//ЕСЛИ НЕТ СЕЛЛЛИМИТА
    if ( sl!=0) ld_Stop=Ask+ sl*Point;
    if ( tp!=0) ld_Take=Ask- tp*Point;    
    OrderSend(Symbol(),OP_SELLLIMIT, Lot,Bid+ Шаг*Point,3, ld_Stop,
                                              ld_Take_"", Magic,0,Red);  
    if( ticket<0){Print("Ошибка установки ордера SELLLIMIT ",
                                          GetLastError());return(0);} 
                                                }
//----------------------------------------------------
if( NumberOfOrders(NULL,OP_BUYLIMIT, Magic)<1 )  {//ЕСЛИ НЕТ БАЙЛИМИТА 
    if ( sl!=0) ld_Stop=Bid- sl*Point;
    if ( tp!=0) ld_Take=Ask+ tp*Point;
    OrderSend(Symbol(),OP_BUYLIMIT, Lot,Ask- Шаг*Point,3, ld_Stop,
                                                ld_Take,"", Magic,0,Blue);
    if( ticket<0){Print("Ошибка установки ордера BUYLIMIT ",
                                              GetLastError());return(0);} 
                                                }
  return(0);//конец ф-и СТАРТ
}
//========================================================
//------- ф-я Возвращает количество ордеров---
int NumberOfOrders(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), ko=0, ot; if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) {
      ot=OrderType();
      if ( ot>1 && ot<6) {
        if ((OrderSymbol()== sy || sy=="") && ( op<0 || ot== op)) {
          if ( mn<0 || OrderMagicNumber()== mn) ko++;
        }}}}  return( ko);}                        
 
 
rid писал(а) >>

Dio non voglia che si usi questo trucco per aprire delle posizioni! Funziona correttamente solo nel tester!

E online, più della metà dei segnali di entrata saranno ignorati...

Grazie, ne terrò conto.

A proposito, una domanda a un professionista. Volevo controllare qualcosa, e mentre campionavo dalla storia (a ore 1) ho notato che i valori sopra le mille barre non danno: fino a 1000 ottengo valori, e da 1001 - 0. L'archivio delle citazioni è molto carico. A cosa può essere collegato?

 
Odin_Takoy писал(а) >>

Grazie, lo terrò presente.

A proposito, una domanda per i professionisti. Volevo controllare una cosa e campionando dalla storia (sulla lancetta delle ore) ho notato che il valore non è superiore a 1000 barre: ottengo valori fino a 1000, mentre da 1001 restituisce 0. L'archivio delle citazioni è molto carico. Quale può essere la ragione?

Quando si lavora con il tester o l'ottimizzatore, sono disponibili solo 1000 barre. Questa è una restrizione imposta dagli sviluppatori.

 
Vinin писал(а) >>

Solo 1000 bar sono disponibili quando si lavora con il tester o l'ottimizzatore. Questa è una restrizione imposta dagli sviluppatori.

Come posso aggirare questa restrizione, se non voglio essere online per settimane?

 
Odin_Takoy писал(а) >>

Per evitare di essere online per settimane, c'è un modo per aggirare questa restrizione?

In realtà, l'idea è di mettere le citazioni in un file e recuperarle da lì.

 
Odin_Takoy писал(а) >>

Per evitare di essere online per settimane, c'è un modo per aggirare questa restrizione?

La restrizione si applica solo al tester e all'ottimizzatore. Quando si lavora nelle impostazioni del terminale, si specifica il numero di barre da visualizzare.

Per aggirare le restrizioni nello Strategy Tester, dovreste fornire un flag nell'Expert Advisor che permetta di negoziare quando viene raggiunta la profondità della storia specificata. In questo caso sarà necessario avviare l'Expert Advisor da una data precedente.

 
Vinin писал(а) >>

La restrizione si applica solo al tester e all'ottimizzatore. Quando si lavora nelle impostazioni del terminale, si specifica il numero di barre da visualizzare.

Per bypassare la limitazione nel tester, abbiamo bisogno di fornire nell'Expert Advisor il flag che permette di fare trading quando la profondità della storia specificata viene raggiunta. Allora dovrete eseguire l'Expert Advisor da una data precedente.

La mia comprensione è la seguente. Lanciamo l'Expert Advisor con una grande profondità di storia. Le citazioni sono salvate in array. E al momento giusto ci rivolgiamo agli array formati per l'analisi.

Grazie, Victor.

Guardo il tuo tempo - sei un vero gufo (scherzo).

 
Odin_Takoy писал(а) >>

Vedo che sei un po' un gufo (scherzo).

Sono un'allodola. Sono un +2 da Mosca.

 

Ciao come implementare: bisogno ad una certa ora sul prezzo di chiusura per disegnare due linee dal prezzo, una più alta e una più bassa, diciamo che il prezzo di 1,4784 linea è stata disegnata a 1,4800, e la seconda 1,4750 per finire a 50 e 00 e alla rottura della linea, impostare un ordine pendente con un profitto ????????????????

Motivazione: