どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 849

 
gince:

なぜ、間違ったオブジェクトが表示されるのですか?左向きの三角形https://docs.mql4.com/ru/constants/objectconstants/arrows コード 3 のはずが、上向きの矢印 Wingdings コード 241 が表示 されています。

プログラムコード (ObjectSet(objName, OBJPROP_ARROWCODE, 3); がある)

もっとよく読んでみてください。詳しくは覚えていませんが、コード3は Wingdingsの一部ではありません。


ps; ノートの中身はこんな感じです。

DRAW_ARROWスタイルを持つ 行の矢印値を設定する場合、カスタムインジケータで特殊な矢印コードを使用 することができない。

 
EAである。
AlexeyVik:

よく読んでみてください。詳しくは覚えていませんが、コード3は Wingdingsの一部ではありません。


ps; ノートの中身は以下の通りです。

DRAW_ARROW スタイルを持つ 線に対して矢印値を設定する場合、特殊な矢印 コードは矢印表示で使用できない

これはEAであり、機能があります。

 
gince:
参事官だ。
そんなことはどうでもいいんです。
 
AlexeyVik:
そんなことはどうでもいいんです。

いつからできるのですか?

 
gince:
これがExpert Advisorです。

同じアドバイザーの中に2つ目の機能があります。そこでは、すべてがうまくいっているのです。(ObjectSet(objName, OBJPROP_ARROWCODE, 1);)

void f_ArrowOpen(
                  datetime openTime,
                  int action,
                  double lots,
                  string symb,
                  double openPrice
                  )
{
   color c;
   string op="";
      if(action==1)
      {
         c=Blue;
         op="BUY";
      }
      else if(action==-1)
      {
         c=Red;
         op="SELL";
      }
   // order open arrow name:    #76840865 buy 0.05 EURUSDc at 1.30416

      string objName = StringConcatenate("#", TimeToString(openTime,TIME_DATE|TIME_MINUTES), " ", op, " ", lots, " ", symb, " at ", openPrice);
      ObjectCreate(objName, OBJ_ARROW, 0, openTime, openPrice);
      ObjectSet(objName, OBJPROP_COLOR, c);
      ObjectSet(objName, OBJPROP_ARROWCODE, 1);
      ObjectSetText(objName, "LOT: " + DoubleToStr(lots, 2));
}
//+------------------------------------------------------------------+ 
void f_ArrowClose(
                  datetime closeTime,
                  int action,          //íàïðàâëåíèå
                  double lots,
                  string symb,
                  double openPrice,
                  double closePrice,
                  double profit)
{
      color c;
      string op="";
      if(action==1)
      {
         if(profit>0)c=Blue;else if(profit<0)c=Red;else c=Yellow;
         op="cl_BUY";
      }
      else if(action==-1)
      {
         if(profit>0)c=Blue;else if(profit<0)c=Red;else c=Yellow;
         op="cl_SELL";
      }
      
      string objName = StringConcatenate("#", closeTime, " ", op, " ", lots, " ", symb, " at ", openPrice, " close at ", closePrice);
      ObjectCreate(objName, OBJ_ARROW, 0, closeTime, closePrice);
      ObjectSet(objName, OBJPROP_COLOR, c);
      ObjectSet(objName, OBJPROP_ARROWCODE, 3);
      //ObjectSetText(objName, StringConcatenate("Profit: ", profit));
}
 
教えてください。Expert Advisorは、すべてのバーでインジケータのシグナルに基づいて取引します。ダニ ごとにコンディションをチェックしてもらうためには、どうしたらいいのでしょうか。ここでは、インジケーターの条件について説明します。
int limit, i;
int counted_bars=IndicatorCounted(); // すでに何本のバーがカウント されているか
if (counted_bars<0) return(-1); // エラーの可能 性チェック
if (counted_bars>0) counted_bars--;// 最後にカウントされたバーをカウント
limit=Bars-counted_bars; // 最後にカウントされたバーから開始
// - 1 - =================================================== ブロックの終了 =========================================================================================================== ・・・と、なる。

// - 2 - =================== ヒストリーにインジケータを表示 ================
for(i = limit; i >= 0; i--)
{
FastMA= iMA(NULL, 0, FastMAPeriod, FastMAShift, FastMAMethod, FastMAPrice, i);
SlowMA= iMA(NULL, 0, SlowMAPeriod, SlowMAShift, SlowMAMethod, SlowMAPrice, i);

}
// - 2 - ==================== ブロック終了 ==================

// - 3 - ============== 信号出力 ==================
//if (LastBar != Time[0]) // 1バーにつき1回
//{
これかな?
 
gince:

同じアドバイザーの中に2つ目の機能があります。そこでは、すべてがうまくいっているのです。(ObjectSet(objName, OBJPROP_ARROWCODE, 1);)

何か誤解しているようだが、納得してもらえるとでも思っているのか?実験に時間を使って、自分の書いたものを理解しようとしたほうがいい。
 

皆さん、こんにちは。

前の建玉が 赤字の場合、注文が実行されないようにするには、OrderSendの前にどのような条件を追加すればよいか教えてください。平均化しないように。

 
Craft:

皆さん、こんにちは。

前の建玉が赤字の場合、注文が実行されないようにするには、OrderSendの前にどのような条件を追加すればよいか教えてください。平均化しないようにしたい。

一般に、チェックは次のように行われます。

OrderSelect(ticket,SELECT_BY_TICKET);

if(OrderProfit()<0)の場合{ }。


そして、括弧の中に好きなものを入れることができます。私などは、「マーチン」方式にするために、このように使っています)

 
こんばんは、EAの仕組みについて教えてください。main関数Startに直接returnを記述すると、EAが終了してしまうのでしょうか?ありがとうございました。