[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 52

 

以下は、私の修正した保留注文の 機能です。修正するときは、新しい価格と新しいストップロスを設定します。この関数は部分的に動作しますが、なぜかテスターではエラー1が発生します。

私の関数は正しく書かれていますか?

void MovingPendingOrders(/*int ticket, double newPrice*/)
{
  double priceS = NormalizeDouble((Low[1] - i_thresholdFromInput*pt),Digits);           // Новая цена открытия для OP_SELLSTOP
  double priceB = NormalizeDouble((High[1] + i_thresholdFromBasedSL*pt),Digits);        // Новая цена открытия для OP_BUYSTOP
  bool b_mod, s_mod;
  
  int total = OrdersTotal() - 1;
  int s_ticket, b_ticket;

  for(int i=total; i>=0; i--)
  {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderMagicNumber() != i_myMagic) continue;
      {
        if(OrderType() == OP_BUYSTOP)
        {
          b_ticket = OrderTicket();
          b_mod = true;
        }
        if(OrderType() == OP_SELLSTOP)
        {
          s_ticket = OrderTicket();
          s_mod = true;
        }
      }
  }
  
  if(IsTradeAllowed())
  {
    if((b_mod) && (priceB > Ask)) OrderModify(b_ticket,priceB,priceS,0,0,Brown);
    if((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB,0,0,Brown);
  }
  Print("MovingPendingOrders переоткрыл ордер по новой цене");
}
 
hoz:

私の関数は正しく書かれていますか?

 bool b_mod = false; 
 bool s_mod = false;
 
hoz:

以下は、私の修正した保留注文の機能です。修正するときは、新しい価格と新しいストップロスを設定します。この関数は部分的に動作しますが、なぜかテスターではエラー1が発生します。

私の関数は正しく書かれていますか?

...そして、そのたびに 何度も何度も修正する。?!
 
BeerGod:

EAで、チャートを覆う枠の上にコメントを出力して見やすくする方法を教えてください。

今はどうしたらいいのかわかりません。

こんな感じでいいんじゃないでしょうか。

何らかのフォントを使うべきもしかしたら、自分で作ることもできるかもしれません。
 
silatyt:
...そして、そのたびに何度も何度も修正する。?!

どこに入れたらいいかわからず、経験不足でExpert Advisorのロジックをぐちゃぐちゃにしちゃったんです。機能を確認するために、スタート地点に置いてみると...。はい、すべてのティックにありました、それがエラーの理由です。そして、新しいバーを定義する関数の後、それを入れて、TheXpertが教えて くれたようにコードを修正したら、すべてが思い通りに なりました。
 

こんにちは。以下のような役割を担うEAコードの一部を教えていただけませんか?

1.EAのベースとなるインジケータのパラメータを、取引開始の条件が満たされないまで、一つずつ(例えば10~20の範囲で)確認します。

2.検索後の条件が満たされない場合-5分待つ。

 
こんにちは。mql4の標準ツールで35行目から18行目まで(例えば行)のコード実行を送ることが可能かどうかご存知でしょうか?コードのジャンプのようなもの。
 
tpg_k156:
こんにちは。mql4の標準ツールで35行目から18行目までコード実行を送ることが可能かどうかご存知でしょうか(例えば行)。コードのジャンプのようなもの。

演算子スイッチ / if - else

と機能

 
sergeev:

スイッチ / if - else 演算子

と機能



ということは、同じ関数本体を 強制的に再実行させることは可能なのでしょうか? 例えば、以下のように。
int Gipo()                   // Пользовательская функция  
{
всякая фигня
if(получили-что-надо)
 {
 return(что-надо);
 }
else
 {
 Gipo();
 }
}
???
 
tpg_k156:

ということは、同じ関数本体を強制的に再実行させることは可能なのでしょうか。


そう、再帰と呼ばれるものです。