Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1144

 
MrBrooklin:

Grazie, Vladimir, per il suggerimento!

Il fatto è che questo modulo è stato scaricato dal sito web e semplicemente compilato in MetaEditor. Non ho eseguito altre azioni (ad esempio, modifiche al codice, ecc.) con il modulo dei segnali di trading e l'avviso è stato generato dal compilatore stesso.

Cordiali saluti, Vladimir.

Scaricato da dove? È lì che l'hai scaricato, quindi scrivi del problema nella discussione sul codice.

 
Vladimir Karputov:

Scaricato da dove? È lì che l'hai scaricato, è lì che dovresti scrivere nella discussione del codice sul problema che hai notato.

Scaricato qui https://www.mql5.com/ru/articles/358 dalla cartella mysignals.zip.

Ok, Vladimir, in futuro scriverò esattamente dove si verifica il problema con il codice.

Saluti, Vladimir.

Простейшие торговые системы с использованием семафорных индикаторов
Простейшие торговые системы с использованием семафорных индикаторов
  • www.mql5.com
Семафорные, или по-другому, сигнальные индикаторы представляют собой простейшие сигнализаторы для входа и выхода из рынка. Если на текущем баре появился сигнал для сделки, то на графике финансового инструмента возникает соответствующий значок, который и может служить в дальнейшем как условие для совершения сделки. Подобных индикаторов очень...
 
MrBrooklin:

Scaricato qui https://www.mql5.com/ru/articles/358 dalla cartella mysignals.zip.

Ok, Vladimir, scriverò in futuro esattamente dove sorge il problema con il codice.

Saluti, Vladimir.

Quindi l'articolo è del 2012 :)

 
Vladimir Karputov:

Quindi l'articolo è del 2012 :)

Sì, l'ho notato subito, ma tuttavia ho deciso di testare come i "vecchi" moduli di segnali di trading si comportano oggi.

Saluti, Vladimir.
 

Quando cambio il punto di interruzione per il debug, i punti di interruzione iniziano ad apparire qualche riga più sotto, prima delle parentesi graffe

È un problema per me o è una nuova "caratteristica"?

 
Roman Sharanov:

Quando cambio il punto di interruzione per il debug, i punti di interruzione iniziano ad apparire qualche riga più sotto, prima delle parentesi graffe

È un mio problema o è una nuova "caratteristica"?

Sei tu quello che ha un problema.

  1. Stai cercando di aggiungere codice in modalità test in esecuzione
  2. Oppure il vostro blocco di codice non verrà mai eseguito, quindi l'editor lancia il cursore del breakpoint fuori da esso.
 
Vladimir Karputov:

Questo è il vostro problema.

  1. Stai cercando di aggiungere codice in modalità test in esecuzione
  2. Oppure il vostro blocco di codice non verrà mai eseguito, quindi l'editor lancia il cursore del breakpoint fuori da esso.

Per fortuna sì, dopo aver ricaricato l'editor è guarito!

 
Ciao!
Chi può consigliare un buon broker per iniziare a fare trading con MT5?
Grazie mille!
 
Dmitry Filippov:
Ciao!
Chi può consigliare un buon broker per iniziare a fare trading con MT5?
Non me ne viene in mente nessuna, grazie!

Avete letto le regole delle risorse? O come al solito, rompere prima e poi leggere il manuale?

 

Ciao!

Non riesco a trovare l'errore. Lo scopo della funzione è di impostare uno stop loss solo alla posizione di pareggio. Se c'è più di una posizione aperta dal simbolo, solo le posizioni che possono essere impostate a pareggio, il resto delle posizioni non avrà uno stop su di esse. Modifica anche gli stop esistenti alprezzo più vicino a quelloattuale, se lo stop attuale è inferiore alla posizione di pareggio più grande, lo stop viene modificato. Errore " CTrade::OrderSend: modify position #3 EURUSD (sl: 1.10871, tp: 0.00000) [invalid stops]
"


void _BTrailing_BUY()
  {
   double _B_BUY=0.0;
   CPositionInfo m_positionBuy; // trade position object
   CTrade m_tradeBuy; // trading object
   CSymbolInfo    m_symbolBuy;

   int TrailingStop=35; //Trailing Stop LEVEL
   
   for(int i=PositionsTotal()-1; i>=0; i--)  
      if(m_positionBuy.SelectByIndex(i))  
        {
         string position_GetSymbol=m_positionBuy.Symbol();  
         if(position_GetSymbol==Symbol())
           {
            long digits=SymbolInfoInteger(position_GetSymbol,SYMBOL_DIGITS);
            long _SYMBOL_TRADE_STOPS_LEVEL=SymbolInfoInteger(position_GetSymbol,SYMBOL_TRADE_STOPS_LEVEL);
            m_adjusted_point=SymbolInfoDouble(position_GetSymbol,SYMBOL_POINT);
            double _PriceCurrent_Stop=0.0;

            if(TrailingStop>_SYMBOL_TRADE_STOPS_LEVEL)
              {_SYMBOL_TRADE_STOPS_LEVEL=TrailingStop;};
                 if(m_positionBuy.PositionType()==POSITION_TYPE_BUY)
              {
               _PriceCurrent_Stop=NormalizeDouble(m_positionBuy.PriceOpen()+((_SYMBOL_TRADE_STOPS_LEVEL)*m_adjusted_point),int(digits));
               if(m_positionBuy.PriceCurrent() >  _PriceCurrent_Stop)
                 {
                  if(_B_BUY==0.0 || _B_BUY <_PriceCurrent_Stop)
                    {
                     _B_BUY=_PriceCurrent_Stop;
                    };
                  if(_B_BUY >m_positionBuy.StopLoss() && _B_BUY >_PriceCurrent_Stop)
                    {
                     _PriceCurrent_Stop=_B_BUY;
                    };

                  if(_PriceCurrent_Stop>m_positionBuy.StopLoss() || m_positionBuy.StopLoss()==0.0)
                    {
                     //--- save Magic Number for the position
                     if(_PriceCurrent_Stop>0)
                       {
                        //m_trade.SetExpertMagicNumber(m_position.Magic());
                        m_tradeBuy.PositionModify(m_positionBuy.Ticket(),
                                                  _PriceCurrent_Stop,
                                                  m_positionBuy.TakeProfit());
                       };

                    };
                 };



              };
           };

        };

  }
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...