初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 159

 

こんにちは、尊敬するプログラマーの方々、このEAを調整するのを助けてください。



1.注文の自動開封
2.プラスになったら、同じサイドでイニシャルロットで注文を出す。
3.到達したら-を反転させる(受信した方向へ開く)。
ファイル:
 
同僚の皆さん、ごきげんよう。
この問題に遭遇した方がいらっしゃいましたら、アドバイスをお願いします。
1) MT4 co-op でテストしました。ログには、modify1というオーダーに対するErrorがあります。モディファイの注文にエラーが発生した原因と対処方法について教えてください。
2) EAをインストールして実行することができません。EAをチャートウィンドウに移動させると、 上に張り付かないか、張り付いたまま起動しない。コロコロではなく、長方形!?(スクリーンショットを参照)
3) ROSA (Linux)にMT4を正しくインストールするにはどうしたらよいですか?MT4がc/Program Files (x86)/MT4 にインストールされています。c/Program Files (x86)/MT4 から c/users/xxl/AppData/ と _c/users/xxl/Application Data/MetaQuotes/ にファイルをコピー しなければならないのでしょうか?その場合、どのファイルをLocalLowフォルダとRoamingフォルダに、どのファイルをTerminalフォルダとWebInstallフォルダに置けばいいのでしょうか?
詳しい回答ありがとうございました)

 

皆さん、こんにちは。ここが肝心なところです。ワニとNバーの交点があります。この交点からワニと例えば1小節目の安値の間の角度を求める必要があります。難しいのは、バーの数と価格という相容れない2つの値を持っていることです。 私は、ある人から提案されたように、チャートのセルの大きさで踊るようにしたかったのです。しかし、正方形の棒の数が縮尺の変化に比例するのであれば、価格にはそのような比例はない。

上記を踏まえて2点ほど質問させてください。

1.もしかしたら、誰かがこの問題の解決策に出会ったか、知っているかもしれない。

2.Expert Advisorは、チャートの 特定のスケールで 動作しますか、それとも価格だけで動作しますか?

 
Alexander Dubovik:

もうひとつ、開発者に向けて一言。

typedef言語構成(およびtypedef自体)のドキュメントは不可解である。

typedef char My_Char; - コンパイルされません。

C++のtypedefというキーワードは カスタムデータ型を 作成することを可能にします。 失礼ですが、MQLのドキュメントでC++に言及するのはなぜでしょうか?

MQL4/5ではtypedefは去勢され、関数へのポインタを宣言するためだけに使用され、それ以外には何の役にも立ちません。


typedef int (*TFunc)(int,int);

int add(int x,int y) 
{
    return(x+y); 
}

void OnStart()
{
    TFunc pfunc = add;   
    Print(pfunc(4,5));    
}
 
Alex Pirate:

みなさん、こんにちは。

簡単なEAを作ったのですが、何かが間違っていて、エラーが出ます...。トロールを付けたいのですが、開くことすらできません。「'OrderSend'の戻り値を確認 する必要があります」と表示されます。

なぜまだチェックされるのでしょう?どうしたのでしょう?ここにいるプログラマーや、みんなを助けるのが得意な人たちのようですが...。残念((((;゚Д゚))))ガクガクブルブル

https://translate.google.ru/?hl=ru&tab=TT#en/ru/return%20value%20of%20'OrderSend'%20should%20be%20checked。

Google Переводчик
  • translate.google.ru
Бесплатный сервис Google позволяет мгновенно переводить слова, фразы и веб-страницы с английского на более чем 100 языков и обратно.
 
Alex Pirate:

皆さん、こんにちは。


 
Artyom Trishkin:


ありがとうございます、承知しております...。というのが、一番下の翻訳された質問なのですが...。というわけで......なんでだろう、コードがおかしいのか?

 
Alex Pirate:

ありがとうございます、承知しております...。一番下の翻訳された質問ですが...。なんでだろう、このコードに問題があるのか?

 
Artyom Trishkin:

extern int    MA_1_Period   = 22;
extern int    MA_1_MAShift  = 1;
extern int    MA_1_Method   = 1;
extern int    MA_1_Price    = 1;
extern int    MA_1_Shift    = 0;

extern int    MA_2_Period   = 55;
extern int    MA_2_MAShift  = 1;
extern int    MA_2_Method   = 1;
extern int    MA_2_Price    = 1;
extern int    MA_2_Shift    = 0;

extern int    MA_3_Period   = 163;
extern int    MA_3_MAShift  = 1;
extern int    MA_3_Method   = 1;
extern int    MA_3_Price    = 1;
extern int    MA_3_Shift    = 0;

extern double lot           = 0.1;
extern int    TP            = 60;
extern int    SL            = 40;
extern int    Slippage      = 5;
extern int    Magic         = 888;

int timeprev;

//+------------------------------------------------------------------+
int init()
{ 
   if (Digits == 3 || Digits == 5)
   {
     TP           *= 10;
     SL           *= 10;
     Slippage     *= 10;
     
   }

   return(0); 
}
//+------------------------------------------------------------------+
int deinit() 
{
   return(0);
}
//+------------------------------------------------------------------+

int start()
{
   if (timeprev == Time[0]) return(0);
   timeprev = Time[0];
   
   double MA_1_1 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   double MA_1_2 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   
   double MA_2_1 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   double MA_2_2 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   
   double MA_3_1 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
   double MA_3_2 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
     
 //+------------------------------------------------------------------+  
 // покупаем
 
   if (CountBuy() + CountSell() == 0 && MA_1_1 > MA_1_2 && MA_2_1 > MA_2_2 && MA_3_1 > MA_3_2 )
   
      {
         OrderSend(Symbol(), OP_BUY , lot, Ask, Slippage, SL, TP, "", Magic,0, Green);
      }
// продаём
   
   if (CountBuy() + CountSell() == 0 && MA_1_1 < MA_1_2 && MA_2_1 < MA_2_2 && MA_3_1 < MA_3_2 )
   
      {
         OrderSend(Symbol(), OP_SELL, lot, Bid, Slippage, SL, TP, "", Magic,0, Red);
      }
          
   return(0);
}
//+------------------------------------------------------------------+
int CountBuy()
{
   int count = 0;
   
   for (int i = OrdersTotal() - 1; i >= 0; i --)
   {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic && OrderType() == OP_BUY)
           count++;
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
   int count = 0;
   
   for (int i = OrdersTotal() - 1; i >= 0; i --)
   {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic && OrderType() == OP_SELL)
           count++;
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
 
Alex Pirate:

何と何を比べているのですか?

   double MA_1_1 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   double MA_1_2 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   
   double MA_2_1 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   double MA_2_2 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   
   double MA_3_1 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
   double MA_3_2 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
     
 //+------------------------------------------------------------------+  
 // покупаем
 
   if (CountBuy() + CountSell() == 0 && MA_1_1 > MA_1_2 && MA_2_1 > MA_2_2 && MA_3_1 > MA_3_2 )

0>0 かつ0>0かつ0> 0の場合