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

 
Roman.:

端末のインジケーターのグレーの色をマウスの右ボタンでクリックし、メニューで - "変更 "クリックすでに左マウス、その後メタエディタでコンパイルし、端末を再起動し、幸せに暮らす...:-)


役に立たなかった。全部やって、端末を再起動したら、残念。

ソースコードは関係ないようです、プログラムは私のものです。

なぜか名前がすべてで、すべてのテキストを削除し、代わりに動作する単純なナンセンスをロードし、再コンパイルしても同じ結果でした。

とにかく、こんなことに遭遇した人がいないのなら、もういいや。この名前も忘れるし、問題ない。

 
ramses:


//+------------------------------------------------------------------------+ //|エキスパートスタート
関数| //+------------------------------------------------------------------------+ int start() {。


if (OrdersTotal()>0)
{ <-- この括弧は冗長です。

 
DhP:

1 ロットの注文のマージンは等しくなります。

そこから考えていけばいいんです。

そして、利用可能な資金が十分にあるかどうかも確認する必要があります。

AccountFreeMarginMode() の値はどこにあるのですか?0, 1, 2, 3, 4のいずれかになる(と思う)。


以下は、ロットサイズを決定する私の関数ですが AccountFreeMarginMode() を考慮に入れていないことが理解 できました。

double GetLots() {
   double lot;
   double Step   =MarketInfo(Symbol(),MODE_LOTSTEP);
   if(MoneyManagement) {
      RefreshRates();                              // Обновление данных
      double
         TickValue = MarketInfo(Symbol(),MODE_TICKVALUE),
         Min_Lot=MarketInfo(Symbol(),MODE_MINLOT),           // Миним. колич. лотов 
         Max_Lot=MathFloor(MarketInfo(Symbol(),MODE_MAXLOT)),// Макс. колич. лотов 
         Free   =GetFreeMargin()-NotUsedPart,                // Свободн средства
         One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);   // Стоимость 1 лота
      //Print("Step=",Step);
      //GetFreeMargin();
      stimul = LossPercent*0.01;
      if (Free > MaxUsedPart) Free = MaxUsedPart;
      double free = AccountBalance() - AccountMargin();
      Print("free = ",free);
      if (Free > free) Free = free;
      lot = stimul*Free/(StopLoss*Cor*TickValue);
      if (lot >= 0) {
         if (stimul == 3*LossPercent*0.01) {
            Print("После убытка ЛОТ в пределах % утроенного риска от SL и равен ",MathFloor(lot/Step)*Step," или ",100*stimul,"% баланса");
         } else {
            if (stimul != LossPercent*0.01) {
               Print("После убытка ЛОТ в пределах % максимального риска от SL и равен ",MathFloor(lot/Step)*Step," или ",100*stimul,"% баланса");
             } else {
               Print("ЛОТ в пределах заданного % риска от SL и равен ",MathFloor(lot/Step)*Step," или ",100*stimul,"% баланса");
             }
         }

      }
      if (lot > Max_Lot && lot >= 0) {
         lot = Max_Lot;
         Print("ЛОТ ограничен максимумом и равен ",MathFloor(lot/Step)*Step);
      }
      //Print(lot,"*",One_Lot,"=",lot*One_Lot," > ",Free);
      //Print("AccountFreeMarginMode=",AccountFreeMarginMode()," AccountFreeMargin=",AccountFreeMargin()," Free=",Free);
      if (lot*One_Lot > stimul*Free && lot >= 0) {
         lot =stimul*Free/One_Lot;
         Print("ЛОТ ограничен свободными средствами и равен ",MathFloor(lot/Step)*Step);
      }
      int level=AccountStopoutLevel(); ///// ТОЛЬКО ЕСЛИ ВЫРАЖЕН В ПРОЦЕНТАХ!!!
      if (AccountStopoutMode() == 0 && lot >= 0) {
         if (lot > Free/(level*One_Lot/100.0 + StopLoss*Cor*TickValue)) {
            lot = Free/(level*One_Lot/100.0 + StopLoss*Cor*TickValue);
            Print("ЛОТ ограничен уровнем StopOut и равен ",MathFloor(lot/Step)*Step," или ",MathRound(100*lot*StopLoss*Cor*TickValue/Free),"% баланса");
         }
      }   
      if (lot < Min_Lot && lot >= 0) {
         if (2*lot > Min_Lot) {
            lot=Min_Lot;               // Не меньше минимальн
            Print("ЛОТ ограничен минимумом и равен ",MathFloor(lot/Step)*Step);
         } else lot=0;
      }
   } else lot=Lots;

   //if (Variant == 2)lot=0.5*lot;
   //if (Variant == 0)lot=0.2*lot;

   if (Accuracy == 0) 
      lot = MathFloor(lot/Step)*Step;
   else lot = NormalizeDouble(lot,Accuracy); 
   //Alert("lot=",lot);
   if (lot < 0) lot = 0;
   return(lot);
}
 

forループの中に別のforループを挿入することができるかどうか教えてください。

可能であれば、小さな例を挙げてください

 
CLAIN:

forループの中に別のforループを挿入することができるかどうか教えてください。

一例を挙げるなら

よろしい

for (int i = 0; i < 10; i++)
{
   for (int j = 0; j < 10; j++)
   {
      Print("i = " + i + ", j = " + j);
   }
}
 
CLAIN:

forループの中に別のforループを挿入することができるかどうか教えてください。

一例を挙げる

することができます。

         for (int j = i-1; j >= i-trend_bars; j--)
            if (Close[j] - Open[i] > ternd_level*body) {
               ObjectDelete("TrendUp");
               ObjectCreate("TrendUp",OBJ_ARROW,0,Time[i],Low[i]-50*Point);
               ObjectSet("TrendUp",OBJPROP_ARROWCODE,SYMBOL_ARROWUP);
               ObjectSet("TrendUp",OBJPROP_COLOR,Red);
               if (!Is_Pattern(i)) {
                  ObjectSet("TrendUp",OBJPROP_COLOR,Green);
                  //========процедура сдвига всего 2-x мерного массива buf на 1 индекс========
                  ArraySetAsSeries(Pattern,true); //"переворачиваем" массив
                  ArrayCopy(Pattern, Pattern, ArrayRange(Pattern,1), 0);
                  ArraySetAsSeries(Pattern,false);//возвращаем в исходное значение
                  for (int k = 0; k < pattern_bars; k++) {
                     Pattern[0][k] = pattern[k];
                  }
                  for (int m = 0; m <= size; m++) {
                     if (Pattern[m][0] == 0 && Pattern[m][1] == 0 && Pattern[m][2] == 0 && Pattern[m][3] == 0) {
                        break;
                     }   
                  }
                  pattern_count = m;
                  if (prn) 
                     if (MathMod(m, 100) == 0) Print("В работе ",m," паттернов на ",Bars," барах");
                  if (m > 0.1*Bars) {
                     for (int l = MathRound(0.1*Bars); l <= size; l++) {
                        for (int n = 0; n < 4; n++) {
                           Pattern[l][n] = 0;
                        }
                     }
                  }
               }
               lst_patt = i;
               break;
            }
 
こんにちは、少し助けてください))

多分、あなたはコード倉庫でExpert Advisorを見つけることができます:

私はそれが一定の間隔(例えば15分ごと)ですべての開いているチャート テンプレート(更新時にそれらに接続されている(重要!EAの開始時ではない))更新する必要があります。

よろしくお願いします。)
 
はぁ...かつて12枚のチャートにこれを貼ったことがありますが、どう処分していいか分かりませんでした :))
 

まあ、4つのチャートしかないので、テンプレートだけ10分ごとにエクセルから生成して、手動で添付しているのですが、手動でやるのは疲れます))

その専門家の名前を教えてください。

 
w-knot:

まあ、4つのチャートしかないので、テンプレートだけ10分ごとにエクセルから生成して、手動で添付しているのですが、手動でやるのは疲れます))

その専門家の名前を教えてください。

自分の粗製乱造の自作自演だろ。プログラムしないなら、他の人に注文してください。