찻주전자의 질문 - 페이지 274

 
그냥 닫는거 아님?
 
네. 그리고 잘 열립니다.
 

그리고 OrderSend 전에 정확성에 대한 주문 확인을 삽입해 보십시오.

 //---- Проверка торгового запроса на корректность
if (! OrderCheck (request,check))
{
 ( "Ошибка проверки ордера OrderCheck(): " ,ResultRetcodeDescription(check.retcode));
}



//+------------------------------------------------------------------+
//| возврат стрингового результата торговой операции по его коду     |
//+------------------------------------------------------------------+
string ResultRetcodeDescription( int retcode)
  {
   string str;
//----
   switch (retcode)
     {
       case TRADE_RETCODE_REQUOTE : str= "Реквота" ; break ;
       case TRADE_RETCODE_REJECT : str= "Запрос отвергнут" ; break ;
       case TRADE_RETCODE_CANCEL : str= "Запрос отменен трейдером" ; break ;
       case TRADE_RETCODE_PLACED : str= "Ордер размещен" ; break ;
       case TRADE_RETCODE_DONE : str= "Заявка выполнена" ; break ;
       case TRADE_RETCODE_DONE_PARTIAL : str= "Заявка выполнена частично" ; break ;
       case TRADE_RETCODE_ERROR : str= "Ошибка обработки запроса" ; break ;
       case TRADE_RETCODE_TIMEOUT : str= "Запрос отменен по истечению времени" ; break ;
       case TRADE_RETCODE_INVALID : str= "Неправильный запрос" ; break ;
       case TRADE_RETCODE_INVALID_VOLUME : str= "Неправильный объем в запросе" ; break ;
       case TRADE_RETCODE_INVALID_PRICE : str= "Неправильная цена в запросе" ; break ;
       case TRADE_RETCODE_INVALID_STOPS : str= "Неправильные стопы в запросе" ; break ;
       case TRADE_RETCODE_TRADE_DISABLED : str= "Торговля запрещена" ; break ;
       case TRADE_RETCODE_MARKET_CLOSED : str= "Рынок закрыт" ; break ;
       case TRADE_RETCODE_NO_MONEY : str= "Нет достаточных денежных средств для выполнения запроса" ; break ;
       case TRADE_RETCODE_PRICE_CHANGED : str= "Цены изменились" ; break ;
       case TRADE_RETCODE_PRICE_OFF : str= "Отсутствуют котировки для обработки запроса" ; break ;
       case TRADE_RETCODE_INVALID_EXPIRATION : str= "Неверная дата истечения ордера в запросе" ; break ;
       case TRADE_RETCODE_ORDER_CHANGED : str= "Состояние ордера изменилось" ; break ;
       case TRADE_RETCODE_TOO_MANY_REQUESTS : str= "Слишком частые запросы" ; break ;
       case TRADE_RETCODE_NO_CHANGES : str= "В запросе нет изменений" ; break ;
       case TRADE_RETCODE_SERVER_DISABLES_AT : str= "Автотрейдинг запрещен сервером" ; break ;
       case TRADE_RETCODE_CLIENT_DISABLES_AT : str= "Автотрейдинг запрещен клиентским терминалом" ; break ;
       case TRADE_RETCODE_LOCKED : str= "Запрос заблокирован для обработки" ; break ;
       case TRADE_RETCODE_FROZEN : str= "Ордер или позиция заморожены" ; break ;
       case TRADE_RETCODE_INVALID_FILL : str= "Указан неподдерживаемый тип исполнения ордера по остатку " ; break ;
       case TRADE_RETCODE_CONNECTION : str= "Нет соединения с торговым сервером" ; break ;
       case TRADE_RETCODE_ONLY_REAL : str= "Операция разрешена только для реальных счетов" ; break ;
       case TRADE_RETCODE_LIMIT_ORDERS : str= "Достигнут лимит на количество отложенных ордеров" ; break ;
       case TRADE_RETCODE_LIMIT_VOLUME : str= "Достигнут лимит на объем ордеров и позиций для данного символа" ; break ;
       case TRADE_RETCODE_INVALID_ORDER : str= "Выставляемый ордер имеет запрещенный или неверный тип" ; break ;
       case TRADE_RETCODE_POSITION_CLOSED : str= "Операция с позицией невозможна, так как позиция отсутствует" ; break ;
       default : str= "Неизвестный результат" ;
     }
//----
   return (str);
  }
 

