記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正"についてのディスカッション - ページ 2

 

こんにちは、これらの2つのサブルーチンは、 "統計期間買い損失 "は、 "統計期間売り損失 "の結果が0であるのに対し、希望する結果を得ることができ、異なる実行、これはなぜですか?

単一の(単一のクローズされている)番号の損失の//統計期間の履歴、時間の開始のlasttime

double 統計期間の買い損失(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// 現在の対応する通貨ペアのみをカウントする。

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime )

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

損失=損失+OrderProfit();

ボリューム=ボリューム+OrderLots();

}

}

}

}


}

}}

if (as_8 == "注文総数") return (注文総数);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

double Statistics Session Sell Loss(int 魔号,文字列 buyOrSell, 文字列 as_8,datetime lasttime)

{

double 出来高=0;

int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// 現在の対応する通貨ペアのみをカウントする。

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime )

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

損失=損失+OrderProfit();

ボリューム=ボリューム+OrderLots();

}

}

}

}

}

}}

if (as_8 == "注文総数") return (注文総数);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

 

こんにちは、これらの2つのサブルーチンは、 "統計期間買い損失 "は、 "統計期間売り損失 "の結果が0であるのに対し、希望の結果を得ることができ、異なる実行、これはなぜですか?

単一の(単一のクローズされている)番号の損失の//統計期間の履歴、時間の開始のlasttime

double 統計期間の買い損失(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// 現在の対応する通貨ペアのみをカウントする。

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime )

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

損失=損失+OrderProfit();

ボリューム=ボリューム+OrderLots();

}

}

}

}


}

}}

if (as_8 == "注文総数") return (注文総数);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

double Statistics Session Sell Loss(int 魔号,文字列 buyOrSell, 文字列 as_8,datetime lasttime)

{

double 出来高=0;

int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// 現在の対応する通貨ペアのみをカウントする。

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime )

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

損失=損失+OrderProfit();

ボリューム=ボリューム+OrderLots();

}

}

}

}

}

}}

if (as_8 == "注文総数") return (注文総数);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

 
Artyom Trishkin:
OK

こんにちは、これらの2つのサブルーチンは、 "統計期間買い損失 "は、 "統計期間売り損失 "の結果が0であるのに対し、希望する結果を得ることができ、異なる実行、これはなぜですか?

単一の(単一のクローズされている)番号の損失の//統計期間の履歴、時間の開始のlasttime

double 統計期間の買い損失(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// 現在の対応する通貨ペアのみをカウントする。

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime )

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

損失=損失+OrderProfit();

ボリューム=ボリューム+OrderLots();

}

}

}

}


}

}}

if (as_8 == "注文総数") return (注文総数);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

double Statistics Session Sell Loss(int 魔号,文字列 buyOrSell, 文字列 as_8,datetime lasttime)

{

double 出来高=0;

int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// 現在の対応する通貨ペアのみをカウントする。

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime )

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

損失=損失+OrderProfit();

ボリューム=ボリューム+OrderLots();

}

}

}

}

}

}}

if (as_8 == "注文総数") return (注文総数);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

 

このスレッドは記事のためのディスカッションスレッドであり、記事で説明されているライブラリとは関係のない問題を解決するためのものではありません。

コードをメッセージに挿入するには、 Alt + Sの 組み合わせ、またはこのボタンを使用する必要があります。


 
このプログラムは過去の売り注文の検索をサポートしていないのでしょうか?
 
hsyhsy863 :
こんにちは、このプログラムは過去の売り注文の検索をサポートしていないのですか?

また、さらに多くのことができます。

 
こんにちは、カスタムインジケーターをロードした後、カスタムインジケーターを削除すると、ボタンが機能しないことに気づきました。これはなぜですか?どうすれば直せますか?
 
hsyhsy863 :
こんにちは、カスタムインジケーターをロードした後、カスタムインジケーターを削除すると、ボタンが機能しないことに気づきました。これはなぜですか?どうすれば直せますか?

使用中 - 何を?

どのキーが機能しないのですか?
 
カスタムインジケーターを送りたいので、それをロードして削除してみてください。
ファイル:
jh720-03-3.ex4  214 kb
 
hsyhsy863:
カスタムインジケーターを送りますので、それをロードして削除してみてください。
私の言った問題は見つかりましたか?