bool takelimit; // Здесь переменная равна false//--- Здесь вот что: сначала выбирается ордер по тикету (MODE_TRADES здесь не нужно от слова "совсем", что говорит о том, что вы не представляете что вы делаете), //--- далее переменной takelimit присваивается результат работы функции выбора ордера, //--- и если ордер есть с таким тикетом, или был когда-то, то функция вернёт true, и takelimit будет присвоено true, соответственно, будет выведен код последней ошибки,//--- что вовсе не говорит, что ошибка здесь была при выборе ордера по тикету - вы же переменную, хранящую код последней ошибки, не сбросили при помощи ResetLastError()//--- И далее вообще не понятно к чему у вас фигурные скобки - они висят в пустоте, а это составной оператор, который должен после условия идти.if (takelimit= OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES ))
Print ( string (takelimit)+ " :" , GetLastError ()); //здесь возвращает число 11, получается ошибка код 11, но не нашел расшифровку нигде?
{
if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 1 )
deletelimit= OrderDelete (ticket);
if (!deletelimit)
Comment ( GetLastError ());
}
//+------------------------------------------------------------------+//--- А нужно примерно так (фигурные скобки специально оставил для понимания где какой блок кода):ResetLastError ();
if ( OrderSelect (ticket, SELECT_BY_TICKET ) && OrderCloseTime ()== 0 )
{
if ( iBarShift ( Symbol (), PERIOD_CURRENT , OrderOpenTime ())== 1 )
{
if (! OrderDelete (ticket))
Print ( "Ошибка удаления ордера #" ,( string )ticket, ": " , GetLastError ());
}
}
else
{
Print ( "Ошибка выбора ордера #" ,( string )ticket, ": " , GetLastError ());
}
첫 번째 변수가 bool 유형이고 GetLastError가 필요하지 않기 때문에Print(takelimit,GetLastError ())라는 문구는 두 개의 값을 반환합니다. 쉼표가 있습니까? GetLastError는 GetLastError가 호출되었을 때 코드의 마지막 오류를 반환합니까?
예 .. 두 가지 값이 있습니다. 인쇄 .....
작성하신 내용과 거의 동일합니다.
int ticket;
void Fn()
{
ResetLastError (); //Сбрасываем код предыдущей ошибкиif (! OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES )){ Print ( GetLastError ());} //Если не выбран ордер по указанному тикету-принтим код ошибкиelse//иначе(если ордер нашёлся)
{
if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 1 && ! OrderDelete (ticket)){ Comment ( GetLastError ());} //Если выбранный ордер открылся на предыдущем баре и не удалось его удалить(надеюсь Вы работаете с отложенниками)-тогда выводим комент ошибки
}
}
안녕하세요!
나는 반나절을 보냈습니다. 왜 간단한 조건이 충족되지 않는지 이해할 수 없습니다. 이해하도록 도와주세요.
나는 과거 데이터를 실행하고 값은 macd1,2, lowprice, highprice 변수에 할당되지만 조건이 충족되기를 원하지 않고 머리가 깨져 어디를 파야하는지 이해할 수 없습니다 ... (((
아마도 1과 1?/즉. 참 및 오류 코드 1
당신이하고있는 일에 대한 완전한 혼란과 오해 ...
첫 번째 변수가 bool 유형이고 GetLastError가 필요하지 않기 때문에 Print (takelimit, GetLastError ())라는 문구는 두 개의 값을 반환합니다. 쉼표가 있습니까? GetLastError는 GetLastError가 호출되었을 때 코드의 마지막 오류를 반환합니까?
예 .. 두 가지 값이 있습니다. 인쇄 .....
작성하신 내용과 거의 동일합니다.
예 .. 두 가지 값이 있습니다. 인쇄 .....
작성하신 내용과 거의 동일합니다.
당신이하고있는 일에 대한 완전한 혼란과 오해 ...
사실 나는 아무 것도 하지 않지만 사람이 11이 아니라 1과 1)))을 출력한다고 가정했다.
그리고 그냥 뭔가...
당신이하고있는 일에 대한 완전한 혼란과 오해 ...
아..그렇게 틀린말을 하시네요...분명히)
사실 나는 아무 것도 하지 않지만 사람이 11이 아니라 1과 1)))을 출력한다고 가정했다.
이 줄처럼:
"11"을 인쇄할 수 있습니까?
그런 다음 "1:1"을 인쇄합니다.
이 경우 오류 코드 1은 오류가 아니지만 결과를 알 수 없습니다.
이 줄처럼:
"11"을 인쇄할 수 있습니까?
그런 다음 "1:1"을 인쇄합니다.
이 경우 오류 코드 1은 오류가 아니지만 결과를 알 수 없습니다.
예, 이미 다시 작성했습니다!-위를 읽으십시오 ...
아..그렇게 틀린말을 하시네요...분명히)
글쎄요, 나는 당신이 대답한 사람에게 거기에 대답했습니다. 그러나 당신은 그에게 모든 것을 올바르게 말하지 않았습니다. MODE_TRADES가 필요할 때와 필요하지 않을 때 읽으십시오. 그리고 티켓 으로 주문을 선택하는 방법.
네, 당신이 대답했던 그 사람에게도 나는 거기에서 대답했습니다. 그러나 당신은 그에게 모든 것을 올바르게 말하지 않았습니다. MODE_TRADES가 필요할 때와 필요하지 않을 때 읽으십시오. 그리고 티켓 으로 주문을 선택하는 방법.
MODE_TRADES는 아직 그를 보지 않고 11이 인쇄 한 조각 만 ...