Errori, bug, domande - pagina 2171

 
Anton Ohmat:


ENUM_POSITION_TYPE pos_type = PositionGetInteger (POSITION_TYPE);

Giura di implicare la conversazione enum, cosa ho fatto di sbagliato? (Capisco l'essenza dell'errore, può essere eseguito in qualche modo diversamente?)

ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger (POSITION_TYPE);
 
Alain Verleyen:
Grazie!!!
 

Perché il terminale mostra un prezzo diverso per lo stesso oggetto posto orizzontalmente?


 
Puoi dirmi come ottenere lo stop minimo su SymbolInfoDouble - non riesco a trovare cosa chiedere qui nell'aiuto
 
Anton Ohmat:
Per favore consigliate come ottenere il valore minimo di stop per SymbolInfoDouble - non riesco a trovarlo nell'aiuto, cosa esattamente dovrebbe essere richiesto qui

Dovresti guardare in SymbolInfoInteger. Quando ottieni zero e un errore, vai al thread "domande per principianti" e ci saranno i seguenti suggerimenti.

LIVELLO DEL SIMBOLO_TRADE_STOPS

Passo minimo indietro rispetto al prezzo di chiusura corrente per piazzare un ordine stop

int

 
Aleksey Vyazmikin:

Perché il terminale mostra prezzi diversi per lo stesso oggetto posizionato orizzontalmente?


Il tooltip mostra la posizione corrente del cursore del mouse, non il livello dell'oggetto grafico.

Il tooltip non appare quando il cursore è posizionato precisamente su qualche oggetto, ma quando la vicinanza è inferiore a 5 pixel

 
Slava:

Il tooltip mostra la posizione corrente del cursore del mouse, non il livello dell'oggetto grafico.

Il tooltip appare non al posizionamento preciso del cursore su qualche oggetto, ma in prossimità di meno di 5 pixel

Ma a cosa serve al commerciante? È molto più utile conoscere il prezzo a cui si trova l'oggetto...

 

Voglio capire se questo è il comportamento giusto

Il file principale si chiama TEST.mq5 che ha un file define, questo define è usato nel file plug "test_file_.mqh".

//+------------------------------------------------------------------+
#define   file   __FILE__ 
#include  "test_file_.mqh"
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

Il file del plug-in restituisce semplicemente ciò che è contenuto nella definizione.

//+------------------------------------------------------------------+
//|                                                   test_file_.mqh |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

string func()
{
return file;
}

Mi aspettavo che venisse restituito il nome del file principale TEST.mq5, perché la macro è dichiarata proprio all'inizio del codice nel file principale.

Mi aspettavo il nome del file in cui è dichiarata la definizione.


Ma restituisce il valore del file include test_file_.mqh e il valore test_file_.mqh.

È corretto?


Nell'aiuto è scritto "Nome del file compilato corrente" il file principale è anche il file corrente.

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Piattaforma MetaTrader 5 build 1700 beta: progetti in MetaEditor e strumenti sintetici

Aleksey Vyazmikin, 2018.03.22 01:35

Per favore, aiutatemi!

Ricevo un errore:

2018.03.22 03:29:06.834 Simbolo sintetico Si-Test: impossibile trovare il simbolo "Si"

Alla formula "Si-9.18"-"Si-6.18" - cosa sto sbagliando?

 
Vladimir Pastushak:

Voglio capire se il comportamento è corretto

Il file principale si chiama TEST.mq5 che ha un file define, questo define è usato nel file plug "test_file_.mqh".

Il file del plug-in restituisce semplicemente ciò che è contenuto nella definizione.

Mi aspettavo che venisse restituito il nome del file principale TEST.mq5, perché la macro è dichiarata all'inizio del codice nel file principale.

Mi aspettavo il nome del file in cui è dichiarata la definizione.


Ma restituisce il valore del file include test_file_.mqh e il valore test_file_.mqh.

È corretto?


Nell'aiuto dice "Nome del file compilato corrente" il file principale è anche il file corrente.

Questo comportamento mi sembra logico, perché nella define si sostituisce la variabile con la macro __FILE__, che viene sostituita e calcolata indipendentemente all'interno del file include.

È così che funziona:

//+------------------------------------------------------------------+
string main_file_name=__FILE__;
#define  file main_file_name
#include  <test_file_.mqh>
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+