コーディングのヘルプ - ページ 65

 

注文の開始時間を チェックし、最も新しい開始時間を持つものの価格を返す関数は次のとおりです(前の注文がない場合、それは0を返します)。

double lastOrderOpenPrice(int magicNumber=0)

{

datetime lastTime = 0;

double lastPrice = 0;

for(int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

if (lastTime==0)

for(i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

return(lastPrice);

}

[/PHP]

The assumtion is that currently open orders have times more recent than the already closed orders. If you wish to avoid that assumption, comment out this line :

[PHP] if (lastTime==0)

dasio:
こんにちは。

私は最後のopenorderのorderopenprice()を私に結果する二重関数が必要です。

誰かが私を助けることができますか?

ありがとうございます。
 

こんにちは。

私はlotiezeを計算するためにこのコードを使用します。時々、私は131エラーを受け取る。コードは大丈夫ですか?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

とRischio_per_trade = 0.5。

ありがとうございます

 

ダシオ

この投稿にある関数を試してみてください :https://www.mql5.com/en/forum/general

dasio:
こんにちは。

私はlotiezeを計算するためにこのコードを使用します。時々私は131エラーを受け取る。コードは大丈夫ですか?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

そしてRischio_per_trade = 0.5。

ありがとうございます
 

親愛なる皆様へ

新年を迎え、皆様方のご健康とご多幸をお祈り申し上げます。私は本当にこのフォーラムのメンバーからの素晴らしいアイデアだけでなく、ここで多くの優れた、寛大なコーダーに感謝して感じています。私はまだこのキャリアでは馬鹿ですが、 )私の取引スキルを向上させるために、すべてが私をたくさん助けています。

最近、市場と私の取引方法を見直す中で、私(そして他の人もそうかもしれませんが)を大いに助けてくれるような指標について考えています。私のアイデアは単純ですが、それをコードに変換することは私の能力を超えています。そのようなインジケータが存在するかどうか分からないので、私のアイデアを詳細に説明し、最も適したものを見つけるか作るために誰かが助けてくれることを望みます。

- 一般的なアイデア:私は、ある一定の範囲内で継続的に市場価格を追跡したいのです。このインジケータは、ある一定範囲の価格について、次のような必要な情報を与えてくれます。(1)上限、(2)下限、(3)中央値、(4)範囲内のバーの本数。また、レンジ内のバーのPOC(Point of Control)レベルも知りたいのですが、コーディングが複雑でPCのメモリを大量に消費してしまうかもしれません。

- 例:「マーケットプロファイル」、「プライスチャンネル」、「セッションHiLo」など、私のアイデアとよく似た指標を見つけました。しかし、これらの指標は、時間足、日足、・・・と時間間隔が限定されており、与えられた固定レンジに基づくものではありませんし、上に述べたようないくつかの機能が欠けています。そこで、私のアイデアを反映させるために、それらのインジケータを再コード化しようとしたのですが、今ひとつうまくいきませんでした。

- インジケータに関する要望: (1) 入力パラメータ。時間間隔(分、時間、日)またはバー数(範囲内に閉じられたバーの数を数えるために使用)、価格がレベルにタッチしたときのアラート(オプション)、ポイントの固定範囲。

(2)メインチャートへの出力:レンジのレベル(上、下、中)に対応する水平線と、与えられた時間内にレンジ内でカウントされたバー数をテキストで表示します。

(3) 連続更新:(a) レンジの高値更新、(b) レンジの安値更新、(c) レンジ内のバーの統合の3つの場合に情報を更新する。

私は通常、これらのことをすべて手動で行う必要があります。今私は、指標は私の仕事を簡素化するのに役立つだろう、時間を節約し、価格の行動に私の焦点を維持することを願っています。インターネット上で検索しますが、私はそのようなツールを見つけることができません。あなたが1つを知っているか、または1つを作るなら、私は非常に感謝されます。

あなたの検討とあなたの助けをいただきありがとうございます

また、新年明けましておめでとうございます。

よろしくお願いします。

ファレアストル

そういえば、インジケータのイメージ図を添付するのを忘れていました。

ファイル:
 

私の考えを明確にするために、別の画像を添付します。

a) 現在のレンジの高値または安値は、入力されたバー番号と別に決定されます。高値/安値は、与えられたレンジサイズと現在の市場の値動きに適応されます。

b) 入力されたBar Numberは、現在のレンジ内で閉じたBarの 数を計算するために使われるだけです。

c) このインジケータは1つのチャートに2つ以上置くことができ、もちろん異なる入力設定にすることができます。

fareastol:
親愛なる友人の皆さん。

新年が皆様方のご健康とご多幸をお祈り申し上げます。このフォーラムにいらっしゃる多くの優秀で寛大なコーダーの方々、そしてメンバーの方々の素晴らしいアイデアに本当に感謝しています。私はこの仕事ではまだ馬鹿ですが )。

最近、市場と私の取引方法を見直す中で、私を大いに助けてくれるような(そして他の人も同様に、多分)インジケータについて考えています。私のアイデアは単純ですが、それをコードに変換することは私の能力を超えています。そのようなインジケータが存在するかどうか分からないので、私のアイデアを詳細に説明し、最も適したものを見つけるか作るために誰かが助けてくれることを望みます。

