Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1176

 
Alexey Belyakov:

https://www.mql5.com/en/code/23479 Questo non funziona.

Ci ho provato, ma ho un intoppo nel codice, non credo che qualcuno voglia entrare nei miei scarabocchi, preferisco rifarlo.


Quindi ecco qui:

datetime some_time=TimeCurrent();
extern string Symbol3 = ""; //Инструмент (""текущий по умолчанию)
extern double P=5;       //Таймфрейм


int start()
{
int  raznV;
int percV;
int SD=5; // переменная для поиска разницы объёма
int sig;

double VAL2=MathAbs(iVolume(NULL,P,2));  //Т.Объём
double VAL1=MathAbs(iVolume(NULL,P,1));


raznV =MathAbs(iVolume(NULL,P,2)-iVolume(NULL,P,1));  //Разница объёма
percV =MathRound(raznV/(VAL1*0.01)); // Разница в (%)

//Цикл сканирования последних свечей SD,на которых есть разница равная 50%.
for (int i=SD; i>=0; i--)
{
int  sig=(raznV[i])>50;


//Если  есть нужная разница, значение будет больше нуля.
if (sig>0)
{
Alert ("Сигнал");
}

if (SD>5)
{
ObjectDelete("signal4");
} 


return(0);

int sig=(raznV[i])>50; Ecco il problema. Non so come presentarlo in modo diverso. E devi rilevare una deviazione di almeno il 50% nelle candele precedenti.

Il tuo codice è bello come un saggio scritto da un non molto studioso di prima elementare - senza offesa, almeno tu sai scrivere i commenti :)

Soprattutto mi è piaciutoraznV[i], sei venuto da PineScript? Andiamo, questo è un normale linguaggio di programmazione))

in rosso - errori importanti, in giallo - difetti

 
Buon pomeriggio. Ho una domanda su una mossa negativa su un muving. Di conseguenza, aprire un trade a questo valore o chiuderlo non funziona. Come si può risolvere questo problema?
 

Salve. Si prega di aiutare con l'importazione da dll. Provato a importare funzioni da trans2quik.dll

#import "trans2quik.dll"
   int _TRANS2QUIK_CONNECT@16(string lpcstrConnectionParamsString, int& pnExtendedErrorCode[], string lpstrErrorMessage, int dwErrorMessageSize);
#import

Ha funzionato, la dll ha restituito il codice 0 (TRANS2QUIK_SUCCESS). Quando ho provato a importare altre funzioni il compilatore mi dà un errore sul nome lungo (so dal forum che non sono ammessi più di 31 caratteri nel nome della funzione). Ho provato a farlo per numero di funzione, come descritto qui (https://docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2019), ma se l'ho fatto male, o il compilatore non può giurare per il numero (scrive il nome previsto) capisco che per unire una dll serve un wrapper? O è possibile modificare i nomi delle funzioni nel dll stesso? Se è importante ci sono file .h e .lib nell'archivio del dll.

 
Darirunu:
Buon pomeriggio. Ho una domanda su un turno di muving negativo. Di conseguenza, sia aprire un affare a questo valore che chiuderlo non funziona. Come posso risolvere questo problema?

Puoi allegare un pezzo di codice?

 
È possibile cambiare la velocità del test programmaticamente?
 
Yevhenii Levchenko:
È possibile cambiare la velocità del test programmaticamente?

è possibile

 
f1nik:

Salve. Si prega di aiutare con l'importazione da dll. Provato a importare funzioni da trans2quik.dll

Ha funzionato, la dll ha restituito il codice 0 (TRANS2QUIK_SUCCESS). Quando ho provato a importare altre funzioni il compilatore mi dà un errore sul nome lungo (so dal forum che non sono ammessi più di 31 caratteri nel nome della funzione). Ho provato a farlo per numero di funzione, come descritto qui (https://docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2019), ma se l'ho fatto male, o il compilatore non può giurare per il numero (scrive il nome previsto) capisco che per unire una dll serve un wrapper? O posso modificare i nomi delle funzioni nel dll stesso? Se è importante, l'archivio con il dll ha file .h e .lib.

In MQL per numero non è possibile.

 
Koldun Zloy:

Non si può fare in MQL per numero.

Grazie. Quindi c'è solo un adattatore dll tra il terminale etrans2quik.dll
 
f1nik:
Grazie. Quindi c'è solo un adattatore dll tra il terminale etrans2quik.dll

Avete provato a infilare una stringa come #define str "long long string" o anche come due stringhe tramite + o la funzione stringa.

Dopotutto, Comment è anche limitato nella lunghezza della stringa, ma le variabili possono essere spinte così tanto da non adattarsi al monitor in poche righe.

 
Salve. Potete suggerire uno script o una funzione per calcolare la dimensione del lotto a seconda del margine specificato per il Forex, perché tutti gli script calcolano il margine sulla dimensione del lotto. Sarebbe conveniente aprire per una certa quantità fissa di fondi gratuiti sul deposito, come in BOO.
Motivazione: