MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1676

 
Alexey Viktorov #:

1 ロットから 0.3 と 0.7 を決済する必要がある場合、異なるテイクオフで 2 つの注文を出す方が簡単です。

これでは不便です。私のスキャルピングシステムでは、積極的に戦術的にトレードについて行かなければなりません。+ また、異なるウィンドウから開いたり、数秒で大きく変化させたりすることは、そのような活動です)1ロット開けて、部分的に修正する方が簡単です。しかし、手動で修正するのではなく、与えられた価格水準(価格)により修正すること。3 武井と一緒に仕事をすると、取引開始時にピアノを弾かなければならなくなる。
 
TranceFM #:
私のスキャルピングシステムでは、積極的に戦術的にトレードを追っていかなければならないので、不便なんです。+ また、別のウィンドウから開いたり、数秒でロットを変更したりすることは、そのような活動です:)1ロット開けて、部分的に修正する方が簡単です。しかし、手動で修正するのではなく、与えられた価格水準(価格)により修正すること。3 武井と組んだら、トレードのオープニングでピアノを弾くことになる。
そして、Expert Advisorを注文してください。
 
MakarFX #:
そして、自分にアドバイザーを注文してください。

では、既製品はないのですか?そうですか(苦笑)。このようなフクロウは、いくらぐらいするのでしょうか?

 

スクリプトで。

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//обьявим класс
class Сleaner
 {
 public:     

         Сleaner() { Alert("Конструктор");
          }
           ~Сleaner() { Alert("Деструктор"); }
  void come(int &array[],int &re[]){ 
        int AS=ArraySize(array);
        int n=0;    
  for(int i=0; i<AS; i++) {
    if(ArraySearch(re, array[i])==-1) {
      n++;
      ArrayResize(re,n);
      re[n-1]=array[i];
     }
   }
 }
 void sleep() { Sleep(1000); }
private:
          int ArraySearch(int& m[], int e)
       {
        for(int i=0; i<ArraySize(m); i++) {
        if(m[i]==e) return(i);
//        Print(" e =",e,", ArraySize(m) =",ArraySize(m)," ,m[i] =",m[i]," ,i =",i );
       }
  return(-1);
    }
 };
Сleaner pi;
int arr[]= {6,4,6,7,9,65,66,2,2,9,7,7};
int res[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  
  pi.come(arr,res);
  pi.sleep();
  for(int z=0;z<ArraySize(res);z++)
  Print(res[z]);
   
  }
//+------------------------------------------------------------------+

は正しく動作します。

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: アラート:デストラクタ

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: uninit reason 0

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 2

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 66

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 65

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 9

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 7

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 4

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5: 6

2021.10.14 17:24:28.209 Eye_12 GBPUSD,M5:初期化されました。

2021.10.14 17:24:28.209 Eye_12 GBPUSD,M5: アラート: コンストラクタ

配列から繰り返しが削除されます。アレイの場合、owtで。

int arr[]= {6,4,6,7,9,65,66,2,2,9,7,7};

がダイナミックで、それが増加した場合も正しく動作しますが、減少した場合は、嘘をつくようになります。

 

どれだけ忠実に再現したかは分かりませんが

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//обьявим класс
class Сleaner
 {
 public:     

         Сleaner() { Alert("Конструктор");
          }
           ~Сleaner() { Alert("Деструктор"); }
  void come(int &array[],int &re[]){ 
        int AS=ArraySize(array);
        int n=0;    
  for(int i=0; i<AS; i++) {
    if(ArraySearch(re, array[i])==-1) {
      n++;
      ArrayResize(re,n);
      re[n-1]=array[i];
     }
   }
 }
 void sleep() { Sleep(1000); }
private:
          int ArraySearch(int& m[], int e)
       {
        for(int i=0; i<ArraySize(m); i++) {
        if(m[i]==e) return(i);
//        Print(" e =",e,", ArraySize(m) =",ArraySize(m)," ,m[i] =",m[i]," ,i =",i );
       }
  return(-1);
    }
 };
Сleaner pi;
int arr[]= {6,6,2};
int res[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   arr[0]= 6;
   arr[1]= 6;

  pi.come(arr,res);
//  pi.sleep();
  for(int z=0;z<ArraySize(res);z++)
  Print(res[z]);
   
  }
//+------------------------------------------------------------------+

が、まさにowlの結果です。

2021.10.14 21:11:34.802 Oko_12 GBPUSD,M5: アラート: デストラクタ

2021.10.14 21:11:34.802 Eye_12 GBPUSD,M5: uninit reason 0

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5: 2

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5: 6

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5:初期化されました。

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5: アラート: コンストラクタ


 
皆さん、こんにちは!経験豊富な開発者さん、初心者にアドバイスしていただけませんか?iCustomでカスタムインジケータを 接続し(インジケータ自体も別のインジケータに接続し、後者はライブラリに接続)、MQL4 Expert Advisorを一つのex4ファイルにパッキングしてマーケットにアップロードする処理に興味があります。このようなものをすべて1つのファイルに移す簡単な方法はないでしょうか。それとも、EAコードに直接すべてを統合しなければならないのでしょうか。
 
Aleksandr Kononov カスタムインジケータを 接続し(インジケータ自体も別のインジケータに接続し、後者はライブラリに接続)、MQL4 Expert Advisorを一つのex4ファイルにパッキングしてマーケットにアップロードする処理に興味があります。このようなものをすべて1つのファイルに移す簡単な方法はないでしょうか。それとも、EAコードに直接すべてを統合しなければならないのでしょうか。

まとまる

 
Aleksandr Kononov カスタムインジケーターを 接続している場合、MQL4 Expert Advisorを1つのex4ファイルにまとめてマーケットにアップロードするプロセスに興味があります(インジケーター自体も別のインジケーターに接続されており、後者は順にライブラリに接続されています)。このようなものをすべて1つのファイルに移す簡単な方法はないでしょうか。それとも、EAコードに直接すべてを統合しなければならないのでしょうか。

リソースでつながる

 
Vitaly Muzichenko #:

リソースでつながる

お読みいただきありがとうございました🤜🤛🤜。
 
ENUM_POSITION_TYPE type = PositionGetInteger(POSITION_TYPE);
なぜコンパイラは暗黙のenum変換の警告を出すのですか?
Документация по MQL5: Торговые функции / PositionGetInteger
Документация по MQL5: Торговые функции / PositionGetInteger
  • www.mql5.com
PositionGetInteger - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
理由: