Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1380
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Presumo che se la barra corrente ha un indice con il suo tempo, allora questa combinazione non cambierà mai.
O è possibile che come risultato della paginazione della storia questo indice venga assegnato a qualche barra storica, e la barra corrente ottenga un nuovo indice, più grande del numero di barre paginate?
Sempre in altre parole:
è corretto capire che la barra attuale diventa disponibile (indice, prezzo e tempo) solo dopo uno scambio storico completo e i suoi parametri non cambiano mai dopo?
Per favore ditemi come ottenere il numero di righe in una tabella MySQL
Restituisce un errore
Ottenere l'ultimo ID
prova anche questo, non può ottenere il numero di righe
Cosa c'è che non va, perché non posso ottenere un valore dalla query?
Se controllo la query contro il database, ritorna così com'è
A destra
int id= DatabaseRead(request);
Il database è un bool, e l'id è int
Come faccio a far uscire il risultato della query?
Ha funzionato, ho creato una classe sql extra
Tra lo scarico dell'indicatore e la chiamata a DeInit passano diversi secondi.
Perché c'è una pausa e si può evitare?
Sto usando questo blocco, preso dalla documentazione (sia tp che sl)
//+------------------------------------------------------------------+
void Open_order_BUY()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.sl =bid-SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =ask+TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
//+------------------------------------------------------------------+
void Open_order_SELL()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.2 лот
request.type =ORDER_TYPE_SELL; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
request.sl =ask+SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =bid-TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
Un ordine si apre su ogni tick. Come posso fare per avere un solo ordine aperto?
Sto usando questo blocco, preso dalla documentazione (sia tp che sl)
//+------------------------------------------------------------------+
void Open_order_BUY()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.sl =bid-SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =ask+TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
//+------------------------------------------------------------------+
void Open_order_SELL()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.2 лот
request.type =ORDER_TYPE_SELL; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
request.sl =ask+SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =bid-TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
Risolto.
Come posso estendere la linea a destra? Più lontano della barra attuale.
Ci sono coordinate di tempo e di prezzo. Il prezzo è chiaro, ma come impostare il tempo (ho provato iTime(Symbol(), PERIOD_CURRENT, 0), ma il suo indice è zero)
Come posso estendere la linea a destra? Più lontano della barra attuale.
Ci sono coordinate di tempo e di prezzo. Capisco il prezzo, ma come impostare il tempo (ho provato iTime(Symbol(), PERIOD_CURRENT, 0), ma il suo indice è zero)
Buon pomeriggio.
Ecco una domanda:
Sto scrivendo un indicatore che disegna zone con lo stile di disegno DRAW_FILLING. Ci sono diversi altri indicatori, tra cui un sacco di muwings, sul grafico oltre alla zona disegnata. Quando si disegna una zona, le linee degli altri indicatori cambiano bruscamente i loro colori.
La domanda: possiamo disegnare le zone in MT5 in modo tale che il loro colore non si sovrapponga e non cambi i colori delle linee di altri indicatori?
P.S. Ho scavato tutte le proprietà dei buffer degli indicatori (metodi come PlotIndexSetInteger), non c'è niente di simile.
P.S2. In allegato c'è uno screenshot di MT5.
Buon pomeriggio.
Ecco una domanda:
Sto scrivendo un indicatore che disegna zone con lo stile di disegno DRAW_FILLING. Ci sono diversi altri indicatori, tra cui un sacco di muwings, sul grafico oltre alla zona disegnata. Quando si disegna una zona, le linee degli altri indicatori cambiano bruscamente i loro colori.
La domanda: possiamo disegnare le zone in MT5 in modo tale che il loro colore non si sovrapponga e non cambi i colori delle linee di altri indicatori?
P.S. Ho scavato tutte le proprietà dei buffer degli indicatori (metodi come PlotIndexSetInteger), non c'è niente di simile.
P.S2. Ecco uno screenshot di MT5.
Tutto dipende dalla sequenza di sovrapposizione, chi è ultimo è in cima
Definireprima il buffer conDRAW_FILLING