- 一般的なアイデア:私は、ある一定の範囲内で継続的に市場価格を追跡したいのです。このインジケータは、ある一定範囲の価格について、次のような必要な情報を与えてくれます。(1)上限、(2)下限、(3)中央値、(4)範囲内のバーの本数。また、レンジ内のバーのPOC(Point of Control)レベルも知りたいのですが、コーディングが複雑でPCのメモリを大量に消費してしまうかもしれません。

- 例:「マーケットプロファイル」、「プライスチャンネル」、「セッションHiLo」など、私のアイデアとよく似た指標を見つけました。しかし、これらの指標は、時間足、日足、・・・と時間間隔が限定されており、与えられた固定レンジに基づくものではありませんし、上に述べたようないくつかの機能が欠けています。そこで、私のアイデアを反映させるために、それらのインジケータを再コード化しようとしたのですが、今ひとつうまくいきませんでした。

- インジケータに関する要望: (1) 入力パラメータ。時間間隔(分、時間、日)またはバー数(範囲内に閉じられたバーの数を数えるために使用)、価格がレベルにタッチしたときのアラート(オプション)、ポイントの固定範囲。

(2)メインチャートへの出力:レンジのレベル(上、下、中)に対応する水平線と、与えられた時間内にレンジ内でカウントされたバー数をテキストで表示します。

(3) 連続更新:(a) レンジの高値更新、(b) レンジの安値更新、(c) レンジ内のバーの統合の3つの場合に情報を更新する。

私は通常、これらのことをすべて手動で行う必要があります。今私は、指標は私の仕事を簡素化するのに役立つだろう、時間を節約し、価格の行動に私の焦点を維持することを願っています。インターネット上で検索しますが、私はそのようなツールを見つけることができません。あなたが1つを知っているか、または1つを作るなら、私は非常に感謝されます。

あなたの検討とあなたの助けをいただきありがとうございます

また、新年明けましておめでとうございます。

よろしくお願いします。

ファレアストル

そういえば、インジケータのイメージ図を添付するのを忘れていました。
ファイル:
 

やっぱり自分でも何か作ったような気がします。ということで、ご紹介します。

インジケーターの中に書いてあるように、私は何も発明していません。ただ、私が持っている2つの関連するインジケーターを混ぜただけです。もしかしたら、うまく "混ぜる "ことができていないかもしれません。

もし、これが役に立つと思われるなら、ぜひ見て、改善してください。

ファイル:
 

複数の矩形オブジェクトを 描画する

こんにちは。

私は、最後のn本のローソクをチェックする複数の矩形を描画しようとしています。

ポイントは、単純なルールを持っています。

添付はその例です。

背景のない大きな矩形は、ルール(移動平均を使用して、ポイント1からポイント2まで含まれる価格をチェックする)を定義します。

長方形を描くためのポイントは、範囲の高い最高とバーの高値と安値です。

どのように私はそれをコード化することができますか?

あなたの応答をありがとうございました。

すみません。

画像を添付することができません。しかし、2つの移動平均.ポイント1が上向きの遅いMAと速いMAのクロスであり、ポイント2が下向きの遅いMAと速いMAのクロスであると仮定しましょう。

 

どなたか、添付のrsi chart bars indicatorを修正するのを手伝っていただけませんか?

このインジケータは、RSIが50レベルより上にあるときは青いバー、下にあるときは赤いバーを表示します。

実はこの50というのはRSIの真ん中のレベルなんです。それは2つのレベルが70で、実際の買われ過ぎと売られ過ぎのレベルである30で追加される場合は、はるかに有用であろう。私は本当に任意の助けを感謝し、感謝でaddvance。

ファイル:
 

ラズロ

このバージョンを試してみてください。2つのレベルで動作しますが、3つの状態を表示します(というか、表示しません)。レベルが上下に分かれるとバーに色が付き、rsi値が2つのレベルの間にある場合はそのままのバーが表示されます(つまり、インジケータによって色付けされていないシンプルなバーです)ここでは、それがどのように見えるかと「通常の」rsiと比較した例を紹介します。

Laszlo:
どなたか、添付のrsi chart bars indicatorを修正するのを手伝っていただけませんか?

このインジケータは、RSiが50レベルを超えると青いバーを表示し、このレベル以下では赤いバーを表示します。

実はこの50というのはRSIの真ん中のレベルなんです。それは2つのレベルが70で、実際の買われ過ぎと売られ過ぎのレベルである30で追加された場合、はるかに有用であろう。そして、RSIはこれらの2つのレベル70/30を通過すると、キャンドルも色を変更する必要があります。私は本当に任意の助けを感謝し、感謝でaddvance。
ファイル:
 
fareastol:
結局のところ、私は自分自身で何かを作ったと思います。では、ご紹介します。

インジケーターの中にあるように、私は何も発明しておらず、ただ私が持っている2つの関連するインジケーターを混ぜただけです。たぶん、うまく「混ぜる」ことができなかったのでしょう。

もし、これが役に立つと思われるなら、ぜひ見てください。

Fareastol、私はあなたの範囲インジケータが好きです。私がクールだと思うのは、(あなたが持っている)「開始点」ドラッグと「終了点」ドラッグを追加して、それが自動的にその期間の範囲を描くことができるようにすることです。