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

 
Stereosin:
皆さん、ごきげんよう。ストップロスが発動したときに、各開放済み成行注文(利益確定とストップロス)に対して反対方向の保留注文を出すというものです(買い注文なら、保留注文を出す)。現在の注文が利益確定で閉じたら、保留中の注文を削除するスクリプトを書くための構文シーケンスが見つからないのですが?もしかしたらフリーのスクリプトがあるかもしれないが、検索に引っかからない( .自分で書いて対応できるようにしたいのですが、構文配列が理解できません。別の例で説明しましょう。アイスクリームが食べたいのですが、構文の順序は、1) - ソファから降りる 2)服を着る 3)店に行く 4)アイスクリームを買う、です。私のタスクでも同じことが可能ですか?

現在の注文が終了すると、買い注文の数が 減少するか、または全く存在しなくなります(アルゴリズムに依存)、あなたはこのチェックを行い、保留中の注文を削除します。

のようなものです(この場合、逆に先に出した買いが利益で決済されると、保留中の注文は削除されます)。

 for(int m=OrdersTotal()-1;m>=0;m--)
   if(OrderSelect(m,SELECT_BY_POS,MODE_TRADES)) 
     if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic) {  
    
      if(OrderType()==OP_BUY)  sBuy++; 
      if(OrderType()==OP_SELL) sSell++;
       
      if(OrderType()==OP_BUYLIMIT)
       if(sBuy==0 || sSell>0) OrderDelete(OrderTicket());
      if(OrderType()==OP_SELLLIMIT) 
       if(sSell==0 || sBuy>0) OrderDelete(OrderTicket());
  }
 
Ratmirf:

ということは、これでいいんですね?

if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;

if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;

と、このようになるのでしょうか?

if (OrderOpenTime()+8100 <=TimeCurrent())Cls_Buy=trueとした。

まあ、高校生の数学ですから...。もう少し自信を持ちましょう。
 
harbor:

現在の注文が終了すると、買い注文の数が減少するか、または全く存在しなくなる(アルゴリズムに依存)、このチェックを行い、保留中の注文を削除します。

のようなものです(この場合、逆に先に出した買いが利益で決済されると、保留中の注文が削除されます)。

ありがとうございました。今晩調べてみます。
 

このような場合、ストップロスを必要なサイズに増やします。 閾値を設定せず、プログラム上で仮想のまま注文を出します。 その結果、15~20の注文のうち1つしか開きません。 すべての注文を開くにはどうしたらよいのでしょうか?

RefreshRates();


     double bid = MarketInfo(symbol,MODE_BID);
     double ask = MarketInfo(symbol,MODE_ASK);

    

     double stoplevel =  NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;

     if(digitsTemp == 5 )
          stoplevel+=(700 * tickTemp);
     
     if(spreadOrdDangBr < stoplevel)                                                                           //если спред меньше стоплевела - перебиваем
         spreadOrdDangBr=stoplevel;
         
     double lotDB = calculationLot(spreadOrdDangBr,0.0025);                                                      //расчитываем лот - четверть процента свободных денег
     


         slODB=ask-spreadOrdDangBr;                                                                              
         tpODB= ask+ spreadOrdDangBr;

         orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));



となり、その結果、端末で


 
Hi all) 選択したバーの最大価格を 決定する方法(例:100本目のバー)。
 

助けて!お願い買いポジションを持ち、価格が100% 上昇した場合
pips、私のストップロスは、前回のストップロスに対してゼロに等しくなります。

正しくできているのだろうか?


if(Bid-OrderOpenPrice()>Point*100)

{

OrderModify(OrderTicket(),OrderOpenPrice(),0,TakeProfit,0,);

return(0)です。

}

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

 
Tema97:
選択したバーの最大価格を決定する方法(例:100本目)。
High[100]は役に立ちません
 

私は100バーの最大値と最小値を定義し、水平線を描画する関数を発見した(私は最初の15バーのパスを作成し、唯一の100バー(私はこれを行うには?)とラインとの別の問題をチェック助けて - それは1回だけ描く - 我々は新しい高値と安値で別の100ポイントを行けば - 線は描かれていない)誰もが書き留めてください知って - ここでコードです。

extern inttern Quant_Bars=100; // バーの本数

//--------------------------------------------------------------------

int start() // 特殊関数スタート

{

int i; // バー番号

double Minimum=Bid; // 最低価格

Maximum=Bid; // 最高値

for(i=0;i<=Quant_Bars-1;i++) // ゼロ(!)から

{ // ...Quant_Bars-1(!?)

if (Low[i]<最小) // もし < 既知の場合

Minimum=Low[i]; // これがMinになります。

if (High[i]> Maximum) // if > 既知の場合

Maximum=High[i]; // 最大値になる。

}

Alert("For last ",Quant_Bars, // 表示)

"Min= ",Minimum," Max= ",Maximum);

double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,Maximum);

double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);

return(0); //終了 start()

}

 
テマは ようやく書類を読んだ。そこには、たくさんの面白いものがある...。例えば、iHighest は、対応するチャートの最大の検出値(現在のバーに対するシフト)のインデックスを返します。そしてiHighは 、対応するチャートのバー(shiftパラメータで指定)の最高値の値を返します。この2つの機能を理解すれば、他人が書いたとは限らない機能に頼ることなく、簡単に問題を解決することができます。
 
みんな、インジケータが非標準のグラフィックオブジェクトを描画する場合、それらにアクセスすることは可能か?問題は、(Allボタンを押したときに)オブジェクトのリストにそれらが表示されず、ObjectsTotal()関数がそれらを見ないことです。オブジェクトの名前でアクセスしようとすると、GetLastError()がエラー4202を返す(ObjectFind()関数)
理由: