int start(){ Comment(symbolsArray[0]+"|"+symbolsArray[1]+"|"+symbolsArray[2]+"|"+symbolsArray[3]+"|"+symbolsArray[4]); //при запуске советника комментарий выводит правильную информацию, но через время один из элементов массива становится равным совсем другому значению ... return(0); }
void StringToArray (string stringOfSymbols, string &arrayOfSymbols[]){ ...//функция заносит в массив названия торговых инструментов, здесь ошибок нету (проверено) }
int start(){ Comment(symbolsArray[0]+"|"+symbolsArray[1]+"|"+symbolsArray[2]+"|"+symbolsArray[3]+"|"+symbolsArray[4]); //при запуске советника комментарий выводит правильную информацию, но через время один из элементов массива становится равным совсем другому значению ... return(0); }
void StringToArray (string stringOfSymbols, string &arrayOfSymbols[]){ ...//функция заносит в массив названия торговых инструментов, здесь ошибок нету (проверено) }
//-------------------------------------------------------------------- start() // Специальная функция start() { while(!IsStopped()) // До тех пор, пока пользователь.. { // ..не прекратит исполнение программы RefreshRates(); // Обновление данных //......................Здесь указывается основной код программы Sleep(5); // Небольшая пауза } return; // Управление возвращается терминалу } //--------------------------------------------------------------------
//-------------------------------------------------------------------- start() // Специальная функция start() { while(!IsStopped()) // До тех пор, пока пользователь.. { // ..не прекратит исполнение программы RefreshRates(); // Обновление данных //......................Здесь указывается основной код программы Sleep(5); // Небольшая пауза } return; // Управление возвращается терминалу } //--------------------------------------------------------------------
コードを見ることはできますか?
extern string SYMBOLS ="EURUSD,GBPUSD,EURGBP,EURJPY,USDJPY";
string symbolsArray[1];
...
void init(){
StringToArray(SYMBOLS, symbolsArray);
...
}
int start(){
Comment(symbolsArray[0]+"|"+symbolsArray[1]+"|"+symbolsArray[2]+"|"+symbolsArray[3]+"|"+symbolsArray[4]);
//при запуске советника комментарий выводит правильную информацию, но через время один из элементов массива становится равным совсем другому значению
...
return(0);
}
void StringToArray (string stringOfSymbols, string &arrayOfSymbols[]){
...//функция заносит в массив названия торговых инструментов, здесь ошибок нету (проверено)
}
extern string SYMBOLS ="EURUSD,GBPUSD,EURGBP,EURJPY,USDJPY";
string symbolsArray[1];
...
void init(){
StringToArray(SYMBOLS, symbolsArray);
...
}
int start(){
Comment(symbolsArray[0]+"|"+symbolsArray[1]+"|"+symbolsArray[2]+"|"+symbolsArray[3]+"|"+symbolsArray[4]);
//при запуске советника комментарий выводит правильную информацию, но через время один из элементов массива становится равным совсем другому значению
...
return(0);
}
void StringToArray (string stringOfSymbols, string &arrayOfSymbols[]){
...//функция заносит в массив названия торговых инструментов, здесь ошибок нету (проверено)
}
まず、#property strict を追加し、エラーや警告があれば修正し、init() と start() を OnInit() と OnTick() に置き換えてください。
5つのエラーと83の警告が表示されました ))))
ありがとうございました。
5つのエラーと83の警告が出た ))))
新しい」言語で書くようにすれば、見つけにくいミスは少なくなります。
start() // Специальная функция start()
{
while(!IsStopped()) // До тех пор, пока пользователь..
{ // ..не прекратит исполнение программы
RefreshRates(); // Обновление данных
//......................Здесь указывается основной код программы
Sleep(5); // Небольшая пауза
}
return; // Управление возвращается терминалу
}
//--------------------------------------------------------------------
MQL4のチュートリアルでそのような作りになっているのに出会いました。
start() // Специальная функция start()
{
while(!IsStopped()) // До тех пор, пока пользователь..
{ // ..не прекратит исполнение программы
RefreshRates(); // Обновление данных
//......................Здесь указывается основной код программы
Sleep(5); // Небольшая пауза
}
return; // Управление возвращается терминалу
}
//--------------------------------------------------------------------
台本に書いてあるのか、専門家に書いてあるのか。
試験官で
あの...となると、メインコードで何が起こっているかによりますね。注文を送ることが悪いことなら!
はい、送信中です。あるシンボルのウィンドウでEAを起動し、別のシンボルに注文を出した場合、強制的に相場が更新されるのかどうかがよくわかりません。例えば、EURUSDの相場が更新されず、同時にGBPUSDの新しい相場が受信された場合。また、Expert Advisor が EURUSD で実行され、RefreshRates() を実行しない場合、Expert Advisor は EURUSD の相場が更新されるまで GBPUSD の注文を送信しませんか。
現在の価格を知るには、いくつかの方法があります。
1.任意のシンボルについて:保証された現在の価格を取得したい場合は、使用する前に正しい識別子でSymbolInfoDouble()を呼び出してください。
2.現在のシンボルについて、定義済みの変数BidとAskを通じて現在の価格を取得することもできます。これらは古くなる可能性があるので、OnTick()関数が長時間実行されている場合は、RefreshRates()を使用してリフレッシュする必要があります。