"ダミー "からの質問 - ページ 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);
  }
 

それと、もうひとつ、クロージング手順では、必ず構造を無効にしてから記入してください

ZeroMemory(tradeRequest);
ZeroMemory(tradeResult);



SymbolInfoTick(symb, price);

この2行を挿入します。

 
i_logic:

それと、もうひとつ、クロージングの手順で、構造体を充填する前に必ずNULLにしてください



の2行を挿入してください。

いいえ、BEFOREが必要です。

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

を、ありがとうございました。

 

こんにちは、EAでfiboグリッドを構築しています。

ObjectCreate(0, "Fibo",OBJ_FIBO,0,time2,price1);

すべてうまくいくのですが、今度は23.6%の価格を取得したいのですが、この目的のための簡単な関数はないのでしょうか?

double flevel236 = ObjectGetDouble(0, "Fibo",OBJPROP_LEVELVALUE,1); これは0.236、つまり価格ではなくレベルを与えて いるのです。

double flevel236 = ObjectGetDouble(0, "Fibo",OBJPROP_PRICE,1); これはレベル0(またはレベル100)の価格を与えるものです。

この2つ(OBJPROP_PRICEとOBJPROP_LEVELVALUE)以外のものは見つかりませんでした。

この問題を解決する方法を教えてください。ありがとうございました。

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

この問題を解決する方法を教えてください。ありがとうございました。

算術演算は 2つしかない。掛け算(0.236に0レベルと1レベルの価格の差を掛ける)、そして足し算(掛け算の結果を0レベルの価格に足す)です。

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

こんにちは、前回の返信ありがとうございました

iCustom(NULL,0, "ExamplesZigZag",ExtDepth,ExtDeviation,ExtBackstep) を使って、通常のジグザグを結んでいます。計算上は問題ないようですが、この接続したインジケータを 自動的にチャートに描画 するEAの方法を教えてください。今のところ、EAを実行した後にジグザグインジケーターを手動で追加し、EAと同じようにパラメータを設定する必要があります。ありがとうございます。

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

こんにちは、前回の返信ありがとうございました

iCustom(NULL,0, "ExamplesZigZag",ExtDepth,ExtDeviation,ExtBackstep) を使って、通常のジグザグを結んでいます。計算上は問題ないようですが、この接続したインジケータを 自動的にチャートに描画 するEAの方法を教えてください。今のところ、EAを実行した後にジグザグインジケーターを手動で追加し、EAと同じようにパラメータを設定する必要があります。ありがとうございます。

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

OOPの勉強を始めました。

基底クラスの子孫を書くとき、コンパイラは - "'ХХХХ' - wrong parameters count" と書くという問題がありました。

長い間、その理由を探し、論文や参考書を読み直しました。

ベースクラスはコンストラクタを持ち、それは1つであり、パラメトリックです。

私も解決策を見つけました。デフォルトコンストラクタでコンストラクタ関数をオーバーロードすることです。

しかし、その場合、ベースクラスのパラメトリックコンストラクタの すべてのパラメータを子孫のコンストラクタにドラッグして、正しいロジックを作成する必要があります。

他に方法はないのでしょうか?

子孫クラスを宣言する際に、誰に何を分配するかという方法はないのでしょうか?例えば、ベースクラスのコンストラクタにこのパラメータを、子孫に飽きられないようにこのパラメータを...といった具合です。