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

 
lottamer:


DCは5桁...。

WITHOUT DoubleToStr(YourPrice,5) とはどういう意味ですか? DoubleToStr(YourPrice,5) はどこにもありません。

Print や Alert (Print(doubleVariable)) のどこかに double 変数を置いただけでは、小数点以下 4 桁しか表示されませんが、 Print(DoubleToStr(doubleVariable,N)) を置くと- と入力すると、小数点以下N桁まで表示されます。
 
モデレーターに質問 - サイトから再認証を求められることが非常に多いのですが。ログインしようとすると、「アクセスが一時的に制限されているか、拒否されて います」と表示される。そして、数時間後にアクセスが回復する。何が問題なのでしょうか?
[Deleted]  
皆さん、アドバイスありがとうございます。でも、論理的には2つの選択肢に違いはないのですが...。
  • for (int i=1; i<=OrdersTotal(); i++)
  • for (int i=OrdersTotal()-1; i>=0; i--)
それとも私が間違っているのでしょうか?ちなみに、これは役に立ちませんでしたが...。


不思議なのは、この条件下でEAがすべての注文を完全に削除してしまうことです。
  • for (int i=0; i<=OrdersTotal(); i++)
  • に対して(int i=OrdersTotal()。 i>=0; i--)
その理由を理解できる人はいるだろうか。

 
yosuf:
モデレーターに質問 - サイトから再認証を求められることが非常に多いのですが。ログインしようとすると、「アクセスが一時的に制限されているか、拒否されて います」と表示される。そして、数時間後にアクセスが回復する。何が問題なのでしょうか?
ホメオスタシスユニバースモデレーターは認証に影響を与えることができない。永久に禁止するのみ。
 
granit77:
ホメオスタシスユニバースモデレーターは認証に影響を与えることができない。永久に禁止されるだけ。
これからどうすればいいのか?誰に頼めばいいのか?
 
yosuf:
これからどうすればいいのか?誰に頼めばいいのか?

宇宙の司会者に
 
yosuf:
モデレーターに質問 - サイトから再認証を求められることが非常に多いのですが。ログインしようとすると、「アクセスが一時的に制限されているか、拒否されて います」と表示される。そして、数時間後にアクセスが回復する。何が問題なのでしょうか?

荒らされてる)))カリスマですね))))
削除済み  

ごあいさつ

指標線 との価格交差を考慮する方法を教えてください。

インジケータには、下、中、上の3つのラインがあります。

はその一例です。

価格が上のラインを超えたら、その瞬間を固定し、その後使う必要がある。価格が上のラインより下にあり、真ん中のラインより上にあるとき、そして価格が真ん中のラインより下にあるとき、固定された結果をリセットする必要があります。クロスオーバーが発生した価格を覚えておく必要はなく、クロスオーバーが発生したことを示すチェックマークを付けて、クリアすればいいんです。

LineUp //верхняя линия

LineS // средняя линия

LineDown // нижняя линия

Ask >  LineUp // фиксируем

Ask < LineS // сбрасываем

и так же с нижней линией

Bid < LineDown // фиксируем

Bid > LineS //  сбрасываем

TrueとFalseで試してみましたが、うまくいきませんでした、なぜでしょうか。

これを試してみました。

double LineUp; //верхняя линия индикатора

double LineS; // средняя линия индикатора

double LineDown; // нижняя линия индикатора

bool FiksiruemUp = False;

 bool FiksiruemDown = False;

if ( Ask >  LineUp)  FiksiruemUp = True; // фиксируем

if (Ask < LineS) FiksiruemUp = False; // сбрасываем

// и так же с нижней линией

if (Bid < LineDown)  FiksiruemDown = True; // фиксируем

if (Bid > LineS)  FiksiruemDown = False; //  сбрасываем

 

// дальше в коде я к нему обращаюсь:

if ( FiksiruemUp == True) 

{

то нужно сделать это . . . . . . 

} 

なぜ、うまくいかないのでしょうか?

 
親愛なるフォーラムのユーザーは、助けてください、私は私のEAのコードのバグを見つけることができません、すなわち、それはできないか、または唯一のTPまたはSLによって、指標の位置を閉じる したくない、それは私に思えるように、ここで、この問題に関連しているコードの一部、事前に多くの感謝を。
int start()
  {
   int
   Total,                           // Количество ордеров в окне 
   Tip,                          // Тип выбран. ордера (B=0,S=1)
   Ticket;                          // Номер ордера
   double
   FT1,                              // Значение 0 буффера Forex Trend
   FT2,                             // Значение 1 буффера Forex Trend
   TL1,                              // Значение 1 буффера Trend Lord
   TL2,                              // Значение 0 буффера Trend Lord                          
   FI,                               // Значен. Force Index текущее 
   Lot,                             // Колич. лотов в выбран.ордере
   Lts,                             // Колич. лотов в открыв.ордере
   Min_Lot,                         // Минимальное количество лотов
   Step,                            // Шаг изменения размера лота
   Free,                            // Текущие свободные средства
   One_Lot,                         // Стоимость одного лота
   Price,                           // Цена выбранного ордера
   SL,                              // SL выбранного ордера 
   TP;                              // TP выбранного ордера
   bool
   Ans  =false,                     // Ответ сервера после закрытия
   Cls_B=false,                     // Критерий для закрытия  Buy
   Cls_S=false,                     // Критерий для закрытия  Sell
   Opn_B=false,                     // Критерий для открытия  Buy
   Opn_S=false;                     // Критерий для открытия  Sell
                                                        
   
//--------------------------------------------------------------- 3 --
   // Предварит.обработка
   if(Bars < Period_FI)                       // Недостаточно баров
     {
      Alert("Недостаточно баров в окне. Эксперт не работает.");
      return;                                   // Выход из start()
     }
   if(Work==false)                              // Критическая ошибка
     {
      Alert("Критическая ошибка. Эксперт не работает.");
      return;                                   // Выход из start()
     }
//--------------------------------------------------------------- 4 --
   // Учёт ордеров
   Symb=Symbol();                               // Название фин.инстр.
   Total=0;                                     // Количество ордеров
   for(int i=1; i<=OrdersTotal(); i++)          // Цикл перебора ордер
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if (OrderSymbol()!=Symb)continue;      // Не наш фин. инструм
         if (OrderType()>1)                     // Попался отложенный
           {   
            Alert("Обнаружен отложенный ордер. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Total++;                               // Счётчик рыночн. орд
         if (Total>1)                           // Не более одного орд
           {
            Alert("Несколько рыночных ордеров. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Ticket=OrderTicket();                  // Номер выбранн. орд.
         Tip   =OrderType();                    // Тип выбранного орд.
         Price =OrderOpenPrice();               // Цена выбранн. орд.
         SL    =OrderStopLoss();                // SL выбранного орд.
         TP    =OrderTakeProfit();              // TP выбранного орд.
         Lot   =OrderLots();                    // Количество лотов
        }
     }
//--------------------------------------------------------------- 5 --
   // Торговые критерии
                          
   TL1=iCustom(NULL, 0, "TrendLord", 1, 1);                          // trend lord синий
   TL2=iCustom(NULL, 0, "TrendLord", 0, 1);                          // красный тренд лорд
   FI=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0);            // FI
   FT1=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 0, 1);                        // forex trend blue
   FT2=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 1, 1);                        // forex trend red


   if (TL2 == EMPTY_VALUE && FT1 == 1 && FT2 == 0 && FI > 0)
   {
      Opn_B = true;
      
   
      
   }
   while (Opn_B == true)
   {
      if (FI <= 0)
      {
         Cls_B=true;
      }
  break;
   }      
      
   if (TL1 == EMPTY_VALUE && FT2 == 1 && FT1 == 0 && FI < 0)
   {
      Opn_S = true;
      
     
      
   }
   while (Opn_S == true)
   {
      if (FI >= 0)
      {
         Cls_S=true;
      }
   break;
   }    
//--------------------------------------------------------------- 6 --
   // Закрытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
      if (Tip==OP_BUY && Cls_B==true)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid,2);      // Закрытие Buy
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }

      if (Tip==OP_SELL && Cls_S==true)                // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Ask,2);      // Закрытие Sell
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Sell ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
      break;                                    // Выход из while
[Deleted]  
belck:

ごあいさつ

指標線との価格交差を考慮する方法を教えてください。

インジケータには、下、中、上の3つのラインがあります。

以下はその一例です。

価格が上のラインを超えたら、その瞬間を固定し、その後使う必要がある。価格が上のラインより下にあり、真ん中のラインより上にあるとき、そして価格が真ん中のラインより下にあるとき、固定された結果をリセットする必要があります。クロスオーバーが発生した価格を覚えておく必要はなく、クロスオーバーが発生したことを示すチェックマークを付けて、クリアすればいいのです。

TrueとFalseで試してみましたが、うまくいきませんでした、なぜでしょうか。

これを試してみました。

なぜ、うまくいかないのでしょうか?


コミットしたい変数をグローバルレベル、つまりStart関数の前に持って くる必要があるため、うまくいきません。例えばこんなのとか...。" FiksiruemUp = True; // commit " と "iksiruemUp = False; // reset"
タイムフレームを切り替えなければ、うまくいくはず ですが・・・。