Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 830

 
Artyom Trishkin:

In questo caso, non è "meglio", è esattamente ciò di cui avete bisogno - è una classe wrapper per funzioni commerciali standard. Non memorizza più maghi. Quindi ha bisogno di impostare un magik ogni volta prima e quando deve aprire una posizione con un nuovo magik.

Generalmente la sequenza è la seguente:

  • le posizioni dovrebbero essere aperte con magic 1 - impostiamo magic 1 e le posizioni successive avranno magic 1,
  • è necessario aprire le posizioni con un Mago 2 - impostiamo Mago 2 e tutte le posizioni seguenti avranno un Mago 2,
  • è necessario aprire posizioni con magic 3 - imposteremo magic 3 e ogni posizione successiva avrà magic 3,

ecc...

La ragione per cui la metto in questo modo è che alcune persone possono avere un'opinione diversa e funziona anche.

 
Artyom Trishkin:

In questo caso, non è "meglio", è esattamente ciò di cui avete bisogno - è una classe wrapper per funzioni commerciali standard. Non memorizza più maghi. Pertanto, ha bisogno di impostare un magik ogni volta prima e quando deve aprire una posizione con un nuovo magik.

Generalmente la sequenza è la seguente:

  • le posizioni dovrebbero essere aperte con magic 1 - impostiamo magic 1 e le posizioni successive avranno magic 1,
  • è necessario aprire le posizioni con un Mago 2 - impostiamo Mago 2 e tutte le posizioni seguenti avranno un Mago 2,
  • è necessario aprire posizioni con magic 3 - imposteremo magic 3 e ogni posizione successiva avrà magic 3,

ecc...

Era così:

if(BuyCount()>0)
        {
         Print("Уже есть позиция на покупку !!!");
         return; // не добавлять к открытой позиции на покупку
        }
         SL=NormalizeDouble(latest_price.ask - STP*_Point,_Digits);
         TP=NormalizeDouble(latest_price.ask + TKP*_Point,_Digits);
         m_trade.SetExpertMagicNumber(Magic);
         m_trade.Buy(lots1,_Symbol,0,SL,TP,"Lag-MA_IAMA(conversely)_2.5.6.7 + 2");
         m_position.Select(_Symbol);
           {
            ulong myMagic=m_position.Magic();
            Print(" Открыта поза Бай с магиком № ",myMagic,", И спредом ",SymbolInfoInteger(_Symbol,SYMBOL_SPREAD));
           }

m_trade.SetExpertMagicNumber(Magic); prima di aprire una posizione o dopom_trade.Buy(lots1,_Symbol,0,SL,TP,"Lag-MA_IAMA(conversamente)_2.5.6.7 + 2");

 
Vladimir Karputov:

Poiché non esiste un metodoGetExpertMagicNumber nella classe CTrade, stampate questo codice dopo l'operazione di scambio:

In questo modo, puoi controllare se entrambi gli EA hanno magie diverse.

Grazie, è più conveniente. Non ho bisogno della classe CPositionInfo, non ho bisogno di selezionare la posizione. Funziona nel tester, ma bisogna aspettare gli sviluppi dell'account.

 

Per favore, ditemi la differenza tra SymbolInfoSessionQuote eSymbolInfoSessionTrade?
Oppure, stessa cosa, qual è la differenza tra una sessione di quotazione e una sessione di trading?

Porca miseria
! E cos'è session_index,// numero di sessione
Abbiamo sessioni numerate? Quale principio si usa per numerarli, dove è scritto?

 

Si prega di consigliare come usare void Ignore(long value) { m_ignore=value; } metodo della classe standard CExpertSignal nella classe Trailing personalizzata quando si programma in MQL5? Come posso accedervi?

Ho una classe di segnali personalizzata che mi dà metodi per aprire e chiudere posizioni. Ma in Trailing volevo mantenere la posizione con un altro metodo. Se si scrivono separatamente le classi personalizzate MySignal e MyTrailing, una posizione viene chiusa dalla condizione che è scattata per prima. Se la condizione Trailing è stata attivata prima, tutto va bene. Ma a volte un nuovo segnale (di inversione) arriva da MySignal e la posizione viene invertita, e ho bisogno che sia accompagnata da Trailing dopo l'apertura, non chiudendo e non aprendone una nuova. Ho guardato le classi base e ho la sensazione che m_ignore dalla classe base signals sia responsabile di questo. Se gli viene assegnato il valore 1 nel filtro appropriato, sembra funzionare come dovrebbe. Ho aggiunto filter0.Ignore(0) alla classe Expert Advisor in OnInit. Ma sono nuovo di OOP e non capisco come cambiare questo valore nella classe MyTrailing, che non è ereditata dalla classe CExpertSignal, ma è sua "cugina" (diciamo filter0.Ignore(1) ). Per favore, consigliate come fare questo.

In realtà, una domanda più generale: come passare informazioni tra due classi che non sono discendenti? Come trasferire le informazioni dalla classe trailing alla classe signal? Probabilmente, potete creare una variabile globale e comunicare attraverso di essa. Ma questo sembra abbastanza perverso rispetto alla logica dei membri protetti in OOP.


 
User_mt5:

Per favore, ditemi la differenza tra SymbolInfoSessionQuote eSymbolInfoSessionTrade?
Oppure, stessa cosa, qual è la differenza tra una sessione di quotazione e una sessione di trading?

Porca miseria
! E cos'è session_index,// numero di sessione
Abbiamo sessioni numerate? In base a quale principio sono numerati, dove sta scritto?

In termini semplici.

Sessione di quotazione - la quotazione è in corso (ma potrebbe esserci un divieto di trading).

Sessione di trading (all'interno o in coincidenza con una sessione di quotazione) - puoi fare trading.

Indice della sessione - il numero dell'indice della sessione da 00:00:00-23:59:59 ora del server (se ci sono interruzioni, allora la sessione è maggiore di 1).

Vedi le specifiche di ogni simbolo nella panoramica del mercato.

 
Kirill Belousov:

In termini semplici

Sessione di quotazione - le quotazioni sono in corso (ma potrebbe esserci un divieto di trading).

Sessione di trading (all'interno o in coincidenza con la sessione di quotazione) - puoi fare trading.

Indice della sessione - il numero di indice della sessione da 00:00:00-23:59:59 ora del server (se ci sono spazi vuoti, la sessione è maggiore di 1).

Vedere le specifiche per ogni simbolo nella panoramica del mercato.

Grazie per il chiarimento. Mi avete aiutato.

 
Vladimir Karputov:

I segnali dei centri possono ora essere solo gratuiti.

Perché non posso modificare il nome nel mio profilo?

 
tsd Tsepkov:

Perché non puoi modificare il nome nel profilo?

Ho appena controllato: il nome del segnale è perfettamente modificabile.

 
Vladimir Karputov:

Ho appena controllato: il nome del segnale è perfettamente modificabile.

Intendo il primo nome, dice che bisogna cambiarlo con un nome reale, ma non funziona

Motivazione: