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

 

インジケーターがあり、サンヨクが作者です。

フラクタル前の直近3本の平均出来高より大きい出来高を持つバーで形成されたフラクタルのレベルをマークします。

EAに読み込むには?

やっています。

h=NormalizeDouble(iCustom(NULL,0, "vfractals",MODE_UPPER, 1),Digits);

l=NormalizeDouble(iCustom(NULL,0, "vfractals",MODE_LOWER, 1),Digits);

は機能しない。

ファイル:
vfractals.mq4  4 kb
 
NormalizeDouble(iCustom(NULL,0, "vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPERとMODE_LOWERは、第1と第2の指標バッファから 値を取ることを意味します(ゼロと第1を持っています) 2.1は、[1]番目の要素(最後の小節)の値を取ることを意味します。
 
ilunga:
NormalizeDouble(iCustom(NULL,0, "vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPERとMODE_LOWERは、第1と第2の指標バッファから値を取ることを意味します(ゼロと第1を持っています) 2.1は[1]番目の要素の値を取ることを意味します(前の小節で)。

ありがとうございます。
 

移動した。

Pavel447 2011.03.02 10:57
ごきげんよう!
Expert Advisor(またはスクリプト)で、SL、TP、Trailing Stopを自動的に設定し、利益確定時にBUに転送する場合・・・?
ありがとうございました)。

 
移動した。
dimeon 2011.03.02 11:41
sammi61:

EAのコードにダイナミックロットを追加して、ロットが預金の増加、または預金のパーセンテージとして増加するようにするのを手伝ってください。
lotが0の場合は自動ロット、値の場合は固定ロットとなる
添付ファイル
FiboWave_v1_1lavtolot.mq4(9.26 KB) を削除しました。
 
artmedia70:
配列は非常に多くのケースで、様々なタスクに使用することができます。では、正しい例とは何でしょうか。
  if (Cls_B[i]||Cls_S[i]) LotCt=NormalizeLot(OrderLots()/(4-i)); 
i]はどう書くのですか?変数として宣言しているようですが...、コンパイルエラーになります。訳が分からない.整数値を求めていますが、配列も変数として宣言できるんですか!
 

100yan:
как прописать [i] ?

整数値を要求していますが、配列も変数として宣言できるのですか!

もっと具体的に。

配列は、同じ名前で異なる番号を持つ変数です。

 
100yan:
i]はどう書くのですか?変数として宣言しているようですが...、コンパイルエラーになります。訳が分からない.整数値を要求していますが、配列は変数として宣言することもできます!
括弧[]内の構成はすべてデータ型が intでなければならない。
 

過去ログのこのくだりはどういう意味か教えてください。どうすれば回避できるのでしょうか?Expert Advisorは、このインジケータを使用して取引を行いますが、エラー発生後、Expert Advisorを再起動すると再びクラッシュする可能性があるため、端末を再起動するまで取引はフリーズします。

22:39:53 +ZigZag_Levels CLJ1,M5: uninit reason 3.
22:39:53 Zigzag CLJ1,M5: uninit reason 1.

22:39:53 ジグザグ CLJ1,M5:削除されました。

リモートサーバーのターミナルと自分のPCを同時に使っているからかな?

 
todem:

みなさん、こんにちは。質問ですが、この機能で2つのポジション(買い、売り)に対して、売りはSL=買い+18pips、買いはその逆となるように損切りを設定したのですが、どうすればいいのでしょうか?

бла-бла-бла...

反対側のポジションの始値は関数から取得します。

бла-бла-бла...

ModifyOrder関数はKIMIWの標準関数として知っているので、計算されたストップロスを設定するために使用します...

問題は、EAが売りのみにストップロスを設定し、買いのみには設定しないことです。 誰がそう考えているのでしょうか?


void SimpleLock(string sy="", int mn=-1) {
  double po, pp, ops1=0, ops2=0, opb;
  int    i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<=k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        po=MarketInfo(OrderSymbol(), MODE_POINT);
        if (mn<0 || OrderMagicNumber()==mn) {
          if (OrderType()==OP_SELL) {
            opb=OrderStopLoss();                            // Значение стопа позиции до модификации = (0???)
            ops2=NormalizeDouble(OrderPrice(OP_BUY),Digits);
            if (ops2>0 && opb!=0) {
                ModifyOrder(-1, ops2+18*po, -1);
              }
            
          }
          if (OrderType()==OP_BUY) {
            opb=OrderStopLoss();
            ops1=NormalizeDouble(OrderPrice(OP_SELL),Digits);
            if (ops1>0 && opb!=0) {
                ModifyOrder(-1, ops1-18*po, -1);
              }
            
          }
        }
      }
    }
  }
}

ストップが設定されていない場合、モディファイが呼び出されない...。

ストップロスを長く設定しないと、モディファイを呼び出さない...。

double OrderPrice(int type) {
   double price;
   int i, k=OrdersTotal();
      
      for (i=0; i<k; i++) {
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType()==type) {
            price=OrderOpenPrice();  // Значение цены открытия в списке ордеров терминала позиции с типом type и индексом i
            }
         }
      }
   return(price);  // Возвращает цену открытия последней в списке ордеров позиции с типом type и индексом не более k-1
}

必要な注文の始値が返されるのは間違いないですか?