[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 407

 
costy_:

ベースフレッチング...:-)

と、またBASE TREND ))

ユーロが下がってドルも下がれば、フラット。


:-)
 
costy_:
スワップ・スプレッドは考えに織り込まれているか?
ええ、その通りです。それは、スプレッドがあるからです。スワップはなく、ポジションはショート。そのため、Expert Advisorは、損失よりも利益を優先するよう、さらに弾力的であるべきです。ありがとうございます、やってみます。
 
costy_:
フォルクスワーゲンの後という事実について。

ああ..."網羅的 "な回答。すべてのイベントには理由があるはずです。プロは、故障に遭遇しても、何に気をつければいいのかを知っています。何度もアルゴリズムに目を通したが、原因がわからない。そこで、プロにアドバイスを求めることにした。
 

私はこのように保留中の注文を開こうとしているのです。

//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin()。
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT);
double Step=MarketInfo(Symbol(),MODE_LOTSTEP);
double Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step;
if(Lot<Min_Lot)Lot=Min_Lotとする。
if(Lot>Max_Lot)Lot=Max_Lot;
if(Lot*One_Lot>Free)return(0.0)です。
return(Lot)です。
}

//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot)
{
double TP=0;//takeprofit
double SL=0;// ストップロス
double PR=0;// 価格
while(!IsTradeAllowed())Sleep(100)。
if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))とする。
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL)とする。
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))とする。
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(Cmd==OP_BUYSTOP)
{
PR=NormalizeDouble(Ask,Digits)。
if(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)となります。
if(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits)となります。
}
if(Cmd==OP_SELLSTOP)
{
PR=NormalizeDouble(Bid,Digits)。
if(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits)となります。
if(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits)となります。
}
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE)。
if(tic<0)Print("Error opening order:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP));
return(tic)です。
}

確認すると、メッセージが表示される。

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15:OrderSend 関数に 無効なロット数です。

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend error 4051

2011.12.06 23:36:51 2010.01.07 17:20 ビッグドッグ 1.01 EURUSD,M15: 誤発注オープン:405

2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216

明らかにロットの計算がおかしいのですが、よくわかりません))) アドバイスをお願いします

 
LOA:

うん..."網羅的 "な回答。すべてのイベントには理由があるはずです。プロは、何か不具合があったときに、何に気をつければいいのかを知っています。何度もアルゴリズムに目を通しましたが、原因がつかめません。 そこで、プロの方々にアドバイスをお願いしているのですが、何が原因なのでしょうか?

さて、指標はどこにあるのか!(コーヒーカスによる推測tel. https://www.mql5.comhttps://www.mql5.com/ru/)

そうですね......全部挙げていくと、文字数が足りなくなってしまうので。

continue break return forの割り込みがあるかどうか、いつ発生するかを確認する。 バーのオープニングで動作する...。

彼らは注意を払うが、デバッグを開始しない "いくつかの問題に遭遇すると、何に注意を払うべきかを知っている "あなたの指標も、例えば、印刷を通じてデバッグを開始(さらに他の誰かので、15ページ長い、50以上の呼び出された関数...)。

Print("дошли до инициализации, сделаем ресайз запишем все 0.0 size="+ArrayRange(buf,0)+" resize= "+ArrayResize(buf,Bars)+"  "+ArrayInitialize(buf,0.0)) ;

 

こんにちは。

配列を作成しました。

double fibo[]={-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};

しかし、なぜかその最初の値がゼロになる(-10.09が0になる)。 こうすることで打開策を見いだしました。

double fibo[]={,-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};

これはどういうことなのか、教えていただけませんか?とても理解したい。

よろしくお願いします。

 
nemo811:

こんにちは。

配列を作成しました。

しかし、なぜかその最初の値が0になる(-10.09が0になる)。こうすることで打開策を見いだしました。

これはどういうことなのか、教えていただけませんか?とても理解したい。

よろしくお願いします。

インデックス = 0 でゼロにしたことはない

double fibo[]={-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};
Alert(fibo[0]);

2011.12.06 20:00:47 MA_TF AUDUSD,M30:アラート:- 10.09


 

以下は、コードの問題部分です。

  if (FIBO)
   {
    double fibo[]={-10.09,-5.854,-4.98,-4.108,-3.236,-2.618,-2.11,-1.618,-1.11,-0.618,-0.382,0,0.118,0.236,0.382,0.5,0.618,0.764,0.882,1,1.382,1.618,2.11,2.618,3.11,3.618,4.236,5.108,5.98,6.854,11.09};
    double fiboPoint = 0;
    for(i=1;i<ArraySize(fibo)+1;i++)
     {
      fiboPoint = NormalizeDouble(MinAsia+Asia*fibo[i],Digits);
      double v = 0;
      if (fibo[i]<0) v=(MathAbs(fibo[i])+1)*100;
      else v=fibo[i]*100;
      string kk;
      kk=StringConcatenate (DoubleToStr(fiboPoint,Digits)," / ",DoubleToStr(v,1),"%");
      string k=DoubleToStr (i,0);
      ObjectCreate (nameF+k, OBJ_TREND, 0,0,0,0,0,0,0);
      ObjectSet (nameF+k, OBJPROP_RAY, false);
      ObjectSet (nameF+k, OBJPROP_TIME1, TimeBegAsia);
      ObjectSet (nameF+k, OBJPROP_PRICE1, fiboPoint);
      ObjectSet (nameF+k, OBJPROP_TIME2, FlowTime);
      ObjectSet (nameF+k, OBJPROP_PRICE2, fiboPoint);
      ObjectCreate (nameFT+k, OBJ_TEXT, 0,0,0,0,0,0,0);
      ObjectSet (nameFT+k, OBJPROP_TIME1, TimeBegAsia);
      ObjectSet (nameFT+k, OBJPROP_PRICE1, fiboPoint);
      ObjectSetText (nameFT+k,kk,8,"Arial");
     }
   }

ここで、上記の問題点ですが、値-10.09から派生した線が引かれていない(MinAsiaの 値を取っている

 
nemo811:

以下は、コードの問題部分です。

テュズ

for(i=0;i<ArraySize(fibo)/**/-/**/1;i++)
 
mamba5:

私はこのように保留中の注文を開こうとしているのです。

//+---------Функция расчета лота---------------------------------------+

確認すると、メッセージが表示される。

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend 関数に無効なロット数です。

2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15: OrderSend error 4051

2011.12.06 23:36:51 2010.01.07 17:20 ビッグドッグ 1.01 EURUSD,M15: 誤発注オープン:405

2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15: Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216

明らかにロットの計算がおかしいのですが、よくわかりません))) アドバイスをお願いします


テスターとリアルタウトの 両方に注文を出すには、実績のあるロング機能を使用します。