初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1212

 
Vitaly Muzichenko:

よし、4Kでモンハン探すか。

この写真はどこの国のものですか?

 
Alexey Viktorov:

この写真はどこの国のものですか?

4Kから送信

 
Vitaly Muzichenko:

4Kで送信

では、もう一度確認していただけますか?それとも違う?

 
Alexey Viktorov:

では、もう一度確認していただけますか?それとも違う?

好ましくない)

 
プロパティ#バージョンで 定義されたMQL5プログラムバージョンの値をコード内で取得するにはどうすればよいですか?
 
leonerd:
プロパティ#バージョンで 定義されたMQL5プログラムバージョンの値を取得する方法は?

できないことがわかった。

定数

商品説明

日付

ファイルをコンパイルした日付(時、分、秒は0)。

__DATETIME__

ファイルがコンパイルされた日付と時刻

__LINE__

マクロが配置されているソースコード内の行番号

__FILE__

コンパイルされるファイル名

パス __

現在のコンパイル済みファイルへの絶対パス

FUNCTION__

マクロが配置されている本体内の関数名

__FUNCSIG__

マクロが配置されているボディ内の関数シグネチャ。 パラメータの種類を指定した関数記述は、オーバーロードされた関数を 特定するのに有効です

mqlbuild__, __mql5build__.

コンパイラのビルド番号


そのような変数はありません

Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Предопределенные макроподстановки
Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Предопределенные макроподстановки
  • www.mql5.com
//| Expert initialization function                                   | //| Expert deinitialization function                                 | //| Expert tick function                                             | //| test1                                                            |...
 
leonerd:
プロパティ#バージョンで 定義されたMQL5プログラムバージョンの値を取得する方法は?

私はこれを使っています、他の選択肢が見つからなかったのです。バージョンを2回指定する必要がありますが、それほど難しいことではありません

#property version     "23.25" // 16.04.2020
#define   version     "23.25"
 

専門家の皆さん、ごきげんよう。

前のポジションを閉じた売りと同じバーで買いポジションを開くことを妨げるエラーがコードのどこにあるか教えていただけませんか?

ルールは簡単です(覚えるのは)。
1 エントリー - 遅い指標が0を越える+速い指標もゾーンに入る(買い/売り)

2 出口-高速インジケータによる交差点 0

//+------------------------------------------------------------------+
//|                                                      TestDPO.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Trade\Trade.mqh>
CTrade trade;

input int dpo_fast_period = 9;  // DPO Fast Period
input int dpo_slow_period = 40; // DPO Fast Period
input int magic = 1000;         // Magic советника
input ulong slippage = 10;         // Проскальзывание цены
input double volume = 0.1;      // размер позиции

int DPO_fast;                 // Хэндл для быстрого DPO
int DPO_slow;                 // Хэндл для медленного DPO


double fDPOVal[];                 //Динамический массив для хранения значений fast DPO
double sDPOVal[];                 //Динамический массив для хранения значений slow DPO

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {



   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---------------Задаем цены покупки и продажи------------------------
   double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
   double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);

   int signal=0;  // сигнал на покупку, продажу

//--------------Проверка на новый бар
   if(!isNewBar())
      return;
