[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 222

 
smartemiy:

プロフェッショナルの皆様へ

皆様のお力をお貸しください。

私はトレーディングロボットを持っていて、それぞれ20~80回トレードを行います。私はそれが証券会社に依存して理解することはできませんか?

1個ではなく、100個を置く。

助けてください!!!

スタート機能は1ティックごとに実行され、注文 開始条件が成立すれば、1ティックごとに新規注文が開始されます。

未決済注文の最大数、1バーあたりの注文数などに制限を設ける。

 
splxgf:

スタート関数は1ティックごとに実行され、注文を開く条件を満たした場合、1ティックごとに新規注文が開かれます。

未決済注文の最大数や1バーあたりの注文数に制限をかけるなど。

お返事、本当にありがとうございました

Splxgf 、私も考えていました。

int init()
{  RefreshRates();
   if (NumberOfOrders()>15) return(0); // если число открытых ордеров превышает число 15, тогда советние не торгует
   if (OpenStop()>30) return(0);       // если число отложеных ордеров превышает число 15, тогда советние не торгует
}

NumberOfOrdersは、未決済注文の数をカウントするf-fromです。OpenStop - f-rdは、保留中の注文の数をカウントします。

注文開始の条件が満たされ、EAが任意の数の注文を並べる。

>splxgf: これは、取引数を超えたときにExpert Advisorを停止するコードの亜種です。条件が成立したときに、1つの注文が入るように書きたいのですが。

 

init は一度だけ実行されますhttps://docs.mql4.com/ru/basis/functions/special

int MaxOpenOrders=15;

int start()
  { 
    //bla-bla
    if (((OrderOpenPrice()-pAsk) >= -60 || OrdersTotal()<MaxOpenOrders) //открываем новые если количество открытых и отложенных ордеров не превышает 15
    OrderSend...
  

実際、https://book.mql4.com/ru/ にチュートリアルがあります。

条件を一度だけ発生させたい場合は、より複雑になります。

 
皆さん!そこで、どなたかネットブックと3Gモデムについての私の質問(221 ページ)に答えていただけないでしょうか。 ありがとうございました。
 
splxgf:

init は一度だけ実行されますhttps://docs.mql4.com/ru/basis/functions/special

実際、https://book.mql4.com/ru/ にチュートリアルがあります。

もし、条件を一度だけ発動させたい場合は、もっと複雑になります。

ありがとうございました。

調べてみます!

 

データベースで検索しても見つからなかったのですが、私の探し方が悪かったのかもしれません。

親愛なる皆さん、同じようなものがあるか教えてください。

アルゴリズムは単純で、グリッドのアナログで、nピップスごとに注文が出されます(価格の方向によって、買いまたは売り)。m pipsの利益が出るまで注文を出す。この値に達すると、すべての注文が終了し、すべてがやり直しになります。

ご清聴ありがとうございました。

 
Zhunko:
タスクは、ダウンロードした履歴を履歴ファイルに保存することだった。ダウンロード中は、すべての履歴がメモリに保存されます。MT4ウィンドウを閉じた後、MT4ツールによるファイルへの保存が開始されます。これはすぐにできることではありません。

Vadim、私はこの方法で保存の問題を解決しました。

if(Bars<7000)
  {
    int handle, bar, wParam;
    handle=WindowHandle(Symbol(),Period());
    switch(Period())
            {
                  case PERIOD_M1:  wParam = 33137; break;
                  case PERIOD_H1:  wParam = 33135; break;
                  case PERIOD_D1:  wParam = 33134; break;
            }
    for(bar=1;bar<7000;bar=+100)
      {
        Comment(Bars);
        PostMessageA(handle,WM_KEYDOWN,VK_HOME,0); Comment(Bars); Sleep(10000); 
        PostMessageA(handle,WM_COMMAND,33135,0);  Comment(Bars); Sleep(10000); 
        PostMessageA(handle,WM_KEYDOWN,VK_HOME,0); Comment(Bars); Sleep(10000); 
        PostMessageA(handle,WM_COMMAND,33134,0);  Comment(Bars); Sleep(10000); 
        PostMessageA(handle,WM_KEYDOWN,VK_HOME,0); Comment(Bars); Sleep(10000); 
        PostMessageA(handle,WM_COMMAND,33137,0);  Comment(Bars); Sleep(10000); 
        bar=Bars;
        RefreshRates();
        if(Bars>=7000) {PostMessageA(handle,WM_KEYDOWN,VK_END,0); StartProfit();} //обязательный выход, иначе просто остается и подкачивает данные
        
      }
   }

タイムフレーム間のジャンプにより、複数のタイムフレームで同時に履歴が保存されます(この場合は1分、1時間、1日です)。このように、端末の電源を切る必要はないのですが、読み込みはあまり早くなく、1通貨ペアで1分程度(この条件では)、つまり、多くの通貨で起動すると30分程度端末がハングアップしてしまいます。Expert Advisor はターミナルを再読み込みすることなく、ヒストリカルデータの使用を開始します。

 
forexnew:

ヴァディム 私はこの方法で保存の問題を解決しました。

タイムフレーム間のジャンプにより、複数のタイムフレーム(この場合は1分、1時間、1日)の履歴が同時に保存されます。このように、端末の電源を切る必要はないのですが、読み込みはあまり早くなく、1通貨ペアで1分程度(この条件では)、つまり、多くの通貨で起動すると、30分ほど端末がハングアップしてしまいます。Expert Advisor はターミナルを再読み込みすることなく、ヒストリカルデータの使用を開始します。

私は同じものを何倍も信頼して持っています。TFを切り替えた場合、履歴はファイルに保存されません。端末のアンロード時のみ。

端末が履歴そのものを保存することがあるが、TFswitchingとは関係ない。

 
Zhunko:

私は同じものを何倍も信頼して持っています。TFを切り替えた場合、履歴はファイルに保存されません。端末がアンロードされているときのみ

端末が勝手に履歴を保存し始めることがありますが、TF切り替えとは関係ありません。

分足、1時間足、日足など、一部のタイムフレームのみをダウンロードするように設定するにはどうすればよいですか?

このように、string sTimeFrame = {"M1", "H1", "D1"}; // スキャンするTFを列挙した文字列です。

1分間に2000本以上のバーをダウンロードすることはできませんが、私のExpert Advisorは7000本以上必要です。このスクリプトでダウンロードした後、私のExpert Advisorはそれを終了します。

すべてのバーがダウンロードされるわけではなく、このような設計になっているのでしょうか?

 

親愛なるコミュニティの皆さん、こんにちは。

そんな悩みを抱えています。私は自分のテンプレート(iBands -https://docs.mql4.com/ru/indicators/iBands)で「ボリンジャーバンド」インディケータを使用しており、そのパラメータの1つである 偏差 (標準偏差)がintとして そこに定義されています。ダブルに 変更することは可能ですか?MT4では、「カスタム・インディケータ」に、 偏差が doubleと 定義されている他のボリンジャーバンド(「Bands」と表示されている)があります。しかし、MQL4に挿入するにはどうしたらいいのでしょうか?内蔵されている指標の標準セットには含まれていないのですね。MQL4での使い方が全くわからない。