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

 
//+------------------------------------------------------------------+
//| shetchik_barov.mq4 ||||。
//| FOX.RM|著作権 © 2012, FOX.RM
//| fox.rm@mail.ru |
//+------------------------------------------------------------------+
#property copyright "著作権 © 2012, FOX.RM"
#プロパティリンク "http://www.niochem.net"

extern int LimitBar = 10;

double col_bar;
datetime ctat_SB=0;
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
Dell()です。
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+

int start() {
Dell()です。
文字列名_1;
int limit, i=0;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars;
limit=Bars-counted_bars。
if(ctat_SB==0) ctat_SB=Time[0];
if(limit>0) limit=0;
for(i=limit; i>=0; i--)
{
col_bar = iBarShift(NULL,0,ctat_SB)-iBarShift(NULL,0,Time[i]); //-- バーの数をカウントします。
if(iBarShift(NULL,0,ctat_SB)-iBarShift(NULL,0,Time[i])>=LimitBar) //-- 指定した数のバーで制限をかける。
{
ctat_SB=Time[i]; //-- カウンタをリセットする.
}
//---- チャートに貼り付ける
name_1 = "shetchik_barov";
SetText1(name_1,DoubleToStr(col_bar,0),Blue,14);
}
return(0)です。
}

//----
void Dell(string name_n = "shetchik_barov")
{
文字列 vName;
for(int i=ObjectsTotal()-1; i>=0;i--)
{
vName = ObjectName(i);
if (StringFind(vName,name_n) !=-1) ObjectDelete(vName);
}
}
void SetText1(文字列名,文字列テキスト,色 c, intサイズ)
{
ObjectCreate(name,OBJ_LABEL,0,0,0;)です。
ObjectSet(name,OBJPROP_XDISTANCE,1100)。
ObjectSet(name, OBJPROP_YDISTANCE, 20)を使用します。
ObjectSetText(name,text,8, "Arial Black",c);

}

オドミンへのトリビュート、オマージュはこちらです。

しかし、私はいくつかの行のコードを書くのを助けてください。

新しいバーを開いたときに、新しいバーの警告を表示する条件

数える必要もないし、掛ける必要もないし、割る必要もないし、そんな複雑なコードも必要ない。

 
sannin:

//--------------------------------------------------------------------
// newbar.mq4  
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------

bool New_Bar=false;                             // Флаг нового бара
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
  {
   
//--------------------------------------------------------------------
   Fun_New_Bar();                               // Обращение к ф-ии
   if (New_Bar)                                 // Новый бар
      {
    //Ваши действия
      }
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------
void Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }
//--------------------------------------------------------------------
教科書を 読む。
 
r772ra:
教科書を 読む。


いんがおうほう

正直なところ、一日中見ていました。

 
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());

この行を追加して、特定のマジシャンとのみオーダーをクローズするようにしてもらえないだろうか。

 
sannin:
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());

この行を追加して、特定のマジシャンとのみオーダーをクローズするようにしてもらえないだろうか。

if (OrderType()==OP_BUYSTOP ) if (OrderMagicNumber()==MagicNumber ) OrderDelete(OrderTicket());
 
PapaYozh:


確かに、自分でも予想がつきましたね...。

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

 

みんな、コードを閉じるのを手伝ってくれ、どうすればいいんだ?

情報をどこで手に入れるか教えてくれ!!!!

 
laveosa:

みんな、コードを閉じるのを手伝ってくれ、どうすればいいんだ?

情報をどこで手に入れるか教えてくれ!!!!


もし、あなたがコードを書いたのであれば、自分で制限をかけることができます。
 
こんにちは。どのようにすれば、一連の注文のストップロスを 正確に計算し、この一連の注文が損益分岐点で終了できるようにすることができますか?例えば、マジック1の買いロット1.3320、マジック2の買いロット1.3345、マジック3の買いロット1.3360の3つの注文があります。注文が価格と反対に動いたときに、損益分岐点で閉じるように、すべての注文のストップロスの合計を計算するにはどうすればよいですか?
 

親愛なる師たちへEAがループする問題が発生しました。変数"t"を追加しています。

static datetime t;


if (MA_1_t >= 1.00035)
      {
      Opn_B = true; 
      t=Time[0];
      }
if(MA_2_t >= 1.0002)
  {
    if(Time[0]>t)
      {                                      
      Cls_B=true;                 
      }
   }

をクリックすると、ポジションが開か れたバーの後でポジションを終了することができます。私は今問題があります:私は、信号の後に2つのバーの後に終了したい。問題点を教えてください。