Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 232

 
Ciao a tutti!!! Sono un principiante. Voglio chiedere: quando compilo un EA, ottengo il seguente messaggio di errore: 'StopLoss' - dichiarazione senza tipo.

Ecco il codice:

//--- Per lavorare con i broker che usano quotazioni a 3 e 5 cifre,
//--- moltiplicare per 10 i valori di SL e TP
StopLoss = STP;-e c'è un posto dove cambiare questo ??????
TakeProfit = TKP;
if(_Digits==5 || _Digits==3)
{
SL = SL*10;
TP = TP*10;

}

Qualche consiglio?

 
vyacheslavovich:
Ciao a tutti!!! Sono un principiante. Voglio chiedere: quando compilo EA, ottengo negli errori:'StopLoss' - dichiarazione senza tipo.
Significa che la variabile StopLoss non è stata dichiarata prima.
 
vyacheslavovich:
Ciao a tutti!!! Sono un principiante. Voglio chiedere: quando compilo un EA, ottengo il seguente messaggio di errore: 'StopLoss' - dichiarazione senza tipo.

Ecco il codice:

//--- Per lavorare con i broker che usano quotazioni a 3 e 5 cifre,
//--- moltiplicare per 10 i valori di SL e TP
StopLoss = STP;-e c'è un posto dove cambiare questo ??????
TakeProfit = TKP;
if(_Digits==5 || _Digits==3)
{
SL = SL*10;
TP = TP*10;

}

Qualche consiglio?

   double StopLoss = STP;
   double TakeProfit = TKP;

Questo dovrebbe essere meglio.

 
Buon pomeriggio. Ho lottato con l'esecuzione di file esterni per il secondo giorno. Puoi dirmi cosa c'è che non va?
#import "shell32.dll"
   int ShellExecuteA(int hwnd, string lpOperation, string lpFile,string lpParameters,string lpDirectory,int nShowCmd);
#import
void OnStart()
  {
   ShellExecuteA(CHART_WINDOW_HANDLE,"open","F:\\222.mp3", NULL,NULL,1);
  }
 
Andrei-1:
Salve. Sto lottando con il lancio di file esterni per il secondo giorno. Per favore, consigliatemi cosa c'è che non va.
//+------------------------------------------------------------------+
//| Функция получает хэндл графика                                   |
//+------------------------------------------------------------------+
int ChartWindowsHandle(long chart_ID)
  {
//--- подготовим переменную для получения значения свойства
   long result=-1;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((int)result);
  }

Ma sarà solo l'impugnatura del grafico. E il grafico stesso è contenuto in una finestra di classe superiore (finestra madre). In ShellExecuteA dovreste sostituire l'handle della finestra madre.

Guardate lo script di Transparent MetaTrader 5: ha la funzione di ottenere l'handle del terminale attraverso ChartID().

Transparent MetaTrader 5
Transparent MetaTrader 5
  • voti: 19
  • 2014.03.10
  • Karputov Vladimir
  • www.mql5.com
Данный скрипт позволяет делать полупрозрачным весь терминал.
 
Saluti a tutti!
MQL4 ha una buona funzione - Barshift. Purtroppo non è disponibile in MQL5. Come variante per sostituire questa funzione, potete copiare i dati delle serie temporali dalla data di inizio (per la quale si cerca lo spostamento) e vedere il numero di elementi copiati. Ma se abbiamo bisogno di elaborare molte date diverse, non vogliamo sovraccaricare il computer con la costante copia multipla delle serie temporali. Naturalmente, siamo costretti a cercare di trovare i valori giusti usando l'enumerazione degli array. E qui arriviamo alla domanda. :) Dopo aver cercato nella documentazione, ho trovato solo una funzione standard, che cerca valori in un array: ArrayBSearch. Ma non funziona con gli array contenenti dati datetime. C'è una funzione standard per cercare per data all'interno dell'array datetime? O è possibile usare qualche tipo di conversione di dati?
 
BlackTomcat:
Saluti a tutti!
MQL4 ha una buona funzione - Barshift. Sfortunatamente, non è disponibile in MQL5. Come variante per sostituire questa funzione, potete copiare i dati delle serie temporali dalla data di inizio (per la quale si cerca lo spostamento) e vedere il numero di elementi copiati. Ma se abbiamo bisogno di elaborare molte date diverse, non vogliamo sovraccaricare il computer con la costante copia multipla delle serie temporali. Naturalmente, siamo costretti a cercare di trovare i valori giusti usando l'enumerazione degli array. E qui arriviamo alla domanda. :) Dopo aver cercato nella documentazione, ho trovato solo una funzione standard, che cerca valori in un array: ArrayBSearch. Ma non funziona con gli array contenenti dati datetime. C'è una funzione standard per cercare per data all'interno dell'array datetime? O è possibile usare qualche conversione di dati?
Gli analoghi sono già stati scritti da molto tempo - cerca nel sito.
 
C'è un modo per aumentare un file (specialmente csv) tramite FileOpen senza sovrascriverlo? Voglio dire, FileOpen(name,FILE_CSV|FILE_WRITE|...) ricrea solo un file pulito, non apre quello esistente se esisteva già. Quello del testo è risolto, anche se non in modo molto elegante: basta leggerlo prima in una variabile e aggiungerlo al nuovo record. Ma il csv non funziona...
 
Ciao a tutti e buona giornata!!! Oggi ho provato a guadagnare sulle notizie GBP, ho messo due ordini pendenti buy stop e sell stop, lo stop loss è stato messo a 200 punti, take profit di 100 punti. Dopo il rilascio della notizia il prezzo è salito, ma l'ordine buy stop ha chiuso con -0.34$ quando il prezzo è salito di 500 punti.
 
Non so... lo spread deve essere
Motivazione: