Errori, bug, domande - pagina 256 1...249250251252253254255256257258259260261262263...3184 Nuovo commento [Eliminato] 2011.01.05 20:24 #2551 Per favore, ditemi come dichiarare un array dinamico bidimensionale. C'è solo un esempio con una dimensione dinamica nell'aiuto per questo:double matrix[][10][20];// array dinamico tridimensionaleArrayResize(matrix,5);// imposta la dimensione della prima dimensioneE la dichiarazione:double matrix[][];non funziona, il compilatore scrive: ']' - valore di indice non valido Domande dai principianti MQL5 [Qualsiasi domanda da principiante, Qualsiasi domanda da principiante, tmt0086 2011.01.05 22:13 #2552 Aiuto, non riesco a capire cosa non gli piace... continua a scrivere 10016 (come se uno stop loss non fosse impostato correttamente) Grazie#property version "1.00" //+------------------------------------------------------------------+ #define MAGIC_NUMBER 12937 input double BASELOT=0.5; input double stoploss=0.0; input double takeprofit=0.0; //+------------------------------------------------------------------+ int OnInit() { int send; int signalMA=signalMA(); if(signalMA==1) { send=1; Send(send); } else if(signalMA==2) { send=2; Send(send); } return(0); } //+------------------------------------------------------------------+ int signalMA() { int signalMA=0; double inMA6 = iMA(NULL,0,6,0,MODE_SMA,0); double inMA1 = iMA(NULL,0,1,0,MODE_SMA,0); if(inMA6>inMA1) { signalMA=1; } if(inMA6<inMA1) { signalMA=2; } return(signalMA); } //+------------------------------------------------------------------+ void Send(int send) { MqlTick tick; MqlTradeRequest request; MqlTradeResult tradeResult; MqlTradeCheckResult checkResult; static bool br=false; if(!br) { if(send==1) { br=true; request.price=tick.bid; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_SELL; } else if(send==2){ br=true; request.price=tick.ask; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_BUY; } if(br) { request.action = TRADE_ACTION_DEAL; request.symbol = _Symbol; request.volume = BASELOT; request.deviation = 5; request.type_filling = ORDER_FILLING_AON; request.type_time = ORDER_TIME_GTC; request.comment = ""; request.magic = MAGIC_NUMBER; if(OrderCheck(request,checkResult)) { OrderSend(request,tradeResult); } else { Print("Error: ",checkResult.retcode); } } } } //+------------------------------------------------------------------+ Sergey Gritsay 2011.01.05 22:45 #2553 tmt0086: Aiuto, non riesco a capire cosa non gli piace ... scrive tutto il tempo 10016 (come stop loss non è impostato correttamente) GraziePrima di tutto, avete scritto questa funzione in modo errato.int signalMA() { int signalMA=0; double inMA6 = iMA(NULL,0,6,0,MODE_SMA,0); double inMA1 = iMA(NULL,0,1,0,MODE_SMA,0); if(inMA6>inMA1) { signalMA=1; } if(inMA6<inMA1) { signalMA=2; } return(signalMA); } Dovrebbe essere così, ma non so dirti dell'errore di arresto.//+------------------------------------------------------------------+ #define MAGIC_NUMBER 12937 input double BASELOT=0.5; input double stoploss=0.0; input double takeprofit=0.0; int handleMA1=INVALID_HANDLE; int handleMA2=INVALID_HANDLE; double inMA6[]; double inMA1[]; MqlTick tick; MqlTradeRequest request; MqlTradeResult tradeResult; MqlTradeCheckResult checkResult; //+------------------------------------------------------------------+ int OnInit() { handleMA1=iMA(NULL,0,6,0,MODE_SMA,0); handleMA2= iMA(NULL,0,1,0,MODE_SMA,0); int send; int signalMA=signalMA(); if(signalMA==1) { send=1; Send(send); } else if(signalMA==2) { send=2; Send(send); } return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int signalMA() { int sig=0; if(handleMA1==INVALID_HANDLE) { handleMA1=iMA(NULL,0,6,0,MODE_SMA,0); return(0); } if(handleMA2==INVALID_HANDLE) { handleMA2=iMA(NULL,0,1,0,MODE_SMA,0); return(0); } if(CopyBuffer(handleMA1,0,0,1,inMA6)<1) return(0); if(CopyBuffer(handleMA2,0,0,1,inMA1)<1) return(0); if(!ArraySetAsSeries(inMA6,true)) return(0); if(!ArraySetAsSeries(inMA1,true)) return(0); if(inMA6[0]>inMA1[0]) sig=1; else if(inMA6[0]<inMA1[0]) sig=2; else sig=0; return(sig); } //+------------------------------------------------------------------+ void Send(int send) { static bool br=false; if(!br) { if(send==1) { br=true; request.price=tick.bid; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_SELL; } else if(send==2){ br=true; request.price=tick.ask; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_BUY; } if(br) { request.action = TRADE_ACTION_DEAL; request.symbol = _Symbol; request.volume = BASELOT; request.deviation = 5; request.type_filling = ORDER_FILLING_AON; request.type_time = ORDER_TIME_GTC; request.comment = ""; request.magic = MAGIC_NUMBER; if(OrderCheck(request,checkResult)) { OrderSend(request,tradeResult); } else { Print("Error: ",checkResult.retcode); } } } } //+------------------------------------------------------------------+ Ilyas 2011.01.05 23:14 #2554 -Alexey-: Per favore, ditemi come dichiarare un array dinamico bidimensionale. C'è solo un esempio con una dimensione dinamica nell'aiuto per questo:double matrix[][10][20];// array dinamico tridimensionaleArrayResize(matrix,5);// imposta la dimensione della prima dimensioneE la dichiarazione:double matrix[][];non funziona, il compilatore scrive: ']' - valore di indice non validoIn MQL5 c'è solo una dimensione dinamica.Per usare più di una dimensione potete usare le strutturestruct SDynamic { double data[]; }; ... SDynamic Arr2D[]; ... bool Arr2DResize(SDynamic &a2d[],int d1,int d2) { if(ArrayResize(a2d,d1)!=d1) return(false); for(int i=0;i<d1;i++) if(ArrayResize(a2d[i].data,d2)!=d2) return(false); return(true); } ... Arr2DResize(Arr2D,10,10); ... Print(Arr2D[0].data[3]); [Eliminato] 2011.01.05 23:34 #2555 mql5: C'è solo una dimensione dinamica in MQL5.per usarne più di uno, potete usare le strutture Caro mql5, grazie per il tuo aiuto, le spiegazioni e l'esempio pratico. [Eliminato] 2011.01.06 11:57 #2556 Sarei dovuto andare in un forum vicino, ma c'è un problema con le immagini (non ha funzionato per caricarle)... :(Agli sviluppatori.Dal rapporto MT4 229. È un bug o cosa? Test Account 2011.01.06 12:19 #2557 Interesting: Sarei dovuto andare in un forum vicino, ma c'è un problema con le cortine (non ha funzionato per caricarle)... :(L'immagine, per come la vedo io, è data.Serve la versione del browser. [Eliminato] 2011.01.06 12:41 #2558 alexvd: Un'immagine, come ho capito, è data.Ho bisogno della versione del browser.Ho provato a mettere l'immagine in formato Png e Gif (ho anche provato a metterla come Jpg, usando il servizio radikal.ru).Browser Firefox 3.6.13.PSHo provato a metterlo in questo thread - Nuova versione di MetaTrader 4 Client Terminal build 228Ciò che è strano Png sembra essere presente lì. Новая версия MetaTrader 4 Client Terminal build 228 - MQL4 форум www.mql5.com Новая версия MetaTrader 4 Client Terminal build 228 - MQL4 форум Errors, bugs, questions COMPRA IL CONSULENTE REDDITIZIO Tutte le domande dei Test Account 2011.01.06 13:18 #2559 Interesting: Sviluppatori.Dal rapporto MT4 229. È un bug o cosa?Non sembra esserlo.Si scopre che ci sono stati solo 2 (su 45) trade perdenti, ed entrambi erano acquisti.Forse sto cercando nel posto sbagliato? Test Account 2011.01.06 13:20 #2560 Interesting: Ho provato a mettere l'immagine in formato Png e Gif (ho anche provato a metterla come Jpg, usando radikal.ru).Firefox 3.6.13 browser.PSHo cercato di inserirlo in questo thread - Nuova versione MetaTrader 4 Client Terminal build 228Ciò che è strano Png sembra essere presente lì.Prova a pulire la cache. Ho provato diverse opzioni, diversi browser - l'aggiunta ha avuto successo.Incollate l'immagine direttamente nei commenti, non come atach? 1...249250251252253254255256257258259260261262263...3184 Nuovo commento
Per favore, ditemi come dichiarare un array dinamico bidimensionale. C'è solo un esempio con una dimensione dinamica nell'aiuto per questo:
double matrix[][10][20];// array dinamico tridimensionale
ArrayResize(matrix,5);// imposta la dimensione della prima dimensione
E la dichiarazione:
double matrix[][];
non funziona, il compilatore scrive: ']' - valore di indice non valido
Aiuto, non riesco a capire cosa non gli piace... continua a scrivere 10016 (come se uno stop loss non fosse impostato correttamente) Grazie
Aiuto, non riesco a capire cosa non gli piace ... scrive tutto il tempo 10016 (come stop loss non è impostato correttamente) Grazie
Prima di tutto, avete scritto questa funzione in modo errato.
Dovrebbe essere così, ma non so dirti dell'errore di arresto.
Per favore, ditemi come dichiarare un array dinamico bidimensionale. C'è solo un esempio con una dimensione dinamica nell'aiuto per questo:
double matrix[][10][20];// array dinamico tridimensionale
ArrayResize(matrix,5);// imposta la dimensione della prima dimensione
E la dichiarazione:
double matrix[][];
non funziona, il compilatore scrive: ']' - valore di indice non valido
In MQL5 c'è solo una dimensione dinamica.
Per usare più di una dimensione potete usare le strutture
C'è solo una dimensione dinamica in MQL5.
per usarne più di uno, potete usare le strutture
Sarei dovuto andare in un forum vicino, ma c'è un problema con le immagini (non ha funzionato per caricarle)... :(
Agli sviluppatori.
Dal rapporto MT4 229. È un bug o cosa?
Sarei dovuto andare in un forum vicino, ma c'è un problema con le cortine (non ha funzionato per caricarle)... :(
L'immagine, per come la vedo io, è data.
Serve la versione del browser.
Un'immagine, come ho capito, è data.
Ho bisogno della versione del browser.
Ho provato a mettere l'immagine in formato Png e Gif (ho anche provato a metterla come Jpg, usando il servizio radikal.ru).
Browser Firefox 3.6.13.
PS
Ho provato a metterlo in questo thread - Nuova versione di MetaTrader 4 Client Terminal build 228
Ciò che è strano Png sembra essere presente lì.
Sviluppatori.
Dal rapporto MT4 229. È un bug o cosa?
Non sembra esserlo.
Si scopre che ci sono stati solo 2 (su 45) trade perdenti, ed entrambi erano acquisti.
Forse sto cercando nel posto sbagliato?
Ho provato a mettere l'immagine in formato Png e Gif (ho anche provato a metterla come Jpg, usando radikal.ru).
Firefox 3.6.13 browser.
PS
Ho cercato di inserirlo in questo thread - Nuova versione MetaTrader 4 Client Terminal build 228
Ciò che è strano Png sembra essere presente lì.
Prova a pulire la cache. Ho provato diverse opzioni, diversi browser - l'aggiunta ha avuto successo.
Incollate l'immagine direttamente nei commenti, non come atach?