Tutti gli indicatori funzionano nello stesso thread. Di conseguenza, ogni indicatore consuma alcune risorse della CPU. Metti 100500 indicatori con gli stessi parametri e cosa succederà al terminale? Se 300 grammi di patate sono sufficienti per rendervi felici nei prossimi 20 minuti, ma ne avrete un sacco pieno sulle spalle. Come ti piace?
Buon pomeriggio. Ho letto di Vail. Non so aggiungere o sottrarre. Non posso dire nulla sulla gestione del denaro, non l'ho provata. Ho allegato l'ultima versione. Ma ho già incasinato tutto per me) Order1(2) il profitto dell'ordine selezionato Order1(3) il lotto dell'ordine selezionato
Non riuscivo a capire il codice.
Cercherò di spiegare. Spero che conosciate i biglietti degli ordini necessari, rende le cose molto facili. Le condizioni. C'è un ordine di profitto con un profitto maggiore di zero, c'è un ordine di perdita con un profitto minore di zero e maggiore del profitto, e c'è una condizione per la chiusura parziale di un ordine di perdita.
In generale, se gli ordini sono diretti in modo diverso, si può chiudere attraverso OrderCloseBy senza pensarci due volte. L'ordine di perdita più piccolo sarà chiuso uguale all'ordine di profitto più piccolo. Abbiamo bisogno solo di 2 biglietti.
Possiamo renderlo più complicato, ottenere OrderProfit() (questo è il denaro) e OrderLots() (questo è il volume in lotti) di entrambi gli ordini. Calcolare il rapporto tra profitto e perdita e chiudere l'ordine redditizio e questa parte in lotti dell'ordine perdente. Prima di ottenere i profitti e i lotti di un ordine, deve essere preselezionato un OrderLots().
// ticket1 тикет прибыльного ордера, ticket2 убыточногоbool sel1=OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES);
double profit1=OrderProfit();
double Lts1=OrderLots();
double price1=0; if(OrderType()==0)price1=Bid; else price1=Ask;
bool sel2=OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES);
double profit2=OrderProfit(); // profit1 < profit2 можно условием впереди поставитьdouble Lts2=OrderLots();
double price2=0; if(OrderType()==0)price2=Bid; else price2=Ask;
double ratio=fabs(profit1/profit2); // или если ratio<1, и берем модуль, у нас один профит меньше нуляdouble lotsl=Lts2*ratio;
Alert("Попытка закрыть прибыльный ордер тикет1 ",ticket1,". Ожидание ответа..");
RefreshRates(); // Обновление данныхbool Ans1=OrderClose(ticket1,Lts1,price1,2); // Закрытие прибыльного ордераif(Ans1==true) // Получилось :)Alert("Закрыт ордер тикет1 ",ticket1,". профит1 ",profit1);
elseAlert(" Ошибка при закрытии ордера тикет1",ticket1," Код ошибки ",GetLastError());
Alert("Попытка закрыть часть ордера тикет2 ",ticket2,". Ожидание ответа..");
RefreshRates(); // Обновление данныхbool Ans2=OrderClose(ticket2,lotsl,price2,2); // Закрытие убыточного ордера частичноif(Ans2==true) // Получилось :)Alert("Закрыт частично ордер тикет2 ",ticket2,". профит2 ",profit2);
elseAlert(" Ошибка при закрытии ордера тикет2",ticket2," Код ошибки ",GetLastError());
Grazie, l'ho trovato, ma è un po' diverso, solo su una riga.
Vitaly, mi sorprendi. Tutti questi indicatori sono basati sulla costruzione di DRAW_ARROW con il codice appropriato. Nel tuo disegno i quadrati sono il codice 167
ObjectSetInteger(0, up_arrow, OBJPROP_ARROWCODE, 167); // установим код стрелки
E il livello della serie è impostato come il gatto di Artyom o i desideri del gatto. Può essere in numeri interi o in decimi.
Vitaly, mi sorprendi. Tutti questi indicatori sono basati sul disegno DRAW_ARROW con un codice corrispondente. Nella tua immagine i quadrati sono il codice 167
E il livello della fila è impostato come il gatto o il gatto di Artyom desidera. Può essere in numeri interi o in decimi.
Iniziare e chiedere cosa non funziona.
Non capisco il principio del rientro dal basso in modo che sia uguale in più righe
Tutti gli indicatori funzionano nello stesso thread. Di conseguenza, ogni indicatore consuma alcune risorse della CPU. Metti 100500 indicatori con gli stessi parametri e cosa succederà al terminale? Se 300 grammi di patate sono sufficienti per rendervi felici nei prossimi 20 minuti, ma ne avrete un sacco pieno sulle spalle. Come ti piace?
Puoi dirmi se ho visto una sottofinestra dell'indicatore disegnata in questo stile da qualche parte in kodobase?
Non riesco a trovarlo
Buon pomeriggio. Ho letto di Vail. Non so aggiungere o sottrarre.
Non posso dire nulla sulla gestione del denaro, non l'ho provata.
Ho allegato l'ultima versione. Ma ho già incasinato tutto per me)
Order1(2) il profitto dell'ordine selezionato
Order1(3) il lotto dell'ordine selezionato
Non riuscivo a capire il codice.
Cercherò di spiegare. Spero che conosciate i biglietti degli ordini necessari, rende le cose molto facili. Le condizioni. C'è un ordine di profitto con un profitto maggiore di zero, c'è un ordine di perdita con un profitto minore di zero e maggiore del profitto, e c'è una condizione per la chiusura parziale di un ordine di perdita.
In generale, se gli ordini sono diretti in modo diverso, si può chiudere attraverso OrderCloseBy senza pensarci due volte. L'ordine di perdita più piccolo sarà chiuso uguale all'ordine di profitto più piccolo. Abbiamo bisogno solo di 2 biglietti.
Possiamo renderlo più complicato, ottenere OrderProfit() (questo è il denaro) e OrderLots() (questo è il volume in lotti) di entrambi gli ordini. Calcolare il rapporto tra profitto e perdita e chiudere l'ordine redditizio e questa parte in lotti dell'ordine perdente. Prima di ottenere i profitti e i lotti di un ordine, deve essere preselezionato un OrderLots().
Puoi dirmi se ho visto una sottofinestra dell'indicatore disegnata in questo stile da qualche parte in kodobase?
Non riesco a trovarlo.
Vedere gli indicatori di Scriptor
Vedere gli indicatori di Scriptor.
Grazie, l'ho trovato, ma è un po' diverso, solo su una riga
Grazie, l'ho trovato, ma è un po' diverso, è solo per una riga.
Credo che ci siano anche diverse file.
Credo che ci sia anche qualche fila.
Ci sono più di 1500 codici, devo averlo perso, purtroppo
Grazie, l'ho trovato, ma è un po' diverso, solo su una riga.
Vitaly, mi sorprendi. Tutti questi indicatori sono basati sulla costruzione di DRAW_ARROW con il codice appropriato. Nel tuo disegno i quadrati sono il codice 167
E il livello della serie è impostato come il gatto di Artyom o i desideri del gatto. Può essere in numeri interi o in decimi.
Iniziare e chiedere cosa non funziona.
Puoi dirmi se ho visto una sottofinestra dell'indicatore disegnata in questo stile da qualche parte in kodobase?
Non riesco a trovarlo
DRAW_ARROW non è buono?
8 buffer se si disegna con un colore, 16 se con due.
o DRAW_COLOR_LINE con linee più spesse.
Il senso è che le linee sono sempre allo stesso livello (primo 1 secondo 2 ecc.), cambia solo il colore.
Vitaly, mi sorprendi. Tutti questi indicatori sono basati sul disegno DRAW_ARROW con un codice corrispondente. Nella tua immagine i quadrati sono il codice 167
E il livello della fila è impostato come il gatto o il gatto di Artyom desidera. Può essere in numeri interi o in decimi.
Iniziare e chiedere cosa non funziona.
Non capisco il principio del rientro dal basso in modo che sia uguale in più righe
È qui che non posso iniziare