5명을 위한 김씨의 기능을 보는 것도 좋을 것 같다. 말해 주세요. 김에 그런 기능이 있었다
//+------------------------------------------------------------------+//| Проверяет был ли открыт последний ордер на этой же свече |//| Checks whether the opened last the order on the same candle |//+------------------------------------------------------------------+bool IfOrdOpClSelfBar( int magik = 0 , int bar = 0 , int typ = - 1 , string sy = "" , int per = 0 ){
if (sy == "" ){sy = Symbol ();}
if (per== 0 ){per= Period ();}
for ( int i = OrdersTotal (); i>= 0 ; i--){
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )){
if ( OrderSymbol ()!=sy){ continue ;}
if ( OrderType ()==typ||typ==- 1 ){
if ( OrderMagicNumber ()==magik||magik== 0 ){
if ( OrderOpenTime ()>= iTime (sy,per,bar)){ return ( true );}
}
}
}
}
for (i = OrdersHistoryTotal (); i>= 0 ; i--){
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )){
if ( OrderSymbol ()!=sy){ continue ;}
if ( OrderType ()==typ||typ==- 1 ){
if ( OrderMagicNumber ()==magik||magik== 0 ){
if ( OrderOpenTime ()>= iTime (sy,per,bar)){ return ( true );}
}
}
}
}
return ( false );
}
mql5에서 다시 작성하려고합니다. 그러나 그는 일하기를 원하지 않습니다. 그녀를 강제하는 방법? :)
//+------------------------------------------------------------------+//| Проверяет был ли открыт последний ордер на этой же свече |//| Checks whether the opened last the order on the same candle |//+------------------------------------------------------------------+bool IfOrdOpClSelfBar( ENUM_ORDER_TYPE type)
{
for ( int i = OrdersTotal (); i>= 0 ; i--){
if ( OrderSelect ( OrderGetTicket (i)) > 0 )
{
if ( OrderGetString ( ORDER_SYMBOL )!= _Symbol ){ continue ;}
if ( OrderGetInteger ( ORDER_TYPE )==type)
{
if ( OrderGetInteger ( ORDER_MAGIC ) == magicN)
{
if ( OrderGetInteger ( ORDER_TIME_SETUP ) >= iTime ( NULL , Period (), 0 )){ return ( true );}
}
}
}
}
for ( int i = HistoryOrdersTotal (); i>= 0 ; i--){
if ( HistoryOrderSelect ( OrderGetTicket (i)) > 0 )
{
if ( OrderGetString ( ORDER_SYMBOL )!= _Symbol ){ continue ;}
if ( OrderGetInteger ( ORDER_TYPE )==type)
{
if ( OrderGetInteger ( ORDER_MAGIC ) == magicN)
{
if ( OrderGetInteger ( ORDER_TIME_SETUP ) >= iTime ( NULL , Period (), 0 )){ return ( true );}
}
}
}
}
return ( false );
}
고맙습니다!
그리고 이것은 더 오래된 코드이지만 사진에서: TrailingStop
테스터의 OnInit에 있는 EventSetTimer는 첫 번째 틱의 시작 날짜부터가 아니라 테스트 간격의 시작 날짜인 균형 거래에서 계산됩니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
mql4 언어의 기능, 미묘함 및 작업 방법
fxsaber , 2019.02.12 13:12
다차원 배열 을 위한 ArrayResize의 기능5명을 위한 김씨의 기능을 보는 것도 좋을 것 같다. 말해 주세요. 김에 그런 기능이 있었다
mql5에서 다시 작성하려고합니다. 그러나 그는 일하기를 원하지 않습니다. 그녀를 강제하는 방법? :)
5명을 위한 김씨의 기능을 보는 것도 좋을 것 같다. 말해 주세요. 김에 그런 기능이 있었다
mql5에서 다시 작성하려고합니다. 그러나 그는 일하기를 원하지 않습니다. 그녀를 강제하는 방법? :)
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
라이브러리: MT4Orders
fxsaber , 2019.01.13 17:23
Kim의 MT4 기능은 꽤 유명해서 그의 사이트에서 모든 소스를 다운로드하여 MT5용으로 간단한 "변환기"를 작성했습니다.목발 감사합니다 아주 유용합니다 :) 하지만 이 문제를 이해하고 이해하기 위해 상위 5개를 배우는 중이니 기본적으로 펜으로 정리하는 것이 중요합니다.
수백만 개의 틱을 파싱하면서 주기적으로 메모리 사용량을 살펴보기로 했습니다.
변경 후 실행 속도가 크게 떨어지는 것을 알았습니다.
원인: TerminalInfoInteger의 일부 사용은 매우 오랜 시간이 걸립니다.
조심하세요.매우 비싼 기능입니다.
TERMINAL_MEMORY_AVAILABLE
TERMINAL_MEMORY_PHYSICAL 및 TERMINAL_MEMORY_TOTAL은 첫 번째 요청 후에 캐시됩니다. 후속 요청은 캐시된 값을 반환합니다.