아, 그리고 한 가지 더: 닫기 절차에서 구조를 채우기 전에 구조를 0으로 만드십시오.

 ZeroMemory (tradeRequest);
ZeroMemory (tradeResult);


후에

 SymbolInfoTick (symb, price);

이 두 줄을 삽입하십시오.

 
i_logic :

아, 그리고 한 가지 더: 닫기 절차에서 구조를 채우기 전에 구조를 0으로 만드십시오.


후에

이 두 줄을 삽입하십시오.

아니요, 다음이 필요합니다.

 for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--)
    {
       ZeroMemory (tradeRequest);
       ZeroMemory (tradeResult);
       ZeroMemory (price);
      
      symb= PositionGetSymbol (i);
       PositionSelect (symb);
       SymbolInfoTick (symb, price);

도왔다. 감사하다.

 

안녕하세요, 저는 EA에서 fibo grid를 구축하고 있습니다.

ObjectCreate(0,"피보", OBJ_FIBO ,0,시간2,가격2,시간1,가격1);

다 잘되는데 이제 23.6% 수준으로 가격을 구하고 싶은데 이런 용도로 간단한 기능은 없는건가요?

더블 flevel236 = ObjectGetDouble(0,"피보",OBJPROP_LEVELVALUE,1); 여기 있습니다 - 0.236을 제공합니다. 가격이 아니라 수준 입니다.

더블 flevel236 = ObjectGetDouble(0,"피보",OBJPROP_PRICE,1); 여기 있습니다 - 수준 0(또는 수준 100) 의 가격을 제공합니다.

이 두 가지(OBJPROP_PRICE 및 OBJPROP_LEVELVALUE) 외에는 아무것도 찾지 못했습니다.

이 문제를 해결하는 방법을 알려주세요. 고맙습니다!

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
zhurkin :

이 문제를 해결하는 방법을 알려주세요. 고맙습니다!

두 개의 산술 연산 만 있으면 됩니다. 곱하기(0.236에 0과 첫 번째 수준의 가격 차이를 곱한 값) 다음 더하기(곱한 결과를 0 수준의 가격에 더함).

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - Документация по MQL5
 

안녕하세요, 이전 답변에 감사드립니다!

iCustom(NULL,0,"Examples\\ZigZag",ExtDepth,ExtDeviation,ExtBackstep) 을 사용합니다. 일반적으로 일반 지그재그로 연결합니다. 지금까지 모든 것이 계산에 문제가 없는 것 같습니다. 고문이 차트에 이 연결된 표시기자동으로 그리 도록 해야 할 일을 알려주십시오. 현재 어드바이저를 시작한 후 지그재그 표시기를 수동으로 추가하고 어드바이저에서와 같이 매개 변수를 설정해야 합니다! 고맙습니다.

Способы вызова индикаторов в MQL5
Способы вызова индикаторов в MQL5
  • 2010.03.09
  • KlimMalgin
  • www.mql5.com
C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.
 
zhurkin :

안녕하세요, 이전 답변에 감사드립니다!

iCustom(NULL,0,"Examples\\ZigZag",ExtDepth,ExtDeviation,ExtBackstep) 을 사용합니다. 일반적으로 일반 지그재그로 연결합니다. 지금까지 모든 것이 계산에 문제가 없는 것 같습니다. 고문이 차트에 이 연결된 표시기자동으로 그리 도록 해야 할 일을 알려주십시오. 현재 어드바이저를 시작한 후 지그재그 표시기를 수동으로 추가하고 어드바이저에서와 같이 매개 변수를 설정해야 합니다! 고맙습니다.

https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 

OOP를 배우기 시작했습니다.

기본 클래스의 하위 항목을 작성할 때 문제가 발생했습니다. 컴파일러는 "'ХХХХХ' - 잘못된 매개변수 수"라고 씁니다.

오랫동안 이유를 찾고 기사와 가이드를 다시 읽고,

발견됨 - 기본 클래스 생성자에서 하나의 매개변수입니다.

또한 기본 생성자로 생성자 함수를 오버로드하여 탈출구를 찾았습니다.

그러나 논리가 정확 하려면 기본 클래스의 매개변수 생성자의 모든 매개변수를 자식의 생성자로 끌어야 합니다.

다른 방법이 있습니까?

어떻게든 자손 클래스를 선언할 때 즉시, 누구에게 무엇을 배포할 수 있습니까? 예를 들어, 이 매개변수는 기본 클래스 생성자를 위한 것이고, 이것들은 아이가 지루해하지 않도록 하기 위한 것입니다...