Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 117

 
Yedelkin:

E sem "se"? ... ...

Não existe tal coisa como um "se". )))
 
tol64: Não existe tal coisa como um "se". )))
:)
 

Olá, não consigo entender porque é que as paragens não estão a aparecer?

input int         StopLoss=499;      // Stop Loss
input int         TakeProfit=999;   // Take Profit
input int         EA_Magic=12345;   // Magic Number советника
input double      Lot=0.1;          // Количество лотов для торговли

int OnInit()
  {
//--- Для работы с брокерами, использующими 5-ти значные котировки,
//--- умножаем на 10 значения SL и TP
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
void OnTick()
  {
//---
  
   MqlTick         latest_price;       // Будет использоваться для текущих котировок
   SymbolInfoTick(Symbol(),latest_price); // Получаем текущие цены
   MqlTradeRequest mrequest;   // Будет использоваться для отсылки торговых запросов
   MqlTradeResult  mresult;     // Будет использоваться для получения результатов выполнения торговых запросов
  
         mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(latest_price.ask,_Digits);           // последняя цена ask
         mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
         mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
         mrequest.symbol = _Symbol;                                            // символ
         mrequest.volume = Lot;                                                // количество лотов для торговли
         mrequest.magic = EA_Magic;                                            // Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
         mrequest.deviation=100;                                               // проскальзывание от текущей цены
         //--- отсылаем ордер
         OrderSend(mrequest,mresult);

 
Top2n: Olá, não consigo entender por que razão não estão a ser colocadas paragens?

Em primeiro lugar, a inicialização é necessária:

MqlTradeRequest mrequest={0};   // Будет использоваться для отсылки торговых запросов
MqlTradeResult  mresult={0};    // Будет использоваться для получения результатов выполнения торговых запросов

Em segundo lugar, a capacidade de colocar sl e tp depende do modo de execução de ordens do mercado definido pelo corretor. Consulte quantos destes modos existem no Manual e verifique qual é o modo definido pelo corretor.

 
Yedelkin:

Em primeiro lugar, a inicialização é necessária:

Em segundo lugar, a capacidade de colocar sl e tp depende do modo de execução de ordens do mercado definido pelo corretor. Consulte quantos desses modos existem no Manual e verifique qual é o modo definido pelo corretor.

Zerei via ZeroMemory(mrequest);

Não compreendo bem os modos de execução de encomendas, corretor alpari, penso que tudo é padrão. Maldito disparate, não quer e é tudo. Já tentei usar sl e tp, mostra o preço actual + sl. Acho que está bem!

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Top2n:

Eu zerei via ZeroMemory(mrequest);

Não compreendo bem os modos de execução de encomendas, corretor alpari, penso que tudo é padrão. Raios, não está a funcionar, só não o quero fazer. Já tentei usar sl e tp, mostra o preço actual + sl. Acho que está bem!

Tem alguma mensagem no diário de bordo?
 
Top2n Não compreendo realmente os modos de execução de ordens, sou um corretor alpariano, penso que é tudo padrão. Não sei o que fazer com este tipo de corretor forex, ainda não sei o que fazer com este tipo de forex. Não sei o que fazer se tentar voltar ao comentário sl e tp?

Não sigo a Alpari, mas penso que todas as questões de não estabelecer os níveis que mencionou estavam relacionadas com Alpari. Tente colocar a sua encomenda na conta de demonstração MQ e ficará bem.

Sobre os modos de execução de encomendas. Está a utilizar a função https://www.mql5.com/ru/docs/trading/ordersend. Leia atentamente esta secção do Guia: https://www.mql5.com/ru/docs/constants/structures/mqltraderequest e responda por si mesmo: "quantos modos de execução estão disponíveis para ordens de mercado". Se não puder responder a esta pergunta, por favor pergunte.

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - Документация по MQL5
 
tol64: Há alguma mensagem no diário de bordo?
Os criadores ainda não proporcionaram a possibilidade de reflectir nas mensagens de registo sobre a incapacidade de definir níveis de sl e tp nos modos de Execução de Mercado e de Execução de Câmbio. E não há razão para o fazer. O programador deve determinar o modo definido pelo corretor.
 
Yedelkin:
Os criadores ainda não proporcionaram a possibilidade de reflectir nas mensagens de registo sobre a incapacidade de definir níveis de sl e tp nos modos de Execução de Mercado e de Execução de Câmbio. E não há necessidade disso. O programador deve determinar o modo definido pelo corretor.
De qualquer forma, para não adivinhar, deve analisar todos os erros e códigos de retorno. É mais fácil e mais rápido analisar o que fazer a seguir. ))
 
tol64: É ainda necessário analisar todos os erros e códigos de retorno para evitar adivinhações. É mais fácil e mais rápido de descobrir o que fazer a seguir. ))
...Especialmente quando se sabe que "erros e códigos de retorno" simplesmente não são fornecidos neste caso em particular :) Sem dúvida, a pergunta em si é correcta, mas neste caso em particular, não vai ajudar :/
Razão: