[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 105

 
abolk:
はこちら:https://docs.mql4. com/ru/basis/operations/math
全部見たけど、どうすれば解決するの?
 
Zhunko:
それも可能です。

はbが1になるのでは?

確認した 一人

 
artmedia70:
フラグを作成する(例: )

TP1の場合 - bool TP1, TP2の場合 - bool TP2, etc....

初期状態では、それらの値はfalseである。

次の決算の前に、チェックをするのです。

if (!TP1) {最初の部分の部分的な閉鎖のためのコード、成功した閉鎖の後に TP1=true を書き込む}。

if (!TP2) {第2部を部分的に閉じるためのコード、閉じに成功した後 TP2=true} を書き込む。

...といった具合に、すべてのパーツに対して...

つまり、フラグは各パーツがすでに一度閉じたことを知らせるもの...。


ありがとうございます。コードを書き直した...TP0==falseは、プログラムの最初の方に入れました.

問題は残る。1番目の部分が閉じ、すぐに2番目の:-( ...、2番目のためのエラー131で、理解できる - ロットサイズが異なる)しかし、別のニュアンスは、最初の部分のために ""アラート( "クローズド ",Lot," Lot Buy ",Ticket);" ログに書き込みません、つまり、検証Ans==trueに達しないということです。なぜ?以下は、コードの一部です...

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

while(true) // 大群ループを閉じる。
{
if (TP0==false && (Cls_B0==true ||Cls_S0==true))

{
LotC=MathRound(Lot/4/Step)*Step;
Alert("Lot-",Lot, "Attempting to close-",LotC," Lot Buy ",Ticket,.Lot")。返信を待っています...")。

RefreshRates(); // データを更新
Ans=OrderClose(Ticket,LotC,Bid,5); // TicketClose 1/3 ロットの買い?
if (Ans==true) // うまくいきました :)
{
TP0=true;
Alert ("Closed ",Lot," Lot Buy ",Ticket);
break; // 閉ループから抜ける
}
if (Fun_Error(GetLastError())==1) // エラー処理
continue; // Retry
return; // start() から抜ける
}

 
Sinichka:

プログラマーの皆様へ

助けてください。この指標は、強気の潜行乖離に値を描き、弱気の潜行乖離には値を描きません...。エラー4002 - 配列インデックス - 範囲外 と書かれています。

全部直ったみたいだけど...。一晩中かかったよ...。そして残念なのは、コードが一番シンプルなことです...。でも、牛を矢で描いているけど、熊は描いてない...。PLEASE!のエラーは何ですか?


アレナ

配列vpadcci[]、v[]、hh[]、ss[]にメモリを割り当てる必要があります。動的と宣言されているが、そのサイズはどこにも指定されていない。動的配列のサイズは、ArrayResize() 関数で指定する。

追伸:コードの挿入にはSRCボタンをご使用ください。

 
Snaf:
MT5について質問です。 ストラテジーテスターが作業を完了したことを知るにはどうしたらよいですか?ビジュアル面以外では :)

deinit()関数は、ジョブが終了した時点で実行される。その結果、そこにたどり着けば、専門家の仕事は終わったということになるのです。テスター内の作業が進行中かどうかを判断するには、関数IsTesting() を使用します。


すみません、この質問がMT5に関するものであることに気づきました。

そこは同じで、OnDeinit()とMQL5InfoInteger(MQL5_TESTING) だけです。

 
alsu:

アレナ

配列vpadcci[]、v[]、hh[]、ss[]にメモリを割り当てる必要があります。動的と宣言されているが、そのサイズはどこにも指定されていない。動的配列のサイズは、ArrayResize() 関数を用いて定義する。

追伸:コードの挿入にはSRCボタンをご使用ください。


お返事どうもありがとうございます!調べてみます。
 
eddy:

вопрос програмистам: как сделать число после запятой целым?:)

например в числе 1,128 нужно 128, в 1,12 - 12, в 1,2 - 2)

exnern double n=1,12
n-=MathFloor(n);          // 0.12 = 0.1200000..01 или 0.11999999..99
int n2=MathRound(n*1000); // 0.12 > 120 или 119
while(true)               // пока в конце 0 или 9
 if(n2%10<1)              // n2==хз*10+0
    n2/=10; else          // убираем 0
 if(n2%10==9)             // n2==хз*10+9
   {n2=MathRound(n2/10);} // округляем 9 (119 > 11.9 > 12)
 else if(n2%10>0) break;
1つだけマイナスなのは、末尾が0か9だと数字が出ないこと。 でも、その必要はなく、計算周期(4,8,12,16,24,36,48など)を入力すればいいんです。
 

VininI LRMA indicator color.mq4 https://www.mql5.com/ru/code/8200 が変更されたことを正しく記録する方法を教えてください。

double iCustom(stringsymbol, int timeframe, string name, ..., int mode, int shift) を使用する場合。私には理解できない。iCustom(NULL,0, "VinI_LRMA_color",55,0,1) を書いたのですが、どうすればいいのかわかりません))

 

線の値は、インジケーターバッファ1(緑)、2(赤)である。チャートに緑の線が引かれると、バー1の変数upはこの線の値を持ち、変数dn=EMPTY_VALUE、逆も同様です。EMPTY_VALUE は空のバッファ値であり、その数値は 2147483647 である。
そして、これらの値を自由に使うことができます。

double up=iCustom(NULL,0,"VininI LRMA color",period,price,Shift,1,1); 
double dn=iCustom(NULL,0,"VininI LRMA color",period,price,Shift,2,1); 
 
Poseidon:
最後に開いた注文の利益確定がトリガーされたときに、すべての注文を閉じるEAを作ることはできますか?
まだ初心者でやり方がわかりません。よろしければ、やっていただけませんか?