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

 
Tretyakov Rostyslav #:

注文がない場合ということ

はい、またはドローダウンが一定レベル以下の場合です。しかし、私が理解する限り、ゼロイングは何の関係もありません。 もしゼロイングがなければ、注文は際限なくクローズされ、私の場合、1つの注文はクローズされません。

 
EVGENII SHELIPOV #:

はい、または一定レベル以下のドローダウンです。しかし、私が理解する限り、ゼロイングは関係なく、ゼロイングがない場合は、注文の無限閉鎖があり、私の場合、1つの注文が閉鎖されていません。

これは、最初の注文が締め切られた後、この条件はもう機能しないためです

if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)

ので、それ以上クローズ機能には進みません。

 
Tretyakov Rostyslav #:

最初の注文が終了した後では、この条件は無効となるため

ということは、それ以上、閉じるという機能には至らないということです。

この条件は、注文を閉じるコマンドと注文を閉じる関数にあると思うのですが、注文を閉じる関数からこの条件を削除すると何か変わるのでしょうか?

 
EVGENII SHELIPOV #:

この条件は注文を閉じるコマンドと注文を閉じる関数にあると思いますが、注文を閉じる関数からこの条件を削除すると何か変化がありますか?

同じことを2度確認する必要はないのです。

ところで、あなたは2つの異なる機能を投稿しました

ClosseMinMaxPenultimateOrdersZero()

и

ClosseMinMaxPenultimateOrders()
それは意図したことなのでしょうか?
 
Tretyakov Rostyslav #:

これはスピードアップにつながります。なぜ同じことをダブルチェックするのでしょうか。

ところで、あなたは2つの異なる機能を投稿しました

и

そういうものなのでしょうか?

今確認したところ、この条件がないとEAの閉じ方が悪いので、この条件がないと無理です

 
Vitaly Muzichenko #:

よろしくお願いします。

期待していたものが全然出てこない。ログファイルを読みたいのですが。

ここから始めるべきでした。

#include <WinAPI\\fileapi.mqh>
 
EVGENII SHELIPOV #:

今確認したところ、これがないとExpert Advisorの閉じ方が悪いので、これがないとどうしようもない。

だから、同じではないんです。

               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==1 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
 
Иван FileSeek関数で ファイルの先頭にポインタを移動させようとしましたが、失敗しました。その理由を理解するには、私の知力では足りません。一体どうなっているのか、説明してください。

どう?誰か手がかりは?

 

友達、助けてください。

mql4で書いた多通貨EAを持って います。テスターではもちろん動作しません。mql5に乗り換えるべきと判断しました。

コンパイラーエラーを全て適応し、修正しました。テクニカル指標を使用する場合を除く。頭が炎に包まれ、どうしたらいいのかわからない。ドキュメントは2ページにわたり、理解しがたいものです。もしかしたら、見る場所を間違えているのかもしれません。

mql4で以下のような1行のコードがあります。

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);

または

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0)とする。

ドキュメントによると、mql5ではコードのページ全体が変更されます。ハンドル、バッファ、パラメータ付き配列、初期化するもの、計算するもの、ハンドル作成時のエラー処理...。これは異常だ...見ている場所が悪いのかもしれません。

そして、いくつかのペアといくつかのタイムフレームを使うと、そこで「戦争と平和」が起こるんです。

 
Sergey Dymov 多通貨EAを持って います。テスターではもちろん動作しません。mql5に乗り換えるべきと判断しました。

コンパイラーエラーを全て適応し、修正しました。ただし、テクニカル指標を使用する場合は除く。頭を使うことはほとんどありません。ドキュメントは2ページにわたり、理解しがたいものです。もしかしたら、見る場所を間違えているのかもしれません。

mql4で以下のような1行のコードがあります。

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);

または

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0)とする。

ドキュメントによると、mql5ではコードのページ全体が変更されます。ハンドル、バッファ、パラメータ付き配列、初期化するもの、計算するもの、ハンドル作成時のエラー処理...。これは異常だ...見ている場所が悪いのかもしれません。

そして、いくつかのペアといくつかのタイムフレームを使うと、そこで「戦争と平和」が起こるんです。

int handleSQ=-1;
double BufferSQ[1];
int OnInit()
{

  handleSQ=iCustom(Symbol(),PERIOD_CURRENT,"squares",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3);
  if(handleSQ<0) {
    return(INIT_FAILED);
    Print("handleSQ = ",handleSQ,"  error = ",GetLastError());
  }
//---
  return(INIT_SUCCEEDED);
}

void OnTick()
{

    int copy=CopyBuffer(handleSQ,0,1,1,BufferSQ);
    if(copy<0) Print("Неудачная попытка копирования Squares");
    u1=BufferSQ[0];//iCustom(Symbol(),PERIOD_CURRENT,"squares_v2",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3,i);