[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 617

 
最後のクローズポジション のロットを知る方法を教えてください。例:最後のポジションが持ち越しで決済され、次のポジションのロットを増やしたい場合。
 
Vadimkin:
EAで他の指標に重ね合わせた指標(例えばRSIにMA)を宣言する方法を教えてください。
は、iMAOnArray() を使うか、私独自のアルゴリズムで明示的に計算するのみです。
 
david2:
最後のクローズポジションのロットを知る方法を教えてください。例:最後のポジションが持ち越しで決済され、次のポジションのロットを増やしたい場合。
int oht = OrdersHistoryTotal();
double last_lot;
OrderSelect(oht-1,SELECT_BY_POS,MODE_HISTORY);
if(NormalizeDouble(OrderClosePrice()-OrderTakeProfit(),Digits)==0) //ордер закрыт по тейкпрофиту
{
   last_lot = OrderLots();
   // ура
}
 
alsu:

ありがとうございました。しかし、なぜ括弧がoht-1であってohtでないのかが不明です。
 
david2:
どうもありがとうございました。しかし、なぜ括弧がoht-1であってohtでないのかが不明です。 。

配列の 最初の要素は数値0,最後の要素はサイズ1です。
 
alsu:

配列の最初の要素は数値0,最後の要素はサイズ1です。
なるほど。
 
alsu:
は、iMAOnArray() や私自身のアルゴリズムを使って、明示的に計算するのみです。

ありがとうございます、試してみます。

別のアプローチで試してみました。RSIから簡単なカスタムMAインジケータを作りました。あとはExpert Advisorがポジションをオープンするための条件を設定する必要があります。

例えば、こんな感じです。

if (RedLine1>BlueLine1&&RedLine2<BluLine2) OP_BUY

if (RedLine1<BlueLine1&&RedLine2>BluLine2) OP_SELL

でも、どう申告したらいいのかわからない。ということです。

double RedLine1 = iCustom(Symbol(), 0, "MARSI", ?, ?, ......, 1);

見ていただけないでしょうか。もしくは誰か見てください。

ファイル:
marsi.mq4  2 kb
 
Vinin:


iHigh(NULL, PERIOD_D1,1) - 昨日の高値です。

iLow(NULL, PERIOD_D1,1) - 昨日の最小値です。

iOpen(NULL, PERIOD_D1,1) - 昨日のオープニング

iClose(NULL, PERIOD_D1,1) - 昨日の終値です。

iHai、iLo、iOpen、iCloseを特定の日付に設定し、インジケータ 設定で変更することは可能でしょうか?

外部 int data = 08/03/2011

iOpen(NULL, 08/03/2011,1) - オープニングは何ですか?

 
Vadimkin:

ありがとうございます、試してみます。

違うアプローチでやってみたRSIから簡単なカスタムMAインジケータを作りました。あとはExpert Advisorでポジションを建てるための条件を整えればいい。

例えば、こんな感じです。

if (RedLine1>BlueLine1&&RedLine2<BluLine2) OP_BUY

if (RedLine1<BlueLine1&&RedLine2>BluLine2) OP_SELL

でも、どう申告したらいいのかわからない。ということです。

double RedLine1 = iCustom(Symbol(), 0, "MARSI", ?, ?, ......, 1);

見ていただけないでしょうか。もしくは誰か見てください。


あなたの場合、外部パラメータがないので、質問の代わりに何も書く必要はありません。

double RedLine1 = iCustom(0, 0, "MARSI", ラインインデックス, バーナンバー);

具体的には

double RedLine1 = iCustom(0, 0, "MARSI", 0, 1); - 1本のバーで赤色にする。

double RedLine2 = iCustom(0, 0, "MARSI", 0, 2); - 2本のバーで赤色にする。

double BlueLine1 = iCustom(0, 0, "MARSI", 1, 1); - 1バーの青色

double BlueLine2 = iCustom(0, 0, "MARSI", 1, 2); - バー2上の青色
 
alsu:

あなたの場合、外部パラメータがないので、質問の代わりに何も書く必要はありません。

double RedLine1 = iCustom(0, 0, "MARSI", ラインインデックス, バーナンバー);

もっと具体的に。

double RedLine1 = iCustom(0, 0, "MARSI", 0, 1); - 1本のバーで赤色になります。

double RedLine2 = iCustom(0, 0, "MARSI", 0, 2); - 2本のバーで赤色にする。

double BlueLine1 = iCustom(0, 0, "MARSI", 1, 1); - 1バーの青色

double BlueLine2 = iCustom(0, 0, "MARSI", 1, 2); - バー2上の青色


ありがとうございました。