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

 
Valeriy Yastremskiy #:
iTime != OldTime then Alert and OldTime =iTime on zero shift/barの場合、新しいバーが表示されます。

OldTimeには どのような値を書けばよいのでしょうか?O_o

矢印自体は、ゼロバーが開いた瞬間に描画されます。

この条件を作ったのは私です。

 if(iTime(NULL,0,0)!=iTime(NULL,0,1))
      {
      Alert("ДИВЕРГЕНЦИЯ НА "+Symbol());
      }

正常に動作しない - テスターでも、ログにアラートがたくさん出てくる。

if(iTime(NULL,0,1)!=iTime(NULL,0,0))
      {
      Alert("ДИВЕРГЕНЦИЯ НА "+Symbol());
      }

アラートもたくさん出るし、どう書けばいいのかわからない(((^^;)

 
DanilaMactep #:

OldTimeには どのような値を書けばよいのでしょうか?O_o

矢印自体は、ゼロバーが開いた瞬間に描画されます。

この条件を作ったのは私です。

正常に動作しない - テスターでも、ログにアラートがたくさん出てくる。

アラートも大量に出るし......これの書き方がよくわからない((

 
static datetime OldTime=0;
if(iTime(NULL,0,0)!=OldTime)
      {
      Alert("ДИВЕРГЕНЦИЯ НА "+Symbol()); OldTime=iTime(NULL,0,0);
      }

そのため、起動時にはアラートも表示されます。新しいバーが現れたらiTime(NULL,0,0)を変更し、一度は等しくなく、その後等しくなってifがfalseに なるようにします。

このようにすることもできます。

static bool FlagNewBar=false;
   if(BarTime!=Time[0])
     {
      BarTime=Time[0];
      FlagNewBar=true;
     }

あるいは、任意の時間枠で新しいバーを取得することもできます。

bool FlagNewBarF(int prd, datetime &ArgBarTime,bool &FlagNbar)
  {
   FlagNbar=false;
   if(ArgBarTime!=iTime(NULL,prd,0))
     {
      ArgBarTime=iTime(NULL,prd,0);
      FlagNbar=true;
     }

   return(FlagNbar);
  }

呼び出しは次のようになります。

 if(FlagNewBarF(1, BarTime1,FlagNewBar1))
     {
      Alert("FlagNbar1 ",FlagNewBar1,"BarTime1 ",TimeToStr(BarTime1,TIME_DATE|TIME_SECONDS));
      
     }

   if(FlagNewBarF(5, BarTime5,FlagNewBar5))
     {
      Alert("FlagNbar5 ",FlagNewBar5,"BarTime5 ",TimeToStr(BarTime5,TIME_DATE|TIME_SECONDS));
     
     }
 
Valeriy Yastremskiy #:

こうすることで、読み込み時のアラートも表示されるようになります。新しいバーが現れたらiTime(NULL,0,0)を変更し、一度は等しくなく、その後等しくなってifがfalseに なるようにします。

この後どうなることやら:-)
 

「新しいバー "は悪であり、このイベントでは "最後のバー "インジケータ、すなわちnewbar-1からデータを取得することができます。

あなたは、1つのサーバー上の3つの端末を実行し、取引周波数に応じて信号は、いくつかの端末で、すなわち注文 セットプリント(例えば買いシグナル)を送信する 前にスキップし、指標の印刷値は、前のバーの値が表示されます場合。

もちろん、いくつかのチェックを行うことはできますが...。

 
Valeriy Yastremskiy #:
一般的なmetaquotesフォルダは、端末フォルダ、そこに端末のログ、データ、テスターフォルダ、それは独自のログとファイルフォルダを持っています。mclフォルダには、EA、スクリプト、インジケータ、ウィンドウ、サブウィンドウのログが含まれています。
のすべてです。Spc.昨日、掃除しました。今日、もう一度確認します。30GBをクリーンアウト。10台ほどの端末と履歴から、主にツールやログに...
 
Artyom Trishkin:

このスレッドでは、新しいMQL4でプログラミングを理解し、学び、MQL5に簡単に切り替えたいと考えている人たちの手助けを始めたいと思います - 言語は非常に似ています。

このブログは、問題点やその解決方法、MTプログラミングに関する疑問点などを議論する良い場になると思います。

当フォーラムの他の経験豊富なメンバーにも議論に加わってもらい、誰もが興味を持つようなブランチになればと思います。

こんにちは、誰もclose order関数について私を助けることができない、私は次のことを試しています。

for (int i=1; i<=OrdersTotal(); i++)

{

if(OrderSelect(i-1,SELECT_BY_POS)==true)

{

if( Ask<= OrderOpenPrice())CloseBay();

}

}

AskがOrder Bayより上にあるときはすべてうまくいき、BidがOrder Bayより上になるとすぐに注文が削除され、Askがオープンプライスより下になると削除されるはずです。どうかご教授ください。敬具 アレキサンダー

 
Alexandr Spravchikov #:

こんにちは、クローズオーダー機能で誰も助けてくれません、私はこの方法で試しています。

この方法は試されましたか?

void CloseBuy()
{
   for(int i= OrdersTotal()-1; i>=0; i--)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
         if((OrderSymbol()==_Symbol) && (OrderMagicNumber()==Magic) && (OrderType()==OP_BUY))
         {
            if( Ask<= OrderOpenPrice())
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Green))
            {
               Print("Error closing a buy order!"+  IntegerToString(_Period,0) +" Error code = " + IntegerToString(GetLastError(),0));
            }
         }
      }
   }
   return;
}
 

ごあいさつBTCではなくUSDTでのロット数を示す「BTCUSDT」のトレードapiクエリの作り方を教えてください。

 

みなさん、こんにちは。ひとことお願いします。


発想はシンプルです。グローバルチャネルのボーダーを突破したときに、ポジションをオープンし、反対側のポジションをクローズするEAを作成 すること。チャネルはインジケータによって構築されます。

インターネットのガイドを参考にして、バリエーションを作ってみました。このボットはstrategy testerではポジションをオープン/クローズしていますが、チャートで見ると私の条件を全く満たしていないのです。バッファ内のすべての変数を試し、エラーを確認しました。結果は出ませんでした。


どなたか、何が悪いのか、どの方向に掘ればいいのか、アドバイスをお願いします。:3


バッファからの変数、インジケータのデモ、そのソース変数、Expert Advisorの私の変種を含むファイルを添付しました。

ファイル:
9.png  14 kb
f2.png  26 kb
second.mq4  15 kb
 
E1Macho1 #:

みなさん、こんにちは。ヒントをお願いします。

どっちにするか。:3

デバッガを使う方向で掘り下げる