[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 13

 

あなた方はなんという人たちでしょう、貧しい少女を助けることができないのですか、私が求めるのはこんな些細なことなのです。

ここでは、カラーMAを例に挙げて説明します。https://www.mql5.com/ru/code/9145

ただ、計算アルゴリズムなしで、バーのトップまたはボトムに1色のラインを持つ、より単純で明確な例が必要です。

ご対応をお願いします。よろしくお願いします。

 
rigonich:


指標となる線を引くために、必要なこと。

1. インジケータバッファと呼ばれる特定のプロパティを持つ配列を作成し、そこからインジケータラインを構築するために使用する点の座標を取得する。そのために、端末に内蔵された既成の機能を利用する。

2. 表示線の描画スタイルを選択し、設定する。これは、端末の内蔵機能でも可能である。

3. この配列に値を入れる。これはインジケータを起動する関数の中で行われる。

端末には、1つのバッファの描画スタイルを変更する機能、すなわち、1つの線の異なる部分を異なるスタイルで描画する機能は内蔵されていません。そのためには、カスタム関数を作成する必要がありますが、簡単ではないので、少なくともプログラミングの基礎は知っておく必要があります。

それはわかったのですが、例えばi=20のバーで赤いラインを止め、このバーから緑のラインを開始する、などの方法がわかりません。
 
Yulia:

あなた方はなんという人たちでしょう、貧しい少女を助けることができないのですか、私が求めるのはこんな些細なことなのです。

ここでは、カラーMAを例に挙げて説明します。https://www.mql5.com/ru/code/9145

ただ、計算アルゴリズムなしで、バーのトップまたはボトムに1色のラインを持つ、より単純で明確な例が必要です。

ご対応をお願いします。よろしくお願いします。


kodobaseにそのような指標の例がありますが、端末にそのために必要なツール(指標を作るためのツールという意味です)が組み込まれていないため、この指標は端末の内蔵ツールだけでは作れないので、単純なものではありません。
 

プロフェッショナル、数日間データを保存し、このデータを編集するにはどうすればよいのでしょうか?

私はphpについて知っているが、MySQLデータベースは、いくつかのデータを格納するために使用されます。

ある情報をどこに保存すれば、後で利用したり編集したりできるのかがわからないのですが?

もし、mql4にそのようなものがあれば、ちょっとした例で説明してください。

ここで必要なのは、その瞬間に口座で利用可能な資金の量を取り、データベースに入力し、EAが10%多くまたは少なく取引した後、新しい量に基づいてロットを増加または減少させるということです。

このデータベースは、今、口座に1000ドルあることを記憶するためのものです。

EAが1100ドルに到達したら、ロットを増やします。

Suma = 1100; // 現在の金額が100ドル多いので、Expert Advisorは正常に取引されました。

procent = 10; // 10

baza = 1000; // データベースから前回の金額を抽出しました。

raznica = (baza/procent)+baza;// 1000/10=100とし、その差10%をベースからの金額に加算すると100+1000=1100となります。


if (Suma>=raznica ) // 1100 >=1100 現在の金額がベースからの合計+10%より多いかどうかを比較します。

{

1100=110の10%をEAが取引した後、再びロットを上げて新しい金額をベースに追加する、など。

}


うまく説明できたでしょうか。この方法を実現するための他のアイデアやソリューションがあるかもしれません。

 
pasha5282:

プロフェッショナル、数日間データを保存し、このデータを編集するにはどうすればよいのでしょうか?

私はphpについて知っているが、MySQLデータベースは、いくつかのデータを格納するために使用されます。

ある情報をどこに保存すれば、後で利用したり編集したりできるのかがわからないのですが?

もし、mql4にそのようなものがあれば、ちょっとした例で説明してください。

ここで必要なのは、その瞬間に口座で利用可能な資金の量を取り、データベースに入力し、EAが10%多くまたは少なく取引した後、新しい量に基づいてロットを増加または減少させるということです。

このデータベースは、今、口座に1000ドルあることを記憶するためのものです。

EAが1100ドルに到達したら、ロットを増やします。

Suma = 1100; // 現在の金額が100ドル多いので、Expert Advisorは正常に取引されたことになります。

procent = 10; // 10

baza = 1000; // データベースから前回の金額を抽出しました。

raznica = (baza/procent)+baza;// 1000/10=100とし、その差10%をベースからの金額に加算すると100+1000=1100となります。


if (Suma>=raznica ) // 1100 >=1100 現在の金額がベースからの合計+10%より多いかどうかを比較します。

{

1100=110の10%をEAが取引した後、再びロットを上げて新しい金額をベースに追加する、など。

}


うまく説明できたでしょうか。この方法を実現するための他のアイデアやソリューションがあるかもしれません。


そのために、変数や変数の配列が使われる。実際、MySQL は変数の配列でもあり、この配列を操作するためのルールのセット でもあります。
 
Yulia:
それは私に明らかである、私は緑のものを開始するには、このバーから、赤い線を停止するには、例えば、i = 20バー上でどのようにわからない、などです。
線を異なる色で描くには(異なる色の線の別々の「断片」から組み立てられる)、描かれる線の色が欲しい数だけバッファを有効にする必要があります。

この例では、20本目のバーでは、緑色の線を描くバッファに値を入れなければならず、そのバーの他のバッファには、チャートに描画されないEmpty値を入れなければなりません。デフォルトはEMPTY_VALUEである。


P.S. あなたが引用したカラーMAの リンクは、私が上であなたに書いたことを実行するための初歩的で非常にわかりやすいものです。

 
TarasBY:
線を異なる色で描くには(異なる色の線の別々の「断片」から組み立てる)、線を描きたい数だけバッファを使用する必要があります。この例では、20小節目で、緑の線を描くバッファに値を入れ、その小節の他のバッファには、チャートに描かれない空の値を入れることになります。デフォルトはEMPTY_VALUEです。 。


正確には、色の数ではなく、バーの数、インジケータバッファの 最大数 -- 8...
 
TarasBY:
1本の線を異なる色で描くには(異なる色の線の「断片」を集めて描く)、描いた線の色の数だけバッファを使用する必要があります。
あなたの例では、バー20で、緑の線を描くバッファに値を入れ、そのバーの他のすべてのバッファは、チャート上に描画されない空の値を持つ必要があります。デフォルトはEMPTY_VALUEである。

いろいろ試しましたが、緑色のバッファに20のバーの値を入れると赤がさらに描画され、赤のバッファ20にEMPTY_VALUEを代入すると、赤から20は描画されません。例を示してください、私は非常に感謝しています

//--------------------------------------------------------------------
// userindicator.mq4 // MQL4チュートリアルの例として使用することを意図しています。
//--------------------------------------------------------------------
#property indicator_chart_window//インジケータがメインウィンドウに描画されます
#property indicator_buffers2 // バッファ数
#property indicator_color1 レッド// 最初の行の色
#プロパティ indicator_color2 Green// 2行 目の色

double Buf_0[],Buf_1[]。//配列の宣言 (インジケータバッファ用)
//--------------------------------------------------------------------
int init() {// 特殊関数 init()
SetIndexBuffer(0,Buf_0)を設定。// バッファへの配列の代
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3)を設定します。//行間スタイル
SetIndexBuffer(1,Buf_1)を設定する。// バッファに配列を代入 する
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3)を設定します。//行間スタイル
返します// 特別なinitから抜ける イニシャル
}
//-------------------------------------------------------------------
int start() {// 特殊関数 start( )
int i,// バーインデックス
Counted_bars。// カウントされたバーの数
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted()です。//計算されたバーの数
i=Bars-Counted_bars-1です。// カウントされない最初の1つのインデックス

while(i>=0)// 未カウントのバーをループ する
{

Buf_0[i]=High[i]とする。
Buf_1[i]=
i--;

}
返します
}

 
ここでコードを取得するにはどうすればいいのでしょうか? Scrとか使わないといけないのでしょうか?コメントにコードを入れるにはどうしたらいいのでしょうか?
 
rigonich:

正確には、色の数ではなく、バーの数、インジケータバッファの最大数 -- 8...

バーのことはよく考えたのか?リンク 先のカラーMAを見て、それを例えば14の期間のチャートに置き、そこにある異なる色のバーの数を数えてみてください。

それとも、あなたが「トーマス」の話をしていて、私が「ユーリャ」の話をしているのか...。