Aiuto per la codifica - pagina 547

 
popej30:
Mostrami Mladen due file - primo non decompilare - secondo compilare. Secondo me non decompilare è ex4, compilare - mq4

popey30

Grazie per lo sforzo di spiegarmi cosa è compilato e cosa è decompilato, ma il file :

il file ex4 è un file compilato

Il file che hai postato è un file decompilato - un processo quando il file ex4 viene convertito da file ex4 a file mt4 - di solito quando c'è una protezione o quando l'autore non vuole postare il file originale del codice sorgente e quando la gente pensa di guadagnare qualcosa "sbloccando i segreti" dei file ex4

________________

I file originali di codice sorgente (anche i file mq4, ma come li ha scritti l'autore, non come li ha "ricostruiti" il decompilatore) si possono trovare quanto si vuole - per esempio io non ho mai postato un solo file mq4 decompilato - tutti i file mq4 che ho postato sono file originali di codice sorgente e siete invitati a vedere la differenza tra quei file e il file mq4 che avete postato

________________

PS: L'ho detto più volte, ma lo dirò di nuovo. Non è una questione se posso cambiare il file mq4 decompilato o no. È una questione di scelta. E io ho scelto di non fare agli altri quello che non vorrei che loro facessero a me. E questo è tutto

tutto il meglio

 

Ciao mladen

Sai come si possono memorizzare i prezzi DAX con timestamp in excel? Ho provato a usare DDE senza successo. Ho esaminato tutte le pagine su FF, qui e mql5 senza successo.

Questo è il codice vba che uso in excel per il DDE fornito da MT4.

Sub Workbook_Open()

DimwbAsWorkbookDimLinksAsVariantDimiAsLongSetwb=ThisWorkbook Links=wb.LinkSources(xlOLELinks)Fori=LBound(Links)ToUBound(Links)IfLeft$(Links(i),8)="MT4|ASK"Thenwb.SetLinkOnData Links(i),"MT4_OnUpdate"EndIfNextEnd Sub[/CODE]

and

Sub MT4_OnUpdate() ' DDE Updated TIME, copy dataDimwsAsWorksheetDimSourceAsRangeDimDestAsRangeSetws=Worksheets("DAX")WithwsSetSource=ws.Range("A2:E2")SetDest=.Cells(.Rows.Count,1).End(xlUp).Offset(1,0).Resize(1,Source.Columns.Count)EndWithDest.Value=Source.ValueEnd Sub

It won't update on ASK price and every time i open Excel the sheet wont update because the code "='MT4'|ASK!"DE30" changes to "='MT4'|ASK!_xlbgnm.DE30" automatically.

There is a code for MQL but it only stores price in a notepad. I need it live on excel so i can create charts and calculations.

[CODE]// EA code

int file_handle;string InpFileName = _Symbol + ".txt"; // File nameinput string InpDirectoryName = "Data"; // Folder name int OnInit(){ ResetLastError(); file_handle = FileOpen(InpDirectoryName + "//" + InpFileName, FILE_WRITE|FILE_TXT|FILE_ANSI); if(file_handle == INVALID_HANDLE) { PrintFormat("Failed to open %s file, Error code = %d", InpFileName, GetLastError()); ExpertRemove(); } return INIT_SUCCEEDED;} void OnTick(){ // Datetime, Bid, Volume string s = TimeToStr(TimeGMT()) + " " + Bid + " " + Volume[0]; FileWriteString(file_handle, s + "\r\n");} void OnDeinit(const int reason){ FileClose(file_handle); }

Sarebbe bello se poteste aiutarmi. Sono stato bloccato per 2 settimane cercando di risolvere questo.

Grazie in anticipo

 
drammen:
Ciao mladen

Sapete come si possono memorizzare i prezzi DAX con timestamp in excel? Ho provato a usare DDE senza successo. Ho esaminato tutte le pagine su FF, qui e mql5 senza successo.

Questo è il codice vba che uso in excel per il DDE fornito da MT4.

Sub Workbook_Open()

DimwbAsWorkbookDimLinksAsVariantDimiAsLongSetwb=ThisWorkbook Links=wb.LinkSources(xlOLELinks)Fori=LBound(Links)ToUBound(Links)IfLeft$(Links(i),8)="MT4|ASK"Thenwb.SetLinkOnData Links(i),"MT4_OnUpdate"EndIfNextEndSub[/CODE]

and

Sub MT4_OnUpdate() ' DDE Updated TIME, copy dataDimwsAsWorksheetDimSourceAsRangeDimDestAsRangeSetws=Worksheets("DAX")WithwsSetSource=ws.Range("A2:E2")SetDest=.Cells(.Rows.Count,1).End(xlUp).Offset(1,0).Resize(1,Source.Columns.Count)EndWithDest.Value=Source.ValueEndSub

It won't update on ASK price and every time i open Excel the sheet wont update because the code "='MT4'|ASK!"DE30" changes to "='MT4'|ASK!_xlbgnm.DE30" automatically.

There is a code for MQL but it only stores price in a notepad. I need it live on excel so i can create charts and calculations.

[CODE]// EA code

int file_handle;string InpFileName = _Symbol + ".txt"; // File nameinput string InpDirectoryName = "Data"; // Folder name int OnInit(){ ResetLastError(); file_handle = FileOpen(InpDirectoryName + "//" + InpFileName, FILE_WRITE|FILE_TXT|FILE_ANSI); if(file_handle == INVALID_HANDLE) { PrintFormat("Failed to open %s file, Error code = %d", InpFileName, GetLastError()); ExpertRemove(); } return INIT_SUCCEEDED;} void OnTick(){ // Datetime, Bid, Volume string s = TimeToStr(TimeGMT()) + " " + Bid + " " + Volume[0]; FileWriteString(file_handle, s + "\r\n");} void OnDeinit(const int reason){ FileClose(file_handle); }

Sarebbe bello se poteste aiutarmi. Sono stato bloccato per 2 settimane cercando di risolvere questo.

Grazie in anticipo

drammen

Francamente non ho usato metatrader come fonte di dati dinamici dal lato excel quindi non posso esserti utile in questo caso.

 

Ciao mladen

Grazie per aver risposto

Ho capito. Grazie comunque Non è che per caso conosci altre soluzioni?

 

Ciao,

ho una domanda veloce.

Ho un indicatore che controlla certe condizioni nel grafico a cui è collegato. Al momento seguo più strumenti, quindi devo aggiungere lo stesso indicatore a diversi grafici per ottenere un avviso da tutti gli strumenti. Ho pensato di controllare tutti gli strumenti con un indicatore collegato a un grafico utilizzando un ciclo for. Ad ogni nuovo ciclo viene controllato uno strumento diverso per le giuste condizioni. Tuttavia, cosa succede quando il simbolo/strumento a cui è collegato questo indicatore all-in-one non dà un tick, o dà tick molto meno spesso di altri strumenti che sono controllati con il ciclo. Potrei teoricamente perdere degli avvisi? Cosa succede quando i tick arrivano così velocemente che l'indicatore non ha finito di passare attraverso tutti i loop prima che arrivi il tick successivo?

Cordiali saluti,

 
drammen:
Ciao mladen

Grazie per aver risposto

drammen

Ho capito. Grazie comunque Non è che per caso conosci altre soluzioni?

drammen

Scusa, ma è stato così tanto tempo che ho codificato alcune cose usando VBA che si può dire che è andato con il vento quello che sapevo allora

 
mrcodix:
ciao,

Ho una domanda veloce.

Ho un indicatore che controlla certe condizioni nel grafico a cui è collegato. Al momento seguo più strumenti, quindi devo aggiungere lo stesso indicatore a diversi grafici per ottenere un avviso da tutti gli strumenti. Ho pensato di controllare tutti gli strumenti con un indicatore collegato a un grafico utilizzando un ciclo for. Ad ogni nuovo ciclo viene controllato uno strumento diverso per le giuste condizioni. Tuttavia, cosa succede quando il simbolo/strumento a cui è collegato questo indicatore all-in-one non dà un tick, o dà tick molto meno spesso di altri strumenti che sono controllati con il ciclo. Potrei teoricamente perdere degli avvisi? Cosa succede quando i tick arrivano così velocemente che l'indicatore non ha finito di passare attraverso tutti i loop prima che arrivi il tick successivo?

Cordiali saluti,

mrcodix

Nel nuovo metatrader 4 hai una funzione timer che non dipende dai tick (né dal grafico corrente né da altri grafici). Quindi potresti usarla per avere una risposta ragionevolmente veloce per qualsiasi lista di strumenti anche se non ricevono mai tick

 

ciao mladen e mr.tools e tutti.... ho bisogno del tuo aiuto....ı hai un indicatore di linee di tendenza...ma ho bisogno della versione dell'istogramma...per favore rendilo suo......grazie mille a tutti...

File:
trend.mq4  2 kb
trend.ex4  9 kb
 
mladen:
mrcodix Nel nuovo metatrader 4 hai una funzione timer che non dipende dai tick (né dal grafico corrente né da altri grafici). Quindi potresti usarla per avere una risposta ragionevolmente veloce per qualsiasi lista di strumenti anche se non ricevono mai tick

wow thot tutto mladen!

 
mrcodix:
Wow, grazie a tutti i mladen!

Felice di essere stato d'aiuto

Commercio felice