[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 253

 
DDFedor >> :

KOGDA JE BUDET MQL5?

誰もが音訳を好んで読むわけではありませんから、音訳もまた、あなたに答える能力を制限することになります。

DDFedorさん、ありがとうございます。googleで何かを探さなければならないとき、私はルシア語でテキストの文字のアップリケを作るために使用しました。

 

インジケータに色をつけたいのですが、値が上がれば緑、下がれば赤になるようにしたいです。

以下はそのコードです。

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green


int BarsCount = 10000;

//---- buffers
double buf_1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
//    SetIndexStyle(1,DRAW_HISTOGRAM);
//    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        buf_1[ i] = High[ i]-Low[ i];
   
        
        
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

15:00に未決済のポジションがない場合、保留の注文を出してほしい。

次のように書いています。

if (Hour()=15 || Minute()=0)

double max_level=High[iHighest(NULL,0,MODE_HIGH,13,0)]; //過去13バーの最高値を定義する。
double min_level=Low[iLowest(NULL,0,MODE_LOW,13,0)]; //過去13バーの最低価格を定義する。
int Dist_SL =60; // SL(pt)の設定
int Dist_TP =60; // TP (pt) を設定する.
//--------------------Цикл установки ордераBUY STOP---------------------------------------------------------------------
while(true) //オーダーサイクルを開始する。
{
int Min_Dist1=MarketInfo(Symbol(),MODE_STOPLEVEL); // Min_Dist.
double Price_B=max_level; // 入札価格

//----------------Устанавливаем ордер на покупку---------------------------------------------------------------------------
if (NormalizeDouble(Price_B,Digits)< // 許容値より小さい場合。
NormalizeDouble(Ask+Min_Dist1*Point,Digits))とする。
{// BuyStopだけ!
Price_B=Ask+Min_Dist1*Point; // これ以上近づけません。
Alert("Declared Buy price has been changed: Price = ", Price_B);
}
double SL_B=Price_B - Dist_SL*Point; // 買うべきSL価格を宣言する。
double TP_B=Price_B + Dist_TP*Point; // 買いの宣言されたTP価格
Alert("Trade order has been sent to the server. Waiting for reply...");
int ticket1=OrderSend(Symbol(), OP_BUYSTOP, 0.1, Price_B, 0, SL_B, TP_B); //買い注文を出す。
if (ticket1>0) // うまくいきました :)
{
アラート(「買い注文が開きました」,ticket1)。
break; // ループを抜ける
}

何か間違ったことを書いているのでしょう。ある時間にポジションを開く方法を教えてください。

 

まあ、一点一点ですね。

1.ティックが0分であれば、スクリプトが開始されます。0分目を開始分として設定し、スクリプトが再び開始されないようにフラグを設定するのがよいでしょう。しかし、原理的にはこれは致命的なことではありません。

2.価格水準が許容値より低いときだけチェックし、高いときはチェックしないのです。

3.価格をチェックするときは正規化を使うが、代入するときは使わない、誤差が出るかもしれない。

 
Roger >> :

まあ、一点一点ですね。

1.ティックが0分であれば、スクリプトが開始されます。0分目を開始分として設定し、スクリプトが再び開始されないようにフラグを設定するのがよいでしょう。しかし、原理的にはこれは致命的なことではありません。

2.価格水準が許容値より低いときだけチェックし、高いときはチェックしないのです。

3.正規化は価格を確認するときに使うのであって、代入するときに使うのではない、誤差が生じる可能性がある。

ご返信ありがとうございました。私はプログラミングの全くの初心者で、ヘルプファイルで勉強を始めたばかりですが、自分でEAを書こうと思いました。 フレームと理解しています。

の場合、(Hour()=15 || Minute()=0)が全く正しくなく、それぞれの文字がコンパイル時にエラーになるのですが、正しい書き方を教えて下さい。

 
albon >> :

15:00に未決済のポジションがない場合、保留の注文を出してほしい。


何か間違ったことを書いているのでしょう。ある時間にポジションを開く方法を教えてください。

フォーラムを検索すると、KimiVさんからお借りした、時間で操作を制限する機能があるようです

 
albon писал(а)>>

返信ありがとうございました。私はプログラミングの全くの素人で、ヘルプファイルを勉強し始めたばかりですが、すぐに自分のEAを書くことにしました。フレームと理解しています

(Hour()=15 || Minute()=0) が全く正しくない場合、コンパイル時に全ての文字がエラーになるのですが、どうすれば正しく書けるかアドバイスをお願いします。

に変更します。

if (Hour()==15 || Minute()==0)

PS 何も知らないなら、なぜ悩むのか、他の人に送った方がいい。

 
dmmikl86 >> :

インジケータに色をつけたいのですが、値が緑で上がり、赤で下がるようにしたいのですが。

以下はそのコードです。

これは、2色のバッファーを使って行う必要があります。

価格が上昇すれば、あるバッファに値が割り当てられ、下落すれば、別のバッファに割り当てられる。

で、2番目は黒体のまま(例:SetIndexEmptyValue(0,0.0);)です。

0は、満杯になる前に両方のバッファに割り当てられ、それ以降は、バンクしたい人と迷惑をかけたくない人にバッファを分配するのです。

Vininにはそのようなインジケータがあったようで、codebase profileを検索してみてください。

 
ターミナルのメインウィンドウに小さな画像を挿入することは可能かどうか教えてください。
 
IlyaA >> :
ターミナルのメインウィンドウに小さな画像を挿入することは可能かどうか教えてください。

彼らが約束する5ではまだない(少なくとも標準的な手段で)