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

 
r772ra:

step=0の場合を見てみましょう。

ということになります。

また、この質問をされた方は、オーダーsl=0, tp=0を 設定し、修正された方が良いと思います。

これに違いない。


1.ステップ=100(5桁の場合)です。
2.注文の設定がシナリオ通りであれば、:
a) ストップゼロの注文を最初に設定する -- 何か問題は?;
b) その後、「取引業務の要件と制限 」に従ってこの注文を修正する。
 

Roll:

1. У "чела" Step=100(на 5-ти знаке)

質問が終了し、お小遣いをもらうかのように

ここで、ご存知のDCでは(どれとは言いませんが)MODE_STOPLEVEL=0

 

お困りごとを解決します。EAにコメントを追加して、テスターでドローダウンが式で計算されたパーセンテージで表示されるようにする必要があります。Drawdown = ((Balance - Equity)/Balance * 100)*-1 で、やってみました。

double Prosadka = ((AccountBalance() - AccountEquity()) / AccountBalance() * 100)*(-1);

Comment("Просадка = ", DoubleToStr(Prosadka, 2),"%");

しかし、最大ドローダウンも必要で、それはランのためでした。それこそ、どうしたらいいのかさえわからない。そんなことしたことないから、せめてどっちの端っこか教えてよ。ありがとうございます。

 
Roll:
人々は彼らのヒーローを知る必要があります。プライベートメッセージでDCの詳細を送ってください。
アルで始まりベットで終わる)))
 
alsuさん、ありがとうございます。)
 

コードを助けてください。

(extern int Bars_count=10080;) バーの 数だけジグザグデータをファイルに出力するコードがあります。一定期間(extern int Time_Period=10080; )のデータを分単位で 表示するには?同じ期間内の異なるTFに関する分析に必要です。また、配列double zz_arr[10000], zz_arr_Abs[10000] の値を自動的に決定するにはどうしたらよいでしょうか 。 これは、ジグザグ・インジケータから期間計算のために必要なだけのデータを取るためです(extern int Time_Period=10080;)

コード

//+------------------------------------------------------------------+
//|                                                           ZZ.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//indikatoriaus zz kintamieji
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

extern int Bars_count=10080;                  //Is kiek baru skaiciuosime
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function    
//+------------------------------------------------------------------+
int start()
  {
//----
   if( !NewBar() ) return(0);
   double zz_arr[10000],zz_arr_Abs[10000];
   double preZz=0;
   int i,ii;
    int handle;
          
        handle=FileOpen("array.txt",FILE_CSV|FILE_WRITE,";");
        Print("**********************",handle,"***********************");
   for(i=0;i<=Bars_count;i++)
   {
       double zz = iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i); 
      if(zz!=0)
      {
         if(preZz==0)
         {
            preZz=zz
            ;continue;
         }
        zz_arr[ii]=(zz-preZz)/Point;
        if(handle>0)
        /* {
            FileWrite(handle, zz_arr[ii-1]);
         }*/  
        preZz=zz;
        ii++;
        Print(zz_arr[ii-1], "    ii = ", ii - 1);
        zz_arr_Abs[ii-1]=MathAbs(zz_arr[ii-1]);  
        if(handle>0)
         {
            FileWrite(handle, zz, zz_arr[ii-1], zz_arr_Abs[ii-1],ii-1,';');
         }                       
        Print("                      ",zz_arr_Abs[ii-1], "    ii = ", ii - 1);
     }
   }
   FileClose(handle);
  
  ArrayResize(zz_arr,ii);
  Print("-------------------------------------------------");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Iaia?o?aiea iiaiai aa?a
//+------------------------------------------------------------------+
bool NewBar() 
  {
//----
   static datetime NewTime;               // A?aiy oaeouaai aa?a
   bool NewBar=false;                     // Iiaiai aa?a iao
   if( NewTime!=Time[0] )
     {
      NewTime=Time[0];                    // Oaia?u a?aiy oaeia
      NewBar=true;                        // Iieiaeny iiaue aa?
     }
//----
   return(NewBar);
  }
//+------------------------------------------------------------------+
 
分単位の期間は iBarShift() でバーに変換でき、配列のサイズは バーと同じサイズに設定でき、そうすれば必要なデータはすべて承知の上で保持されます。なお、変数 ii はコード中で何ら初期化されていないので、エラーが発生しても自発的に動作することがあります。
 
皆さんこんばんは、アドバイザーでストップロスを 処方するのを手伝ってください。
 

こんにちは!Trailing StopとTrailing Stepを完成させるために、1年間、私の頭の中で探し出すことができないのですが、助けていただけませんか?

ファイル:
udf.mqh  48 kb
 

トレーリングストップとブレイクイーブンの出力はどこに追加するのですか? また、預金を増やしてもロットは増えません。

int Buy (int StopLoss = 0, int TakeProfit = 0, double Lot = 0)

{

int Ticket = 0;

double SL = 0;

double TP = 0;

double VolumeLot = 0;

RefreshRates()。

if (StopLoss != 0)

SL =NormalizeDouble(Bid-StopLoss*Point, Digits)です。

if (TakeProfit != 0)

TP = NormalizeDouble(Ask+TakeProfit*Point, Digits)。

if (Lot == 0)

VolumeLot = GetLot ();

さもなくば

VolumeLot = Lot;

チケット = OrderSend(Symbol(), OP_BUY, VolumeLot, NormalizeDouble(Ask, Digits), 20, SL, TP, NULL, AccountNumber(), 0, Green)です。

if (Ticket == -1)

{

return (GetLastError ();

}

さもなくば

{

リターン(チケット)です。

}

}

int Sell (int StopLoss = 0, int TakeProfit = 0, double Lot = 0)

{

int Ticket = 0;

double SL = 0;

double TP = 0;

double VolumeLot = 0;

RefreshRates()。

if (StopLoss != 0)

SL = NormalizeDouble(Ask+StopLoss*Point, Digits)です。

if (TakeProfit != 0)

TP = NormalizeDouble(Bid-TakeProfit*Point, Digits)。

if (Lot == 0)

VolumeLot = GetLot ();

さもなくば

VolumeLot = Lot;

チケット = OrderSend(Symbol(), OP_SELL, VolumeLot, NormalizeDouble(Bid, Digits), 20, SL, TP, NULL, AccountNumber(), 0, Red)です。

if (Ticket == -1)

return (GetLastError ();

さもなくば

リターン(チケット)です。

}

double GetLot ()

{

int lot;

if (AccountBalance()>=300) lot=0.01;

if (AccountBalance()>=500) lot=0.02;

if (AccountBalance()>=800) lot=0.03;

を返します(ロット)。

}