void OnTick()
{
//---
double o1 = iOpen(Symbol(),Period(),1);
double h1 = iHigh(Symbol(),Period(),1);
double l1 = iLow(Symbol(),Period(),1);
double c1 = iClose(Symbol(),Period(),1);
double c0 = iClose(Symbol(),Period(),0);
double rt = 0;
double rs1 = 0;
double rs2 = 0;
rt=MathAbs(c1-o1)/_Point; //размер тела свечи
rs1=MathAbs(h1-c1)/_Point;// размер верхней тени свечи
rs2=MathAbs(l1-c1)/_Point; // размер нижней тени свечи
ObjectDelete(0,"HL");
if ((rs1>=rt)&&(c1>o1)) //[для ростовых свечей] условие для построения уровней (если верхняя тень предыдущей свечи, больше, или равна телу этой же свечи, то...
{
double PRH=iHigh(Symbol(),_Period,1); // то это будет максимум
ObjectCreate(0,"HL",OBJ_HLINE,0,_Period,PRH); // и строим по этому максимуму, горизонтальную линию
}
ObjectDelete(0,"lL");
if ((rs2>=rt)&&(c1<o1)) // [для падающих свечей]условие для построения уровней (если нижняя тень предыдущей свечи, больше, или равна телу этой же свечи, то...
{
double PRL=iLow(Symbol(),_Period,1); // то это будет минимум
ObjectCreate(0,"lL",OBJ_HLINE,0,_Period,PRL); // и строим по этому минимум, горизонтальную линию
}
}
Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть в закладке "История" на панели "Инструменты" клиентского терминала. Функция...
こんにちは。
一問だけ悩んでいるのですが、解き方を教えていただけませんか?
考え方は以下の通りです。私は ローソクの前回の最大値に線を引きます。直前の最大値によってラインをずらしたい。
必要な時にティックのラインプライスを変更できないようにするのは誰ですか?
2つのオプションがあります。
こんにちは、namesakeさん!)
オプション1、近いものを検討。最初は計画通りに進んでいたのに、だんだん乱れてくる。
そして、必要なときにティック上のライン価格を変更するだけで、誰がそれを妨げるのでしょうか?
まあ、そんな感じですね。ちょっとだけ条件を加えると、問題が発生します。必要なのは、「新しい高値・安値がなければ保存する」ということです。
まあ、そんな感じですね。ちょっとだけ条件を加えると、問題が発生します。必要なのは、「新しい高値・安値がなければ保存する」ということです。
どうだろう、Low用のラインをもう一本追加するのを誰が止めるんだろう...?
ラインなどのオブジェクトを一通り追加して、それですべてのLowとHighをマークすることができます。何が問題なのか......?
ポジションを建てるときの最初の取引の価格と時間、このポジションを閉じるときの最初の取引の価格と時間を履歴から取得する方法を教えてください。私の目的は、履歴からエントリーポイントの配列を取得することです。手動で取引する際にエクイティすることがあるので、それが有効であるかどうかを知りたいのです。私は取引操作について 何も知らないので、これらの関数が実装されていないクラスを使っています :(
HistorySelectByPositionを 使用すると、次のようなことができます。
そうすると、いくつかの選択肢があります。
どうだろう、Low用のラインをもう一本追加するのを誰が止めるんだろう...?
ラインなどのオブジェクトを一通り追加して、すべてのLowとHighをそれでマークすることができます。何が問題なのか......?
はい!ちゃんと動いていますよ。ミハイルさん、ありがとうございます。
というように、下ネタをピアスしてしまって、ピアス後に削除する必要がある場合。
そうだろ?
そうです!当然のように動作します。ミハイルさん、ありがとうございます。
そして、最下段がパンチングされたときに削除しなければならない、みたいな場合。
そうだろ?
プログラムでは、レベルを強調するために2行しか使用しません。0にすればいいのに、なぜ削除してまた作るのか...?
チャート上に線が表示されなくなる...。そして、それをまた見せることができる。
lLine.Price(0, PRL);
このプログラムでは、レベルを強調するために2本の線を使用するだけです。0にすればいいものを、なぜ削除して作り直すのか...?
チャート上に線が表示されなくなる...。そして、それをまた見せることができる。
こんな感じ?それともOnInitで何か別の宣言をする必要があるのでしょうか?