[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 234

 
sergeev:

試してみたが、フリーズしなかった。


OrderCloseでエラー129が発生しました。

RefreshRatesを前面に出す。

エラーなしで終了


はい、私もそうしましたが、時々動かなくなります(ターミナルそのものではなく、EAが)。

 
doon:
このコードが一箇所でフリーズして、再開するためにターミナルを再起動しなければならないことがある のはなぜか、説明して いただけますか


どのラインでフリーズするのか、かなりダイレクトに聞かれていますね。

あなたのコードは、同じ注文を開いてすぐに閉じるもので、非常によく文書化されているので、コードがどの行に到達したかはAlertsですぐに確認できるはずです。それとも、コードの一部なのでしょうか?

 
Roger:


かなりダイレクトに「どのラインでフリーズするのか」と聞かれていますね。

あなたのコードは、同じ注文をオープンしてすぐにクローズするもので、非常によく文書化されているので、コードがどの行に達したかをアラートですぐに確認することができるはずです。それとも、コードの一部なのでしょうか?


いいえ、これはすべてコードです。そして、注文の開始と終了のラインで停止します(ただし、常にではありません)。

 
コード内のaskとbidをMarketInfo(Symbol(),MODE_ASK)とMarketInfo(Symbol(),MODE_BID)で置き換えると、うまくいくはずです。
 

これより

OrderSend(Symbol (), OP_BUY, 1, Ask, 10,0,0, "dsgdsf", 0, 0, CLR_NONE);

これについては

OrderSend(Symbol (), OP_BUY, 1, MarketInfo(Symbol(),MODE_ASK), 10,0,0, "dsgdsf", 0, 0, CLR_NONE);
?
 

いいえ、まだ切れます。

4分ほどハングアップした後、エラー128(トランザクションの待ち時間が切れました)であることが判明しました。

もしかしたら、これが役に立つかも?

 

親愛なる同僚の皆さん、 私はまだMQLプログラミングの完全な「ダミー」で、このトピックを勉強し始めたのはごく最近の ことです。でも、すでに最初のEAは書き始めていましたし、少なくとも書こうとはしていました。

このトピックの182ページ 目で、このEAが取引すべき基準を示しました。その内容をご覧ください(このページの最後の記事)。3週間格闘していますが、まだここに取引基準を担当するコードの部分を書くことができません。このトピックに特化したチュートリアルの章を読みましたが、この特別なケースでは役に立ちませんでした

私はプログラミングの戦いの中で、この部分のバリエーションを何十個も書いてきましたが、どれもまともに動作しませんでした。明らかに知識 不足で、MQL そんなに早く 使いこなすことはできません。とにかく、少なくともおおよそ私が望むように動作するコードのバリエーションは以下の通りです。

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 0);
 double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1);
 double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1);
 double StochM = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[1])
   {
    Signal = 3;                                                          // Закрытие SELL
    if (StochM > StochS && StochM >= 80 && StochS >= 80 && High[1] >= EnvUp && SAR < Open[1])
      Signal = 1;                                                         // Открытие BUY
   }   
 
 if (SAR > High[1])
   {
    Signal = 4;                                                           // Закрытие BUY
    if (StochM < StochS && StochM <= 20 && StochS <= 20 && Low[1] <= EnvDn && SAR > Open[1])
      Signal = 2;                                                        // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}


コードが曲がっていたり斜めになっていたり、一般的に ベイの位置 売りが ごちゃごちゃしていますよね しかし、これはストキャスティクスとエンベロープがお互いを無視することなく、一緒に取引されているときのコードの唯一のバリエーションです。同時に、パラボリックのシグナルは、なぜか取引に考慮されない。とにかく、このような「尻切れトンボ」をあまり叱らないでください、コードが正しくないことは十分承知しています。

私のExpert Advisorのコードを修正してください、助けてください。苦労しているんですよ。私はもっと簡単な戦略(Mooving + Momentum; Mooving +RSI)を実行したことがありますが、これはうまくいって います。よろしくお願いします。182ページで 説明したルールでEAが取引できるように、間違った行をすべて書き換えてください。本当に必要なんです。

P.S.: 既製の MQLテンプレートを使用 したため、すべての コードを書くことはできません

 
doon:

いいえ、まだ切れます。

4分ほどハングアップした後、エラー128(トランザクションの待ち時間が切れました)であることが判明しました。

もしかしたら、これが役に立つかも?


くそー、もうディーリングセンター変えろー、同じコードでの取引注文がその後正常に通過してハングアップしたらサーバーが死ぬってことはヒントなしで明らかなんだから。オーダーが出て、4分経っても戻ってこない。このサーバーで本当にリアルトレードを 行うのですか?心を鬼にして、何度か違う証券会社を変えてみてください。誰かにコンピュータの使い方を教わったのですか?タイプライターやゲーム機とは違う、知識が必要 なのです。これは勉強と苦心作です。もしあなたが、コマンドラインやファイルの開き方、コンピュータネットワークの仕組みについて少なくとも基本的な理解をしていたら、違う質問をするでしょうし、喜んで助けを求めるでしょう。あとは、証券会社のサーバーにpingを打って、他の証券会社のサーバーのレスポンスタイムと比較するだけです。30分くらいかけたら、何が何だかわかると思います。Expert Advisorとサーバーのやり取りを概説しようとすれば、証券会社のサーバーが取引注文を実行する速度をMQL4で推定することだってできるはずです。

言葉がない。自分の作品のプロセスを、どうしてそんなにぞんざいに扱えるのか。

 

daytrader19:

182ページで 説明したルールに沿ってEAが取引されるように、間違った行を書き換えてください。


1) "line1[1]>line2[1]" という条件は、"two lines crossing" という信号には十分ではありません。Надо "линия1[1]>линия2[1]&&линия1[2]<линия2[2]"

2) パラボリックはOpenと比較するのではなく、HighとLowと比較すること。また、ゼロバーで計算し、最初のバーからOpen[1]を取っていることに注意。

 
doon:

いいえ、まだ切れます。

4分ほどハングアップした後、エラー128(トランザクションの待ち時間が切れました)であることが判明しました。

もしかしたら、これが役に立つかも?


また、インターネット環境が悪い場合、例えばトレントをダウンロードしすぎた場合などにも起こる可能性があります。でも、確認できるのは月曜日からです。