//--------------------------------------------------------------------

   DPO_fast=iCustom(NULL,0,"Examples\\DPO",dpo_fast_period);   // получаем хэндлы для быстрого
   DPO_slow=iCustom(NULL,0,"Examples\\DPO",dpo_slow_period); // получаем хэндлы для медленного


   ArraySetAsSeries(fDPOVal,true);              //задаем направление индексов массива
   ArraySetAsSeries(sDPOVal,true);
   if(CopyBuffer(DPO_fast,0,0,10,fDPOVal)<0)    // наполняем массив значений DPO fast
     {
      Alert("Ошибка копирования буфера индикатора fast DPO. Ошибка ", GetLastError());
     }
   if(CopyBuffer(DPO_slow,0,0,10,sDPOVal)<0)    // наполняем массив значений DPO slow
     {
      Alert("Ошибка копирования буфера индикатора slow DPO. Ошибка ", GetLastError());
     }

   double DPO_fast_c_value=NormalizeDouble(fDPOVal[1],6);  // запоминаем значение индикатора DPO fast на предыдущем баре
   double DPO_slow_c_value=NormalizeDouble(sDPOVal[1],6);  // запоминаем значение индикатора DPO slow на предыдущем баре
   double DPO_fast_p_value=NormalizeDouble(fDPOVal[2],6);  // запоминаем значение индикатора DPO fast на пред-предыдущем баре
   double DPO_slow_p_value=NormalizeDouble(sDPOVal[2],6);  // запоминаем значение индикатора DPO slow на пред-предыдущем баре

   if(DPO_slow_c_value>0 && DPO_slow_p_value<0 && DPO_fast_c_value>0)  // если медленный индикатор пересекает 0 снизу вверх и быстрый находится выше 0
      signal=1;                                                           // сигнал на открытие покупки
   if(DPO_slow_c_value<0 && DPO_slow_p_value>0 && DPO_fast_c_value<0)  // если медленный индикатор пересекает 0 сверху вниз и быстрый находится ниже 0
      signal=-1;                                                          // сигнал на открытие продажи
   if(DPO_fast_c_value>0 && DPO_fast_p_value<0)                       // если быстрый индикатор пересекает 0 снизу вверх
      signal=-2;                                                           // сигнал на закрытие продажи
   if(DPO_fast_c_value<0 && DPO_fast_p_value>0)                       // если быстрый индикатор пересекает 0 сверху вниз
      signal=2;                                                          // сигнал на закрытие покупки

switch (signal)
         {
         case -1:
         trade.Sell(volume,NULL,Bid,0,0,NULL);
         break;
         case 1:
         trade.Buy(volume,NULL,Ask,0,0,NULL);
         break;
         case -2:
         trade.PositionClose(_Symbol,slippage);
         break;
         case 2:
         trade.PositionClose(_Symbol,slippage);
         break;
	}
  }
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • www.mql5.com
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Как я собираю себе советника методом тыка Из этих...
 
Andrey.Sabitov:

こんにちは、尊敬する専門家の皆さん。

同じバーで前のポジションを閉じた売りで買いのポジションを開くことを妨げるエラーがコードのどこにあるか教えてください。

ルールは簡単です(覚えるのは)。
1 エントリー - 遅い指標が0を越え、速い指標もゾーンに入る(買い/売り)

2 終了 - 高速インジケータが0ラインを横切る

全て正常に動作しています。スローインジケータの 0ラインと交差するオープニング条件、ファーストインジケータのみが指定した場所で0ラインと交差しています。

指定した位置でポジションをオープンし、同じエリアでスロー、ファーストは0ラインを越えるという条件を追加する必要があります

 
Andrey.Sabitov:

専門家の皆さん、ごきげんよう。

前のポジションを決済したSELLと同じバーでBUYポジションを開くことを妨げるエラーがコードのどこにあるか教えていただけませんか?

ルールは簡単です(覚えるのは)。
1 エントリー - 遅い指標が0を越える+速い指標もゾーンに入る(買い/売り)

2 終了-クイックインジケーター0を横切る

1つのチックに対して 2つのインライカーを作成しているのです!これは大きな間違いです。

//--------------------------------------------------------------------

   DPO_fast=iCustom(NULL,0,"Examples\\DPO",dpo_fast_period);   // получаем хэндлы для быстрого
   DPO_slow=iCustom(NULL,0,"Examples\\DPO",dpo_slow_period); // получаем хэндлы для медленного

インジケータハンドルはOnInitで一度作成されなければならない。


iCustomの ヘルプをお読みください。

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • www.mql5.com
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха,  ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
理由: