エキスパートアドバイザー - 雑多な質問 - ページ 33 1...262728293031323334353637383940...43 新しいコメント Marco vd Heijden 2017.02.09 12:03 #321 MQL4:MODE_LOTSTEP 24 ロット変更時のステップ Print("Step for changing lots=",MarketInfo(Symbol(),MODE_LOTSTEP));MQL5:シンボルボリュームステップ 取引実行のための最小ボリューム変更ステップ ダブルPrint(" Step: ",SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);0.01であれば、ロットは0.01、0.02、0.03、0.04などに一致しなければなりません。それが0.1であるならば、ロットサイズのあなたの変更は、0.1次の0.2次の0.3などを満たさなければならないでしょう。だから私はあなたを理解していない。 if(lotsize>=(lotstep*100)) { lotstep=lotstep*100; Print("lot step: ",lotstep); }多分あなたは別のロットステップを意味する?それは各シンボルに対して固定されているので、通常、あなたは値を変更することはありません。 expert advisor - miscellaneous How to calculate True アドバイザーを無料でお書きします honest_knave 2017.02.09 12:32 #322 Max Enrik: // lot plusif(sparam==lotbuttonplus) { if(lotsize>=(lotstep*100)) { lotstep=lotstep*100; Print("lot step: ",lotstep); }直感的な名前の変数の値を変更すると、物事が混乱することがあります。私は、lotstepは常にlotstepであり、それ以外のものではないことを提案します。こんな感じでどうでしょうか? double increment = (lotsize < lotstep*100) ? lotstep : lotstep*100; lotmaxdivide=lotmax/lotmax *(lotvalue*10); lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment)); 編集:すみません、今Marcoさんの返信を見ました。私もlotstepの命名については賛成です。 Max Enrik 2017.02.09 22:31 #323 Marco vd Heijden:だから、私はあなたのことを理解していない。 if(lotsize>=(lotstep*100)) { lotstep=lotstep*100; Print("lot step: ",lotstep); }多分、あなたは別のロットステップを意味するのでしょうか? 通常は、各シンボルに対して固定されているため、値を変更することはありません。そうです。EURUSDのロットサイズが1.00になったら、ロットサイズを1.00増やす必要があるんだ。ロットサイズが1.00になったら、ロットサイズを1.00増やす必要があるんだ。ロットサイズが1.00になる前に、ロットサイズを0.01、0.02など増やします。(しかし、ロットサイズが1.00に達した後、ロットサイズは1.00、2.00、3.00、などに増加します。 それは私がこのサブテーマでやりたいことです。ありがとうございました。 Max Enrik 2017.02.09 22:50 #324 honest_knave:直感的な名前の変数の値を変更すると、物事が混乱することがあります。私は、lotstepは常にlotstepであり、それ以外のものではないことをお勧めします。 こんな感じでどうでしょうか? double increment = (lotsize < lotstep*100) ? lotstep : lotstep*100; lotmaxdivide=lotmax/lotmax *(lotvalue*10); lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment)); 編集:すみません、今Marcoさんの返信を見ました。私もlotstepの命名に賛成です。( 私は少し変わっただけです - ...lotstep : lotstep*100 - ...? lotstep : lotstep*10 ) です。そうですね。私のオリジナルのコードでは、物事が混乱しています。 あなたの素晴らしい助けの後、私は私の問題を解決します。ありがとうございました。また、ロットサイズがこのように増加することを望みます。 0.99, 1.00, 1.01, 1.11の ようにロットサイズが増加するのです。 しかし、私はこのように0.99、1.00、1.10、1.20などのように必要です。ありがとうございました。 Marco vd Heijden 2017.02.10 07:41 #325 0.99, 1.00, 1.01, 1.02...がベストなアイデアだと思います。最小のステップにこだわってください。なぜ、このような超大型のステップを踏みたいのですか?試してみましたか? ぜひ試してみてください。 Max Enrik 2017.02.10 07:55 #326 Marco vd Heijden:0.99, 1.00, 1.01, 1.02...がベストなアイデアだと思います。 最小のステップにこだわるのがいいと思います。 なぜ、このような超大型のステップを取りたいのですか? 試してみましたか? ぜひ試してみてください。私はすでにそれを試してみました、私はロットサイズ5.00に到達する必要がある場合は、ロットプラスボタン(+ Ctrlキー)を40回クリックする必要があると思います。 Marco vd Heijden 2017.02.10 08:01 #327 なぜ5つなんだ?の代わりに + と - を使えばいいんです。 lotsize=lotsize+0.1;lotsize=lotsize-0.1;でも、私のロボットには、全滅から救ってくれる一行があるんですよ、これが。static input double lotsmax=1;// Max Lots (please respect the setting) Max Enrik 2017.02.10 08:21 #328 Marco vd Heijden:しかし、私のロボットには、全滅から救って くれる一行があり、それはこれです。それは全くその通りです。また、もちろんその設定も尊重します。でも、これは単なる問題で、いつでも調整できるんです。 ロットサイズについては、少し経験が必要かもしれません。このサブトピックは一旦終了しても良いと思います。Marco vd Heijden と@honest_knave に感謝します。#ロットステップ - 終了 Max Enrik 2017.02.10 22:03 #329 #ロットサイズマックス - オープンMarco vd Heijden- あなたの最新のコメントにとても感謝しています。(他の関数を書くのをやめて、この関数を先に書こうとしています)ということで、いつも通り、ロットサイズMAXで何かテストしてみます。 ロットサイズがロットサイズマックスより大きい場合、印刷機能はトレードモードについて私に知らせません。 この問題を解決した後、この機能を売りボタンと買いボタンに搭載する必要があります。Q: 印刷機能でトレードモードを知らせるにはどうしたらいいですか?( - ロットサイズが最大ロットサイズより大きいか、小さいか )Q: この方法はロットサイズMAXの時に有効ですか?ありがとうございました。void example() { string trademode; ENUM_ACCOUNT_TRADE_MODE accounttype=(ENUM_ACCOUNT_TRADE_MODE) AccountInfoInteger(ACCOUNT_TRADE_MODE); if(accounttype==ACCOUNT_TRADE_MODE_DEMO) { switch(accounttype) { case ACCOUNT_TRADE_MODE_DEMO: if( lotsize > ( lotstep * lotsizemax ) ) return; trademode="demo"; break; case ACCOUNT_TRADE_MODE_CONTEST: trademode="contest"; break; default: trademode="live"; break; } } Print("Trade Mode: ",trademode); } expert advisor - miscellaneous Problem: Putting or Pushing Unbalanced Parenthesis Marco vd Heijden 2017.02.10 22:08 #330 デモ口座か ライブ口座かを確認するためのものはなく、コンテストはほとんど使用されていません。ロットマックスは非常に簡単です。//---// calculate lotsize here//---// check if lotsize is not too highif(lotsize>lotsize_max) { lotsize=losize_max; } 1...262728293031323334353637383940...43 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MQL4:
MODE_LOTSTEP
24
ロット変更時のステップ
MQL5:
シンボルボリュームステップ
取引実行のための最小ボリューム変更ステップ
ダブル
0.01であれば、ロットは0.01、0.02、0.03、0.04などに一致しなければなりません。
それが0.1であるならば、ロットサイズのあなたの変更は、0.1次の0.2次の0.3などを満たさなければならないでしょう。
だから私はあなたを理解していない。
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
多分あなたは別のロットステップを意味する?
それは各シンボルに対して固定されているので、通常、あなたは値を変更することはありません。
if(sparam==lotbuttonplus)
{
if(lotsize>=(lotstep*100))
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
直感的な名前の変数の値を変更すると、物事が混乱することがあります。私は、lotstepは常にlotstepであり、それ以外のものではないことを提案します。
こんな感じでどうでしょうか?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
Marco vd Heijden:
だから、私はあなたのことを理解していない。
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
多分、あなたは別のロットステップを意味するのでしょうか?
通常は、各シンボルに対して固定されているため、値を変更することはありません。
そうです。EURUSDのロットサイズが1.00になったら、ロットサイズを1.00増やす必要があるんだ。ロットサイズが1.00になったら、ロットサイズを1.00増やす必要があるんだ。ロットサイズが1.00になる前に、ロットサイズを0.01、0.02など増やします。(しかし、ロットサイズが1.00に達した後、ロットサイズは1.00、2.00、3.00、などに増加します。
それは私がこのサブテーマでやりたいことです。
ありがとうございました。
直感的な名前の変数の値を変更すると、物事が混乱することがあります。私は、lotstepは常にlotstepであり、それ以外のものではないことをお勧めします。
こんな感じでどうでしょうか?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
( 私は少し変わっただけです - ...lotstep : lotstep*100 - ...? lotstep : lotstep*10 ) です。
そうですね。私のオリジナルのコードでは、物事が混乱しています。
あなたの素晴らしい助けの後、私は私の問題を解決します。ありがとうございました。
また、ロットサイズがこのように増加することを望みます。
0.99, 1.00, 1.01, 1.11の ようにロットサイズが増加するのです。
しかし、私はこのように0.99、1.00、1.10、1.20などのように必要です。
ありがとうございました。
0.99, 1.00, 1.01, 1.02...がベストなアイデアだと思います。
最小のステップにこだわってください。
なぜ、このような超大型のステップを踏みたいのですか?
試してみましたか?
ぜひ試してみてください。0.99, 1.00, 1.01, 1.02...がベストなアイデアだと思います。
ぜひ試してみてください。最小のステップにこだわるのがいいと思います。
なぜ、このような超大型のステップを取りたいのですか?
試してみましたか?
私はすでにそれを試してみました、私はロットサイズ5.00に到達する必要がある場合は、ロットプラスボタン(+ Ctrlキー)を40回クリックする必要があると思います。
なぜ5つなんだ?
の代わりに + と - を使えばいいんです。
でも、私のロボットには、全滅から救ってくれる一行があるんですよ、これが。
しかし、私のロボットには、全滅から救って くれる一行があり、それはこれです。
それは全くその通りです。また、もちろんその設定も尊重します。
でも、これは単なる問題で、いつでも調整できるんです。
ロットサイズについては、少し経験が必要かもしれません。
このサブトピックは一旦終了しても良いと思います。
Marco vd Heijden と@honest_knave に感謝します。
#ロットステップ - 終了
#ロットサイズマックス - オープン
Marco vd Heijden- あなたの最新のコメントにとても感謝しています。(他の関数を書くのをやめて、この関数を先に書こうとしています)
ということで、いつも通り、ロットサイズMAXで何かテストしてみます。
ロットサイズがロットサイズマックスより大きい場合、印刷機能はトレードモードについて私に知らせません。
この問題を解決した後、この機能を売りボタンと買いボタンに搭載する必要があります。
Q: 印刷機能でトレードモードを知らせるにはどうしたらいいですか?( - ロットサイズが最大ロットサイズより大きいか、小さいか )
Q: この方法はロットサイズMAXの時に有効ですか?
ありがとうございました。
{
string trademode;
ENUM_ACCOUNT_TRADE_MODE accounttype=(ENUM_ACCOUNT_TRADE_MODE) AccountInfoInteger(ACCOUNT_TRADE_MODE);
if(accounttype==ACCOUNT_TRADE_MODE_DEMO)
{
switch(accounttype)
{
case ACCOUNT_TRADE_MODE_DEMO:
if( lotsize > ( lotstep * lotsizemax ) ) return;
trademode="demo";
break;
case ACCOUNT_TRADE_MODE_CONTEST:
trademode="contest";
break;
default:
trademode="live";
break;
}
}
Print("Trade Mode: ",trademode);
}
デモ口座か ライブ口座かを確認するためのものはなく、コンテストはほとんど使用されていません。
ロットマックスは非常に簡単です。
// calculate lotsize here
//---
// check if lotsize is not too high
if(lotsize>lotsize_max)
{
lotsize=losize_max;
}