[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 46 1...394041424344454647484950515253...652 새 코멘트 ilunga 2011.08.04 08:26 #451 rustein : 질문이 정확히 어디에 있습니까? Warstein 2011.08.04 08:27 #452 ilunga : 질문이 정확히 어디에 있습니까? https://www.mql5.com/ru/forum/115354/page78 ilunga 2011.08.04 08:31 #453 rustein : https://www.mql5.com/ru/forum/115354/page78 제공한 코드에서 주문이 1개만 있는 경우 루프 for (;Cnt>= 0 ;Cnt--) { RefreshRates (); OrderSelect (Cnt,SELECT_BY_POS); if ( OrderMagicNumber ()==Magic) { TotalOpenOrders++; } } 2회 실행됩니다. 처음으로 존재하지 않는 주문을 선택하려는 시도가 있을 것입니다. Warstein 2011.08.04 08:35 #454 ilunga : 제공한 코드에서 주문이 1개만 있는 경우 루프 2회 실행됩니다. 처음으로 존재하지 않는 주문을 선택하려는 시도가 있을 것입니다. 고마워, 내가 직접 고칠게. --- 2011.08.04 08:37 #455 artmedia70 : 단말기는 고민하다가 15분만에 죽여버렸어 무... 나는 1분도 기다리지 않고 죽였을 것이다. Дмитрий 2011.08.04 08:44 #456 PapaYozh : Ask 및 Bid를 사용하기 직전에 RefreshRates() 를 실행하십시오. 시도했지만 변경 사항 없음 주문을 보내는 기능, 모든 것이 표준인 것 같습니다. int OpenPosition( string AdvisorName, int Position, int Magic, double Lots, double StopLoss){ int N; int Сount = 5 ; int Slippage = (CalculateSpread() * 2 ); string PeriodString = GetPeriod( Period ()); if (Position == OP_BUY){ double Price = NormalizeDouble (Ask, Digits ); string OrderName = " - Покупка по рынку" ; string ErrorName = "Ошибка открытия ордера на покупку" ; string CriticalErrorName = "Невозможно открыть ордер на покупку" ; string MailCriticalErrorName = "Ошибка открытия" ; color Arrow = Gold ;} if (Position == OP_SELL){Price = NormalizeDouble (Bid, Digits ); OrderName = " - Продажа по рынку" ; ErrorName = "Ошибка открытия ордера на продажу" ; CriticalErrorName = "Невозможно открыть ордер на продажу" ; MailCriticalErrorName = "Ошибка открытия" ; Arrow = YellowGreen ;} while ( IsTradeContextBusy () || ! IsTradeAllowed ()){ int Interval = MathRand ()+ 1000 ; Print ( "Торговый поток занят. Повторная проверка через " + DoubleToStr ((Interval/ 1000 ), 0 )+ " сек" ); Sleep (Interval);} RefreshRates (); while (N < Сount){ RefreshRates (); int Ticket = OrderSend ( Symbol (),Position,Lots,Price,Slippage,StopLoss, 0 ,AdvisorName+ OrderName,Magic, 0 ,Arrow); if (Ticket > 0 ){ if ( OrderSelect (Ticket,SELECT_BY_TICKET,MODE_TRADES)){ int Flag = 1 ; PlaySound ( "recharge.wav" ); break ;}} else {Flag = 0 ; int PRM = GetLastError (); string ERR = Error(PRM, "OrderSend()" ); ErrorProcessing(AdvisorName+ " " +PeriodString,ErrorName+ " " +PRM+ " (" + Error(PRM, "OrderSend()" )+ ")" , "" , "OrderSend()" ); N++; Sleep ( 5000 );} if (N == Сount){ErrorProcessing(AdvisorName+ " " +PeriodString,CriticalErrorName, MailCriticalErrorName+ " " +PRM+ " (" +Error(PRM, "OrderSend()" )+ ")" , "OrderSend()" );}} return (Flag);} PapaYozh 2011.08.04 09:06 #457 Dimoncheg : 시도했지만 변경 사항 없음 주문을 보내는 기능, 모든 것이 표준인 것 같습니다. 먼저 RefreshRates() 함수로 가격을 업데이트하고 필요한 가격을 Price에 저장합니다. 그런 다음 Sleep(Interval)을 실행하고 이때 따옴표가 변경됩니다. 그리고 그 후 작년의 견적으로 OrderSend()를 호출 합니다. 문제는 그 대가로 무엇을 받기를 기대하느냐는 것입니다. Дмитрий 2011.08.04 10:53 #458 PapaYozh : 먼저 RefreshRates() 함수로 가격을 업데이트하고 필요한 가격을 Price에 저장합니다. 그런 다음 Sleep(Interval)을 실행하고 이때 따옴표가 변경됩니다. 그리고 그 후 작년의 견적으로 OrderSend()를 호출합니다. 문제는 그 대가로 무엇을 받기를 기대하느냐는 것입니다. 잼에서 엉뚱한 곳에서 조금 현대화해서 이제 기능의 한계를 넘어 가격을 없앴다 OpenPosition( "Sovetneg" ,OP_BUY, NormalizeDouble (Ask, Digits ),Magic,SlowlyIncreasingLots( 0.2 ),MultiStop(OP_BUY,StopLoss)); 기능 자체는 이제 int OpenPosition( string AdvisorName, int Position, double Price, int Magic, double Lots, double StopLoss){ int N; int Сount = 5 ; int Slippage = (CalculateSpread() * 2 ); string PeriodString = GetPeriod( Period ()); if (Position == OP_BUY){ string OrderName = " - Покупка по рынку" ; string ErrorName = "Ошибка открытия ордера на покупку" ; string CriticalErrorName = "Невозможно открыть ордер на покупку" ; string MailCriticalErrorName = "Ошибка открытия" ; color Arrow = Gold ;} if (Position == OP_SELL){ OrderName = " - Продажа по рынку" ; ErrorName = "Ошибка открытия ордера на продажу" ; CriticalErrorName = "Невозможно открыть ордер на продажу" ; MailCriticalErrorName = "Ошибка открытия" ; Arrow = YellowGreen ;} while ( IsTradeContextBusy () || ! IsTradeAllowed ()){ int Interval = MathRand ()+ 1000 ; Print ( "Торговый поток занят. Повторная проверка через " + DoubleToStr ((Interval/ 1000 ), 0 )+ " сек" ); Sleep (Interval);} while (N < Сount){ RefreshRates (); int Ticket = OrderSend ( Symbol (),Position,Lots,Price,Slippage,StopLoss, 0 ,AdvisorName+ OrderName,Magic, 0 ,Arrow); if (Ticket > 0 ){ if ( OrderSelect (Ticket,SELECT_BY_TICKET,MODE_TRADES)){ int Flag = 1 ; PlaySound ( "recharge.wav" ); break ;}} else {Flag = 0 ; int PRM = GetLastError (); string ERR = Error(PRM, "OrderSend()" ); ErrorProcessing(AdvisorName+ " " +PeriodString,ErrorName+ " " +PRM+ " (" + Error(PRM, "OrderSend()" )+ ")" , "" , "OrderSend()" ); N++; Sleep ( 5000 );} if (N == Сount){ErrorProcessing(AdvisorName+ " " +PeriodString,CriticalErrorName, MailCriticalErrorName+ " " +PRM+ " (" +Error(PRM, "OrderSend()" )+ ")" , "OrderSend()" );}} return (Flag);} 이제 맞는 것 같습니까? Delf 2011.08.04 11:03 #459 안녕하세요. 유형 == 4가 무엇을 의미하는지 말하지 마십시오 그리고 유형==5 다음 스니펫에서: 이중 ma=iMA(Symbol(), PERIOD_D1,21,0 ,MODE_SMA,PRICE_CLOSE,0); for(int k=1; k<=OrdersTotal(); k++) bool select=주문선택(k-1,SELECT_BY_POS); if(선택) { inttype=주문 유형(); int 티켓=OrderTicket(); if (입찰가<ma && 유형==4) OrderDelete(티켓); if (입찰가>ma && 유형==5) OrderDelete(티켓); } 주문 삭제 조건은 ma가 이해할 수 있다는 것을 이해하지만 함께 어떻게? 고맙습니다. [ARCHIVE] Any rookie question, 포럼을 어지럽히 지 않도록 [경고, 주제 닫힘!] 포럼을 PapaYozh 2011.08.04 11:11 #460 Dimoncheg : 이제 맞는 것 같습니까? 아니오, 정확하지 않습니다. 더욱 심해졌습니다 :) RefreshRates()는 미리 정의된 Ask 및 Bid 변수 의 값을 업데이트하므로 Price 변수에 저장된 값을 사용합니다. 1...394041424344454647484950515253...652 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
질문이 정확히 어디에 있습니까?
https://www.mql5.com/ru/forum/115354/page78
제공한 코드에서 주문이 1개만 있는 경우 루프
2회 실행됩니다. 처음으로 존재하지 않는 주문을 선택하려는 시도가 있을 것입니다.
제공한 코드에서 주문이 1개만 있는 경우 루프
2회 실행됩니다. 처음으로 존재하지 않는 주문을 선택하려는 시도가 있을 것입니다.
단말기는 고민하다가 15분만에 죽여버렸어
나는 1분도 기다리지 않고 죽였을 것이다.
Ask 및 Bid를 사용하기 직전에 RefreshRates() 를 실행하십시오.
시도했지만 변경 사항 없음
주문을 보내는 기능, 모든 것이 표준인 것 같습니다.
시도했지만 변경 사항 없음
주문을 보내는 기능, 모든 것이 표준인 것 같습니다.
먼저 RefreshRates() 함수로 가격을 업데이트하고 필요한 가격을 Price에 저장합니다.
그런 다음 Sleep(Interval)을 실행하고 이때 따옴표가 변경됩니다.
그리고 그 후 작년의 견적으로 OrderSend()를 호출 합니다.
문제는 그 대가로 무엇을 받기를 기대하느냐는 것입니다.
먼저 RefreshRates() 함수로 가격을 업데이트하고 필요한 가격을 Price에 저장합니다.
그런 다음 Sleep(Interval)을 실행하고 이때 따옴표가 변경됩니다.
그리고 그 후 작년의 견적으로 OrderSend()를 호출합니다.
문제는 그 대가로 무엇을 받기를 기대하느냐는 것입니다.
기능 자체는 이제 이제 맞는 것 같습니까?잼에서 엉뚱한 곳에서 조금 현대화해서 이제 기능의 한계를 넘어 가격을 없앴다
안녕하세요.
유형 == 4가 무엇을 의미하는지 말하지 마십시오
그리고 유형==5
다음 스니펫에서:
이중 ma=iMA(Symbol(), PERIOD_D1,21,0 ,MODE_SMA,PRICE_CLOSE,0);
for(int k=1; k<=OrdersTotal(); k++)
bool select=주문선택(k-1,SELECT_BY_POS);
if(선택)
{
inttype=주문 유형();
int 티켓=OrderTicket();
if (입찰가<ma && 유형==4)
OrderDelete(티켓);
if (입찰가>ma && 유형==5)
OrderDelete(티켓);
}
주문 삭제 조건은 ma가 이해할 수 있다는 것을 이해하지만 함께 어떻게?
고맙습니다.
이제 맞는 것 같습니까?
아니오, 정확하지 않습니다. 더욱 심해졌습니다 :)
RefreshRates()는 미리 정의된 Ask 및 Bid 변수 의 값을 업데이트하므로 Price 변수에 저장된 값을 사용합니다.