Guida MQL4 - Pagina 6

 

Publi

Guida MQL4

 

Publi

Pagina 6 di 6 PrimaPrima ... 456
Risultati da 51 a 57 di 57

Discussione: Guida MQL4

  1. #51
    Citazione Originariamente Scritto da ;
    La mia più sincera gratitudine a lei, signore...

  2. #52
    La mia più sincera gratitudine a lei, signore...

  3. #53

    Citazione Originariamente Scritto da ;
    Questo è un thread molto istruttivo..Per favore non fermarti..Continua a insegnare a noi che siamo nuovi a questa programmazione... Come faccio a codificare questa procedura??? 1. Voglio aprire 3 negoziazioni in 3 diversi grafici solo dopo aver verificato che non ci siano negoziazioni aperte al momento allora ... 2. Voglio controllare il PL e se è maggiore di 0, chiuderà tutto aperto e ordini in attesa. 3. Quindi voglio aprire gli stessi 3 mestieri nelle direzioni opposte. Grazie
    OK. 1. Voglio aprire 3 negoziazioni in 3 diversi grafici solo dopo aver verificato che non ci siano negoziazioni aperte al momento allora... 3. Quindi voglio aprire le stesse 3 negoziazioni nelle direzioni opposte. Codice inserito int Magic = ... int BuyCnt = 0; int SellCnt = 0; int cnt = OrdersTotal(); for (int i=0; i lt; cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; if (OrderSymbol() != Symbol()) continue; if (OrderMagicNumber() != Magic) continua; tipo int = TipoOrdine(); if (tipo == OP_BUY) BuyCnt ; if (tipo == OP_SELL) SellCnt ; } if (BuyCnt gt; 0 || SellCnt gt; 0) return;/OrderSend(OP_BUY, .../OrderSend(OP_SELL, ... Esegui questo codice su 3 diversi grafici di cui hai bisogno. 2. Voglio controllare il PL e se è maggiore di 0, chiuderà tutto aperto e ordini pendenti Codice inserito if (AccountProfit() gt; 0) { DeleteOrders(); CloseOrders(); } void CloseOrders() { int cnt = OrdersTotal(); for (int i=cnt-1; i gt;= 0 ; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; int type = OrderType(); if (type == OP_BUY) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), MarketInfo (OrderSymbol(), MODE_BID), 3); } if (type == OP_SELL) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3); } } } void DeleteOrders() { int cnt = OrdersTotal(); for (int i=cnt-1; i gt;= 0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; int type = OrderType( ); if (type == OP_BUYSTOP || type == OP_SELLSTOP || type == OP_BUYLIMIT || type == OP_SELLLIMIT) { OrderDelete(OrderTicket()); } } }

  4. #54
    Questo è un thread molto istruttivo..Per favore non fermarti..Continua a insegnare a noi che siamo nuovi a questa programmazione... Come faccio a codificare questa procedura??? 1. Voglio aprire 3 negoziazioni in 3 diversi grafici solo dopo aver verificato che non ci siano negoziazioni aperte al momento allora ... 2. Voglio controllare il PL e se è maggiore di 0, chiuderà tutto aperto e ordini in attesa. 3. Quindi voglio aprire gli stessi 3 mestieri nelle direzioni opposte. Grazie

  5. #55
    Come chiudere tutti gli ordini a mercato: Inserted Code int Slippage = 3; void ChiudiOrdini() { int cnt = TotaleOrdini(); for (int i=cnt-1; igt;=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;/if (OrderSymbol() != Symbol()) continue;/if (OrderMagicNumber() != Magic) continua; if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage); } } Come chiudere tutti gli ordini di tipo predefinito: Codice inserito void CloseOrders(int type) { int cnt = OrdersTotal(); for (int i=cnt-1; igt;=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;/if (OrderSymbol() != Symbol()) continue;/if (OrderMagicNumber() != Magic) continua; if (OrderType() != tipo) continua; if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage); } }

  6. #56
    Ottieni l'OpenTime dell'ultimo ordine con il tipo predefinito. La funzione effettua una ricerca delle operazioni aperte e della cronologia. -1 significa che non ci sono ordini trovati. Codice inserito datetime GetLastOpenTime(int type) { datetime tm = -1; int cnt = OrdersTotal(); for (int i=0; ilt;cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continuare;/Facoltativo/if (OrderSymbol() != Symbol()) continue;/if (OrderMagicNumber() != Magic) continua; if (OrderType() != tipo) continua; tm = MathMax(tm, OrderOpenTime()); } cnt = OrdersHistoryTotal(); for (i=0; ilt;cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continua;/Facoltativo/if (OrderSymbol() != Symbol()) continue;/if (OrderMagicNumber() != Magic) continua; if (OrderType() != tipo) continua; tm = MathMax(tm, OrderOpenTime()); } ritorno (tm); }

  7. #57
    Grazie RickD per quello che stai dando qui. Proprio come i membri di FF basta colpire il primo prezzo della lotteria. Sei un vero tesoro qui Per favore continua questo thread Dio ti benedica

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Il sito di forexmad utilizza cookie
Il sito di forexmad utilizza cookie, alcuni dei quali già installati. Per avere maggiori informazioni sui nostri cookie ti preghiamo di cliccare qui. Ti preghiamo di cliccare sul bottone a destra per accettare i nostri cookie. Se continui a navigare sul sito di forexmad assumeremo che sei d'accordo ad utilizzarli.