Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 175

 

Posso avere un po' del codice, sono interessato a come fare il loop delle date?

//=================================================История на дату - Баланс ====================================================================================================

doppio Ballanc()

{

doppia data=0, storia=0;

for ( int trade = OrdersTotal() - 1; trade >= 0; trade-- )

{

if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == MagicLock && OrderSymbol() == Symbol())

{

date=Day();

}

}

for ( trade = data - 1; trade >= 0; trade--)

{

for ( int trade = OrdersHistoryTotal() - 1; trade >= 0; trade-- )

{

se ( OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY))

{

=OrderProfit(;)

}

}

}


return(profithistory);


 
o tempo da usare, qual è il modo migliore?
 
Ho un'idea: prendere un giorno, un mese, un anno separatamente e fare tre cicli. Mi sto muovendo nella giusta direzione?
 

Questa è la funzione! La condizione era di conoscere il saldo del conto alla data di apertura dell'ordine di chiusura.

//=================================================История на дату - Баланс ====================================================================================================

doppio Ballanc()

{

int date=31,month=12,year=0;

doppio history=0,swaphistory=0;

for ( int trade = OrdersTotal() - 1; trade >= 0; trade-- )

{

if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == MagicLock && OrderSymbol() == Symbol())

{

year=Year();

}

}

per (int trade=anno;trade>=2018;trade--)

{

for ( trade=mese;trade>=1;trade--)

{

for ( trade = data; trade >= 1; trade--)


{

for ( trade = OrdersHistoryTotal() - 1; trade >= 0; trade-- )

{

if ( OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY) && date==Day() && month==Month() && year==Year())

{

swaphistory+=OrderProfit();

swaphistory+=OrderSwap();

}

}

}

}

}

return(profithistory+swaphistory)

}

 
Il link del saldo del conto in alto è apparso da solo...
 

Nella libreria Metacvot, che è usata per fare i pannelli, è implementato l'evento ON_DRAG_PROCESS.

C'è la necessità di gestire l'evento ON_DRAG_PROCESS per una linea di tendenza separata piuttosto che per gli elementi del pannello all'interno del codice di tale pannello. È possibile e come implementarlo? Ho provato e ho fallito.

 

Buon pomeriggio!

Potete dirmi in quali situazioni dopo la deinizializzazione di EA può verificarsi una perdita di memoria come "1 leaked strings left"?

Non rimangono più oggetti, tutti quelli dinamici sono stati cancellati, questo è l'unico messaggio di perdita di memoria

 
Ciao, potresti dirmi come modificare il calcolo del take profit e dello stop loss ad ogni nuova barra?
 
mikesteb_87:
Ciao, potresti dirmi come modificare il calcolo di take profit e stop loss ad ogni nuova barra?

Hai un link per farlo nel tuo post: https://www.mql5.com/ru/articles/159.

Approssimativamente, in OnTick per controllare se la barra è cambiata, e se è cambiata - per chiamare le procedure necessarie per cambiare lo stop loss e il take profit.

Обработчик события "новый бар"
Обработчик события "новый бар"
  • www.mql5.com
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
 
Zelimhannahal00:
Ragazzi, aiutatemi a correggere il codice EA, al primo segnale compra per tutti i fondi in lotti di 0,1. L'errore è molto probabilmente nel controllo degli ordini, si scopre che non si controlla ma si compra. Non riesco a capire come risolvere