[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 189

 
doon :

이 기능을 사용해 보셨습니까? 내 생각에 나는 가장 단순한 곳에서 바보이기 때문에 코드를 보여줄 수 있습니까? 아니면 어떻게 할 것입니까?

아니오, 사용하지 않습니다. 어쨌든 오류는 함수에 있는 것이 아니라 함수 앞에 있습니다.
 
DhP :
게시물 위에 수정 / 삭제 가 있습니다.
내 모든 게시물 위에 있지만 이 게시물 위에는 없습니다! 그리고 하단에는 답장 버튼이 없습니다.
 
DhP :
아니오, 사용하지 않습니다. 어쨌든 오류는 함수에 있는 것이 아니라 함수 앞에 있습니다.


또 다른 오류가 발생했습니다.

't' - 변수가 정의되지 않았습니다. 즉, 문제가 변수에 있습니다. 어떻게 해야할지 이해가 되지 않습니다.

 
globad :
내 모든 게시물 위에 있지만 이 게시물 위에는 없습니다! 그리고 하단에는 답장 버튼이 없습니다.
그렇다면 이것은 당신의 게시물이 아닙니다.
 
DhP :
그렇다면 이것은 당신의 게시물이 아닙니다.
)))))))))))))))))))))))))))))))))
 

여러분, 안녕하세요! 다음 항목을 결합하도록 도와주세요. 결과적으로 가격 뒤에 두 줄, Ask by 20p 아래에 하나가 표시되어야 합니다.

다른 하나는 더 높으며 가격이 20p 변할 때 가청 신호도 제공됩니다. 1틱 동안.

따로따로 다 똑똑하게 작동하는데 합칠수가 없네요. 미리 감사드립니다!

1) 20p까지 문의하기 아래에 있습니다.

 //+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int start()
{
ObjectCreate ( "MyPriceLine" , OBJ_HLINE , 0 , 0 , Ask- 20 * Point ) ;
ObjectSet( "MyPriceLine" , OBJPROP_PRICE1, Ask- 20 * Point );
return ( 0 );
}

//+------------------------------------------------------------------+

2) 라인은 20p까지 요청 위에 있습니다.

 //+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int start()
{
ObjectCreate ( "MyPriceLine" , OBJ_HLINE , 0 , 0 , Ask+ 20 * Point ) ;
ObjectSet( "MyPriceLine" , OBJPROP_PRICE1, Ask+ 20 * Point );
return ( 0 );
}

//+------------------------------------------------------------------+

3) 시간 경과 에 따른 가격 변화율 .

 #property show_inputs

extern int pips= 2 ; //изменение аск
extern double Time_= 0.1 ; //c. ~ tick
extern bool все_из_обзора_рынка=true; // только текущий символ - false

int i, l, p, количество_символов;
string val[], на_экран;
int Ask_save[];

//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
void start(){
количество_символов=SymbolsList(val, true); //запись в массив val инструменты и их количество вызов функции SymbolsList
ArrayResize (Ask_save,количество_символов);
if (количество_символов == - 1 ){ Alert ( "Ошибка открытия файла в SymbolsList(string &Symbols[], bool Selected)" ); return ;}
if (!все_из_обзора_рынка){
количество_символов= 1 ;
ArrayResize (Ask_save,количество_символов);
ArrayResize (val,количество_символов);
val[ 0 ]= Symbol ();
}

while (true&&! IsStopped ()){ //если разрешить и не отанавливать скрипт продолжим

Alert ( "пересчитаем через " +Time_+ " сек." );

for (i= 0 ;i<количество_символов;i++){ //посчитаем стоимость спреда для инструментов из обзора рынка
if ((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT))>=pips){
Alert (val[i]+ "," + Period ()+ " изменился вниз на " +DoubleToStr((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)), 0 )+ " pips" );
PlaySound ( "timeout.wav" );
}
if ((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pips){
Alert (val[i]+ "," + Period ()+ " изменился вверх на " +DoubleToStr((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i]), 0 )+ " pips" );
PlaySound ( "email.wav" );
}
Ask_save[i]=MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT);
}
Sleep (Time_* 1000 ); //пауза сек.
}

/*
количество_символов=SymbolsList(val, true);//запись в массив val инструменты и их количество вызов функции SymbolsList
if(количество_символов == -1){ Alert("Ошибка открытия файла в SymbolsList(string &Symbols[], bool Selected)"); return;}

while(true&&!IsStopped()){ //если разрешить и не отанавливать скрипт продолжим
на_экран="\r\n"; //отступ
for(i=0;i<количество_символов;i++)//посчитаем стоимость спреда для инструментов из обзора рынка
на_экран=на_экран+val[i]+" стоимость спреда = " + DoubleToStr(MarketInfo(val[i],MODE_SPREAD)*MarketInfo(val[i],MODE_TICKVALUE),0)+"\r\n";
Comment(на_экран);//выведем на экран
Alert("Пересчитаем");//сигнал
Sleep(3000);//пауза 3 сек.
}
*/
}
void deinit(){ Comment ( "" );}
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=


//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
// функция читает из обзора рынка все фин.инстр.
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
int SymbolsList( string &Symbols[], bool Selected){
int Offset, SymbolsNumber; string SymbolsFileName;
if (Selected) SymbolsFileName = "symbols.sel" ; else SymbolsFileName = "symbols.raw" ;
int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN | FILE_READ );
if (hFile < 0 ) return (- 1 ); if (Selected) { SymbolsNumber = ( FileSize (hFile) - 4 ) / 128 ; Offset = 116 ; }
else { SymbolsNumber = FileSize (hFile) / 1936 ; Offset = 1924 ; }
ArrayResize (Symbols, SymbolsNumber);
if (Selected) FileSeek (hFile, 4 , SEEK_SET );
for ( int i = 0 ; i < SymbolsNumber; i++){Symbols[i] = FileReadString (hFile, 12 ); FileSeek (hFile, Offset, SEEK_CUR );}
FileClose (hFile);
return (SymbolsNumber);
}
 
doon :


또 다른 오류가 발생했습니다.

't' - 변수가 정의되지 않았습니다. 즉, 문제가 변수에 있습니다. 어떻게 해야할지 이해가 되지 않습니다.

이것은 결과입니다 ...

첫 번째 오류 `(` 가 아니었다면 무엇이 잘못되었는지 궁금할 것입니다. 그리고 첫 번째 오류가 있으면 모든 것이 명확합니다.

 
내 생각에는 같은 일이 발생했습니다. 색상 만 선택하면됩니다.
 
DhP :

이것은 결과입니다 ...

첫 번째 오류 `(` 가 아니었다면 무엇이 잘못되었는지 궁금할 것입니다. 그리고 첫 번째 오류가 있으면 모든 것이 명확합니다.


고마워, 내가 볼게요.
 
globad :
내 생각에는 같은 일이 발생했습니다. 색상 만 선택하면됩니다.

동일하지만 코드가 더 읽기 쉽습니다 (더 친숙함).

이해하기에는 너무 게으르지만 누군가는 긴장하지 않고도 코드에서 오류를 쉽게 찾을 수 있습니다. 기다리다.

사유: