[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 445

 

말도 안되는 문제가 있습니다. 주문 마감 기능에 오류가 있습니다.

OrserClose ( int tip ) {
if ( tip == 1 ) {
for ( i = 0 ; i < OrdersTotal ( ) ; i + + ) {
           if ( true = = OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) {
           if ( OrderType ( ) = = OP_BUY & & OrderSymbol ( ) = = Symbol ( ) & & OrderMagicNumber ( ) = = Magic ) {
           OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , 3 , Violet ) ;
               }
           }
         }   
}

오류를 제공합니다(다른 터미널에서)

EURCHF,M5: 주문 닫기 오류 4107

EURCHF,M5: OrderClose 함수 에 대한 잘못된 가격 1.48566000


완료되면

 OrderClose ( OrderTicket ( ) , OrderLots ( ) , OrderClosePrice ( ) , 3 , Violet ) ;
 OrderClose ( OrderTicket ( ) , OrderLots ( ) , MarketInfo ( Symbol ( ) , MODE_BID ) , 3 , Violet ) ;

같은 실수. 그런데 또 별도의 함수가 아니라 int start()에 OrderClose (..) 를 쓰면 그런 에러가 발생하지 않는다.

문제는 무엇이며 어떻게 치료할 수 있습니까?



 
루프를 끝에서 처음으로 실행해 보십시오.
 for ( i = OrdersTotal ( ) - 1 ; i > 0; i -- )
 
TG >> :

말도 안되는 문제가 있습니다. 주문 마감 기능에 오류가 있습니다.

오류를 제공합니다(다른 터미널에서)

EURCHF,M5: 주문 닫기 오류 4107

EURCHF,M5: OrderClose 기능에 대한 잘못된 가격 1.48566000


완료되면

같은 실수. 그런데 또 별도의 함수가 아니라 int start()에 OrderClose (..) 를 쓰면 그런 에러가 발생하지 않는다.

문제는 무엇이며 어떻게 치료할 수 있습니까?









가격을 정상화하다

 

 int tick = 0 , MaxTicks = 5 ;
bool SaveTickOn = 1 ;
string bid_s ;

int start ( ) {
   if ( SaveTickOn ) {
       int rw_mode = FILE_CSV | FILE_READ | FILE_WRITE ;
       if ( tick = = 0 ) rw_mode = FILE_CSV | FILE_WRITE ;
       int handle1 = FileOpen ( "bids1.dat" , rw_mode , " " ) ;
      bid_s = DoubleToStr ( Bid , Digits ) ; 
       FileWrite ( handle1 , bid_s ) ;
       if ( GetLastError ( ) ! = 0 ) Alert ( "Error= " , GetLastError ( ) ) ;
       Alert ( tick , ": " , bid_s ) ;
      tick + + ;
       if ( tick = = MaxTicks ) SaveTickOn = 0 ; 
       FileClose ( handle1 ) ;
   }
   return ( 0 ) ;
}

추가 로 파일에 쓰는 간단한 코드가 있지만 어떤 이유로 파일에 추가하는 옵션

FILE_READ | FILE_WRITE 

작동하지 않습니다.

뭐가 될수 있었는지?

 

이것을 시작에 붙이면 보증으로 모든 것이 닫히고 조건을 입력하십시오.

 if ( Close_ ) {
for ( int trade = OrdersTotal ( ) - 1 ; trade > = 0 ; trade - - ) {
OrderSelect ( trade , SELECT_BY_POS , MODE_TRADES ) ;
if ( OrderSymbol ( ) = = Symbol ( ) ) {
if ( OrderSymbol ( ) = = Symbol ( ) & & OrderMagicNumber ( ) = = MagicNumber ) {

if ( (OrderType ( ) = = OP_BUY ) & & ( условие закрытия для бай )) OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , slip , Blue ) ;
if ( (OrderType ( ) = = OP_SELL ) & & ( условие закрытия для селл )) OrderClose ( OrderTicket ( ) , OrderLots ( ) , Ask , slip , Red ) ;
}
Sleep ( 1000 ) ;
}
}
}
 
Andrei01 >> :

추가로 파일에 쓰는 간단한 코드가 있지만 어떤 이유로 파일에 추가하는 옵션

작동하지 않습니다.

뭐가 될수 있었는지?

또한 FileIsEnding(handle1) 파일의 끝 부분에 대한 포인터의 함수가 0을 반환하는지 확인했지만 1이어야 합니다. 즉, 분명히 파일에 추가하는 모드에서 MT4에 버그가 있습니다.

 
Andrei01 писал(а) >>

또한 FileIsEnding(handle1) 파일의 끝 부분에 대한 포인터의 함수가 0을 반환하는지 확인했지만 1이어야 합니다. 즉, 분명히 파일에 추가하는 모드에서 MT4에 버그가 있습니다.

파일 끝까지 가보셨나요? 파일 찾기()

 
//+----------------------------------------------- --------------------+
//| 파일에 줄 쓰기 |
//+----------------------------------------------- --------------------+
void WritingLineInFile(문자열 파일 이름, 문자열 텍스트)
{
int file_handle=FileOpen(파일 이름, FILE_READ|FILE_WRITE , " ");

if (file_handle>0)
{
파일찾기(file_handle, 0, SEEK_END);
FileWrite(file_handle, 텍스트);
파일 닫기(file_handle);
}

}
버그가 없습니다. 올바르게 작성하기만 하면 됩니다. 이 함수는 FileName 에 텍스트를 추가합니다.
 

안녕하세요!

스스로 프로그래밍을 하려고 해요!

내가 가야 할 방향을 알아낼 수 있도록 도와주세요! 급하고 빠르게 필요한 경우(초보자용)

++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++++++++++++

두 개의 MA로 구성된 특정 지표가 있습니다.

" MessageBox " 기능을 사용하여 화면에 메시지와 함께 두 MA가 교차하는 지점에 사운드 신호를 생성해야 합니다.

무엇을 할까요?

1. 스크립트를 만드시겠습니까? "MessageBox" 기능으로

2. 아니면 이 기능을 사용하여 표시기 코드에 조건을 추가하시겠습니까?

3. 아니면 이미 만들어진 스크립트를 지표와 연결합니까? 가능한 경우 어떻게 연결합니까?

4. 아니면 Expert Advisor를 만드는 것이 더 쉽습니까?

누군가가 있다면. 두 개의 이동 평균이 있는 간단한 클래식 Expert Advisor의 소스 코드를 살펴보겠습니다.

(전문가 조건...빠른 MA가 아래에서 위로 느린 MA를 교차(또는 터치)하면 매수

.............. 빠른 MA가 느린 MA를 위에서 아래로 교차(또는 터치)하면 앉습니다.

........................... StopLoss 기능 포함

.............................. TakeProfit 기능 사용

........................... Lot 기능 포함

고맙습니다!

 
DRevodel писал(а) >>

안녕하세요!

직접 프로그래밍을 하려고 합니다!

내가 가야 할 방향을 알아낼 수 있도록 도와주세요! 급하고 빠르게 필요한 경우(초보자용)

두 개의 MA로 구성된 특정 지표가 있습니다.

"MessageBox" 기능을 사용하여 화면에 메시지와 함께 두 MA가 교차하는 지점에 사운드 신호를 생성해야 합니다.

무엇을 할까요?

2. 아니면 이 기능을 사용하여 표시기 코드에 조건을 추가하시겠습니까?

고맙습니다!

사유: