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

 
VOLDEMAR:

デザインがまとまらない

に悪態をつき続けている。

日中にインデックスを取得する必要があります


int 型のENUM_DAY_OF_WEEK です。
 
evillive:
ENUM_DAY_OF_WEEK は int 型です。
intとstringとdoubleの両方を試しました。
 
evillive:
手動で行うことはできません。プログラムを使用して取引する場合のみ、端末がこれらのアイコンを描画します。また、手動での取引履歴をチャートにコピーすれば、すべての取引にマークが付きます。

また、このように各オープンオーダーの色を変更した場合、その取引はチャートに反映されるのでしょうか?

int i2;  

    for (i2=OrdersTotal()-1; i2>=0; i--){

    if (OrderSelect(i2, SELECT_BY_POS, MODE_TRADES)){

      if (OrderSymbol()==Symbol()){  

       if (OrderType()==OP_SELL){

        c=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),0,Red);

       }

       if (OrderType()==OP_BUY){   

        c=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),0,Green);

       }

      }

     }

    }

   }

 

ビジュアライゼーション実行時に残高をインジケータとして表示することにした

Balance=AccountBalance();
double price=iCustom(NULL,0,"AccountBalance",Balance,0,1);

をインジケータから読み取ります。

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1  Blue       
//--- input parameters
//--- buffers
extern double       Balance=3;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);
   SetIndexBuffer(0,ExtMapBuffer1);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1;
   limit1=Bars-counted_bars-1;

   for(i=limit1;i>=0;i--)ExtMapBuffer1[i]=Balance;
   
   return(0);
  }
//+------------------------------------------------------------------+

しかも頻繁に呼び出される)画面が真っ白になる。何が問題なのか、という問いかけはレトリックです。

 
Forexman77:

ビジュアライゼーション実行時に残高をインジケータとして表示することにした

をインジケータから読み取ります。

しかも頻繁に呼び出される)画面が真っ白になる。何がいけないのか、という問いかけはレトリックです。

bool balans。

文字列 balans_S;

balans_S=DoubleToStr(AccountBalance(),2)+""+AccountCurrency();
balans=ObjectCreate("Balance",OBJ_LABEL, 0, 0, 0);
balans=ObjectSetText("Balance",balans_S, 14, "Arial", Orange);
balans=ObjectSet("Balance", OBJPROP_CORNER, 1);
balans=ObjectSet("Balance", OBJPROP_XDISTANCE, 20);
balans=ObjectSet("Balance", OBJPROP_YDISTANCE, 20);

このコードをExpert Advisorに挿入すると、幸せが訪れるかもしれません。

 
woin2110:

bool balans。

文字列 balans_S;

balans_S=DoubleToStr(AccountBalance(),2)+""+AccountCurrency();
balans=ObjectCreate("Balance", OBJ_LABEL, 0, 0, 0);
balans=ObjectSetText("Balance",balans_S, 14, "Arial", Orange);
balans=ObjectSet("Balance", OBJPROP_CORNER, 1);
balans=ObjectSet("Balance", OBJPROP_XDISTANCE, 20);
balans=ObjectSet("Balance", OBJPROP_YDISTANCE, 20);

このコードをExpert Advisorに挿入すると、幸せが訪れるかもしれません。

ありがとうございます。しかし、残高をグラフの全区画に線で表示する必要があります。
 
evillive:
不思議なことに、私の場合はうまくいくのです。もしかして、ログファイルにエラーがあるのでは?

わかったのは、間違ってExpertを接続したままDebug.tplという名前で保存したため、テンプレートファイルの末尾に余計な指示があったことです。

<expert>
name=ProbaExpert
flags=275
window_num=0
<inputs>
StrPeriod_Direct=
Pips=50
</inputs>
</expert>

エキスパートなしでテンプレートを保存したところ、すべてがうまくいきました、ありがとうございます。

 
for(int i=0;i<OrdersHistoryTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {  
         if(OrderType()==OP_SELL)
          {  
           if(OrderStopLoss()>OrderOpenPrice())
            {                     
              if(OrdersTotal() == 0)
              {              
               double SELLprice=Bid;  
               int ticket =OrderSend(Symbol(), OP_SELL,Lot*=2,SELLprice, 3,SELLprice+StopLoss* Point, 0, "", MagicNumber,0, clrNONE);
                 
              }
            }            
          }              
        }
     }     

損切りの場合はLOTを上げ、利益の場合はLOTを元に 戻すようなコードにしたいのですが、アドバイスお願いします。

 

ビジュアライゼーションで残高を線として表示するために、記事からコードを引用しました。

EAでは。

// сохранение последнего значения баланса в гл. переменную
   GlobalVariableSet( "vGrafBalance", AccountBalance() );

インジケーターに

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Blue
 
double balance[];
 
int init()
{
    IndicatorShortName( "vGrafBalance" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0, DRAW_LINE );
    SetIndexBuffer( 0, balance );
    SetIndexLabel( 0, "Balance" );
}
int start()
{
    balance[0] = GlobalVariableGet( "vGrafBalance" );
    return(0);
}

線が表示されない。最後には、バッファの最後の、ゼロのバー上の値だけが存在します。

 
Forexman77:

ビジュアライゼーションで残高を線として表示するために、記事からコードを引用しました。

EAで。

インジケーターに

線が表示されない。最後には、バッファの最後の、ゼロのバー上の値だけが存在します。

すべてのバーに表示するには、通常のインジケーターで行うように、すべてのバーを数える必要があります。