[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 292 1...285286287288289290291292293294295296297298299...432 新しいコメント ed3sss 2013.04.17 04:07 #2911 こんにちは。何が間違っているのか、ご教授ください。条件付:Ask = 1.3000PriceAsk = 1.3055 (Step=50、Srpead=3 の場合を含む)boolBuyOrder=1 。 if (Ask-PriceAsk+Step-Spread<=0 && BuyOrder==0) なぜこの条件が成立するのでしょうか? GaryKa 2013.04.17 04:47 #2912 ed3sss:if 文の直前に、条件に含まれるすべての変数の値をプリントアウトするPrint("Ask:",Ask," PriceAsk:",PriceAsk," Step:",Step," Srpead:",Srpead," BuyOrder:",BuyOrder); 想像していたのと違う変数値も出てくる可能性があります。 gayr 2013.04.17 04:53 #2913 こんにちは、私のターミナルmt4で、ターミナル直下にある通貨ペアの一つをクリックすると、例えば(eurusd)このペアだけのターミナルウィンドウを開くために、私は小さなウィンドウを開いてから、右上に 拡大する必要がありますが、今まで一度も起こったことがありません。 ed3sss 2013.04.17 05:08 #2914 GaryKa:if 文の直前に、条件となるすべての変数の値をログに記録します。Print("Ask:",Ask," PriceAsk:",PriceAsk," Step:",Step," Srpead:",Srpead," BuyOrder:",BuyOrder); 想像していたのと違う変数値も出てくる可能性があります。 チェックしてみてください、ありがとうございます) GaryKa 2013.04.17 05:16 #2915 tohoz :まず、少し理論的な話をします。 そして、結論ホズ//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Функция, определения минимальной разрядности лота | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ int LotDecimal() {return (MathCeil (MathAbs (MathLog (bd_LOTSTEP) / MathLog (10))));} その仕組みを理解したい。それが、私が尋ねた理由です。下線部の 式は、bd_LOTSTEPの10進対数(10の底の対数)を返し、10の累乗でbd_LOTSTEPとする。 ed3sss 2013.04.17 06:10 #2916 GaryKa: if 文の直前に、条件となるすべての変数の値をログに記録します。Print("Ask:",Ask," PriceAsk:",PriceAsk," Step:",Step," Srpead:",Srpead," BuyOrder:",BuyOrder); 確かに変数の中には、想像していたものと違うものもあるでしょう。ed3ss です。 チェックしてみてください、ありがとうございます) ありがとうございます。プログラムの論理エラーを発見し、現在はすべて動作しています。 ed3sss 2013.04.17 06:15 #2917 こんにちは。現在保有している注文の損益をチャートに表示するにはどうしたらよいですか?Expert Advisor で ポジションをオープンしたかどうか(ターミナルのオン/オフ)を確認し、ターミナルを閉じる前に最後のロット量をピックアップすることは困難である。ありがとうございます。 gyfto 2013.04.17 06:29 #2918 hoz:ここで、ある機能に出会ったんです。//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Функция, определения минимальной разрядности лота | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ int LotDecimal() {return (MathCeil (MathAbs (MathLog (bd_LOTSTEP) / MathLog (10))));} その仕組みを理解したい。だから聞いたんです。 間違っていたら、謝ります。MathLog(x) は ln(x) (自然対数)です。変換式は log_a(b)=ln(b)/ln(a) で、この場合 ln(x)/ln(10)=lg(x)(小数対数)となる。10進対数 lg(1...9) の整数部は 0、lg(10...99) は 1、 lg(100...999) は 2、 lg(1000...9999) は 3 となり、1より大きい数の対数はその数の桁数( 小数点の前、後は数えません)を1引いた数に等しくなることを示します。xが0から1なら、lg(0.1...0.9)の整数部は-1、lg(0.01...0.09)は-2、lg(0.001...0.009)は-3、つまりマイナスには注目しなければ0から1の数の小数対数は最初の有効数字以前の0の総数と等しいのです。MathCeilがどのように動作するのか知りませんが、数値の整数部を返す場合、この関数は、数値が1より大きい場合は小数点の前の 数値の桁数から1を引いた数、数値が0〜1の場合は有効数字1桁前の数値のゼロ数を返すことになっているようですね。この関数の最小値は,xが1〜9に等しい範囲です。10〜99と0.1〜0.9の場合は1,100〜999と0.01〜0.09の場合は2,...と返されます。そのアイデアは... kirkiri 2013.04.17 06:47 #2919 こんにちは、プログラムにバグがあります、もう頭を悩ませています、何が悪いのか指南してください。ただ、モディファイの条件がうまくいかないのはなぜなのか知りたい。たとえ条件が真でなくても、それは満たされるため、エラーや1、130を修正する場合。皆さん、ありがとうございました。 //--------------- TPに基づく命令の変更------------------------。 for (i = OrdersTotal() - 1; i >= 0; i--){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (OrderType() == OP_BUY){ if (OrderTakeProfit() == 0 || OrderTakeProfit() > OprTPB(TP) ){。 RefreshRates()。 OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPB(TP),0,CLR_NONE)。} } if ((OrderType() == OP_SELL)){ if(OrderTakeProfit() == 0 || OrderTakeProfit() < OprTPS(TP)){) RefreshRates()。 OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPS(TP),0,CLR_NONE)。 } } } } return(0)です。} double LastOpPrBuy(double va=0){ for (i = OrdersTotal() - 1; i>= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (va == 0) va = OrderOpenPrice(); if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (OrderType() == OP_BUY && OrderOpenPrice() <va) va = OrderOpenPrice()} を返す(va)。}//---------------------------------------------------------------------------------- double LastOpPrSell(double va=0){ for (i = OrdersTotal() - 1; i>= 0; i--){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (va == 0) va = OrderOpenPrice(); if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (OrderType() == OP_SELL && OrderOpenPrice()>va) va = OrderOpenPrice()} を返す(va)。}//---------------------------------------------------------------------------------- double OprTPB(int TP){ int j=0; double TPB=0; for (i = OrdersTotal() - 1; i>= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (OrderType() == OP_BUY){ TPB+=OrderOpenPrice()です。 j++;}} if (j==0) {. j++; TPB=聞く。} TPB=(TPB/j)+TP*ポイント。 リターン(TPB)です。}//---------------------------------------------------------------------------------- double OprTPS(int TP){ int j=0; double TPS=0; for (i = OrdersTotal() - 1; i>= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (OrderType() == OP_SELL){ TPS+=OrderOpenPrice()です。 j++;}} if (j==0) {. j++; TPS=入札。} TPS=(TPS/j)-TP*点。 リターン(TPS)です。}//---------------------------- [ARCHIVE]Any rookie question, so MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 出口戦略ステップ・ストップとトレーリング・ストップの比較 gyfto 2013.04.17 06:49 #2920 borilunad: 私たちはみんな初心者です私たちは簡単なことも知らないのです。他にどこを探せばいいんだ!?少なくとも、私たちは、コードを挿入するように要求し、すぐにお金をポンピングするいくつかの人々が考える方法ではなく、知りたい)))トレーダーのユーモアから- 収益性の高いExpert Advisorはどこで手に入りますか?- このスレッドの上の方を見てください。@MOZG@v4.12 というロボットが掲載されています。 1...285286287288289290291292293294295296297298299...432 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
何が間違っているのか、ご教授ください。
条件付:Ask = 1.3000
PriceAsk = 1.3055 (Step=50、Srpead=3 の場合を含む)
boolBuyOrder=1 。
if (Ask-PriceAsk+Step-Spread<=0 && BuyOrder==0) なぜこの条件が成立するのでしょうか?if 文の直前に、条件に含まれるすべての変数の値をプリントアウトする
if 文の直前に、条件となるすべての変数の値をログに記録します。
チェックしてみてください、ありがとうございます)
そして、結論
その仕組みを理解したい。それが、私が尋ねた理由です。
GaryKa:
if 文の直前に、条件となるすべての変数の値をログに記録します。
ed3ss です。
チェックしてみてください、ありがとうございます)
ありがとうございます。プログラムの論理エラーを発見し、現在はすべて動作しています。
こんにちは。
現在保有している注文の損益をチャートに表示するにはどうしたらよいですか?
Expert Advisor で ポジションをオープンしたかどうか(ターミナルのオン/オフ)を確認し、ターミナルを閉じる前に最後のロット量をピックアップすることは困難である。
ありがとうございます。
ここで、ある機能に出会ったんです。
その仕組みを理解したい。だから聞いたんです。間違っていたら、謝ります。MathLog(x) は ln(x) (自然対数)です。変換式は log_a(b)=ln(b)/ln(a) で、この場合 ln(x)/ln(10)=lg(x)(小数対数)となる。10進対数 lg(1...9) の整数部は 0、lg(10...99) は 1、 lg(100...999) は 2、 lg(1000...9999) は 3 となり、1より大きい数の対数はその数の桁数( 小数点の前、後は数えません)を1引いた数に等しくなることを示します。xが0から1なら、lg(0.1...0.9)の整数部は-1、lg(0.01...0.09)は-2、lg(0.001...0.009)は-3、つまりマイナスには注目しなければ0から1の数の小数対数は最初の有効数字以前の0の総数と等しいのです。MathCeilがどのように動作するのか知りませんが、数値の整数部を返す場合、この関数は、数値が1より大きい場合は小数点の前の 数値の桁数から1を引いた数、数値が0〜1の場合は有効数字1桁前の数値のゼロ数を返すことになっているようですね。この関数の最小値は,xが1〜9に等しい範囲です。10〜99と0.1〜0.9の場合は1,100〜999と0.01〜0.09の場合は2,...と返されます。そのアイデアは...
こんにちは、プログラムにバグがあります、もう頭を悩ませています、何が悪いのか指南してください。ただ、モディファイの条件がうまくいかないのはなぜなのか知りたい。たとえ条件が真でなくても、それは満たされるため、エラーや1、130を修正する場合。皆さん、ありがとうございました。
//--------------- TPに基づく命令の変更------------------------。
for (i = OrdersTotal() - 1; i >= 0; i--){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_BUY){
if (OrderTakeProfit() == 0 || OrderTakeProfit() > OprTPB(TP) ){。
RefreshRates()。
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPB(TP),0,CLR_NONE)。
}
}
if ((OrderType() == OP_SELL)){
if(OrderTakeProfit() == 0 || OrderTakeProfit() < OprTPS(TP)){)
RefreshRates()。
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPS(TP),0,CLR_NONE)。
}
}
}
}
return(0)です。
}
double LastOpPrBuy(double va=0)
{
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (va == 0) va = OrderOpenPrice();
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_BUY && OrderOpenPrice() <va) va = OrderOpenPrice()
}
を返す(va)。
}
//----------------------------------------------------------------------------------
double LastOpPrSell(double va=0)
{
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (va == 0) va = OrderOpenPrice();
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL && OrderOpenPrice()>va) va = OrderOpenPrice()
}
を返す(va)。
}
//----------------------------------------------------------------------------------
double OprTPB(int TP)
{
int j=0;
double TPB=0;
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_BUY)
{
TPB+=OrderOpenPrice()です。
j++;
}
}
if (j==0) {.
j++;
TPB=聞く。
}
TPB=(TPB/j)+TP*ポイント。
リターン(TPB)です。
}
//----------------------------------------------------------------------------------
double OprTPS(int TP)
{
int j=0;
double TPS=0;
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL)
{
TPS+=OrderOpenPrice()です。
j++;
}
}
if (j==0) {.
j++;
TPS=入札。
}
TPS=(TPS/j)-TP*点。
リターン(TPS)です。
}
//----------------------------
私たちはみんな初心者です私たちは簡単なことも知らないのです。他にどこを探せばいいんだ!?少なくとも、私たちは、コードを挿入するように要求し、すぐにお金をポンピングするいくつかの人々が考える方法ではなく、知りたい
)))トレーダーのユーモアから
- 収益性の高いExpert Advisorはどこで手に入りますか?
- このスレッドの上の方を見てください。@MOZG@v4.12 というロボットが掲載されています。