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

 
001:

コンパイラの論理が理解できない。機能があるんです。外部変数を宣言しています。

int startです。

さらに関数本体

ダブルビー
{

int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {.
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=false) { { { (i, SELECT_BY_POS, MODE_HISTORY)!
if(OrderType()==OP_SELL)の場合{。
if(OrderProfit()< 0){start=1;}。

}

}

}

}

スタート変数の値は記憶して おき、必要なときにゼロと等価にする必要があります。しかし、この場合、OrderProfit()<0なら start=1、 OrderProfit()> 0なら 自動的に start=0となる。

ノー

IfOrderProfit()> 0, 変数には同じ値が格納されます

 
Tantrik:
どこにあるか教えてください。 全部英語です。
MetaEditorをロシア語に設定できない場合は、リンク先のDocumentationを ご利用ください。
 
ilunga:

ノー

OrderProfit()> 0の場合、変数にあったものが残る


ここでは、関数.

//+-----------------------------------------------------------------------------+
double Balans()
{.

int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {
//--------------------------------------------
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=false) {
if (OrderType()==OP_SELL) {
if(OrderProfit() <0) {start=true;} ←クリックすると拡大します。
}
}

//---------------------------------------------------------------
}
Print(" start= ",start);
if(lots<0.01) lots=0.01;
lots=NormalizeDouble(lots,2);
return(lots);
}.
//+------------------------------------------------------------------+

以下はそのログです。

16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: open #1 sell 0.Bars= 0 16:01:36 2007.09.12 00:01 GBPUSD,M1:オープン #1 sell 0.Bars_Trader GBPUSD,M1:オープン #1 sell 0.01 GBPUSD at 2.03190 tp: 2.03100 ok
16:01:36 2007.07.12 04:01 Bars_Trader GBPUSD,M1: close #1 sell 0.01 GBPUSD at 2.03190 tp: 2.03100 at price 2.03210
16:01:36 2007.07.07.13 04:04 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: open #2 sell 0.Bars_Trader GBPUSD,M1: start= 1 19:01:36 2007.09.09 GBPUSD,M1: start= 101 GBPUSD at 2.02860 tp: 2.02770 ok
16:01:36 2007.07.13 08:00 Bars_Trader GBPUSD,M1: close #2 sell 0.01 GBPUSD at 2.02860 tp: 2.02770 at price 2.02890
16:01:36 2007.07.07.16 20:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: open #3 sell 0.Bars_Trader GBPUSD,M2: start= 1 16:01:40 2007.07.16 20:00 GBPUSD,M1: open #3 sell 0.Bars_Trader GBPUSD,M1: start= 101 GBPUSD at 2.03640 tp: 2.03550 ok
16:01:36 2007.07.17 00:05 Bars_Trader GBPUSD,M1: close #3 sell 0.01 GBPUSD at 2.03640 tp: 2.03550 at price 2.03630
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: open #4 sell 0.M1: start= 0 16:01:36 2007.07.19 16:00 GBPUSD,M1: start= 0 16:00 Bars_Trader GBPUSD,M1: start= 001 GBPUSD at 2.04880 tp: 2.04790 ok
16:01:36 2007.07.18 20:00 Bars_Trader GBPUSD,M1: close #4 sell 0.01 GBPUSD at 2.04880 tp: 2.04790 at price 2.05430
16:01:36 2007.07.19.19 04:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: open #5 sell 0.M1: start= 1 16:01:36 2007.07.19 04:00 GBPUSD,M1: start= 101 GBPUSD at 2.05140 tp: 2.05050 ok
16:01:36 2007.07.19 08:00 Bars_Trader GBPUSD,M1: close #5 sell 0.01 GBPUSD at 2.05140 tp: 2.05050 at price 2.05200
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: open #6 sell 0.01 GBPUSD at 2.Bars_TraderGBPUSD:M1: start= 1 19:00 GBPUSD:M1:M1: start= 1 19:00 GBPUSD:M1: open #6 sell 0.01 GBPUSD at 2.04840 tp: 2.04750 ok
16:01:36 2007.07.19 17:33 Tester:take profit#6 at 2.04750 (2.04760 / 2.04790)
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.19 16:00 Tester_Trader GBPUSD:2.007.20 04:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: open #7 sell 0.01 GBPUSD at 2.04810 tp: 2.04720 ok
16:01:36 2007.07.20 16:00 GBPUSD,M1: start= 0 16:01:36 2007.07.19 Bars_Trader GBPUSD,M1: start= 020 08:00 Bars_Trader GBPUSD,M1: close #7 sell 0.01 GBPUSD at 2.04810 tp: 2.04720 at price 2.04900
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: start=1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: open #8 sell 0.01 GBPUSD at 2.06160 tp: 2.06070 ok
16:01:36 2007.07.29 Bars_TraderのBPUSD,M1: start= 1 16:01:36 2007.08.25 02:12 Tester: take profit #8 at 2.06070 (2.06040 / 2.06070)
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: start= 0.

 
001:


ここでは、関数.

//+------------------------------------------------------------------+
double Balans()
{

int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {.
//------------------------------------------------------------
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=false) { { { (i, SELECT_BY_POS, MODE_HISTORY)!
if(OrderType()==OP_SELL)の場合{。
if(OrderProfit()<0) {start=true;}。
}
}

//-----------------------------------------------------------
}
Print(" start= ",start);
if(lots<0.01)lots=0.01。
lots=NormalizeDouble(lots,2)。
return(lots)です。
}
//+------------------------------------------------------------------+

以下はそのログです。

16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: open #1 sell 0.01 GBPUSD at 2.03190 tp: 2.03100 ok.
16:01:36 2007.07.12 04:01 Bars_Trader GBPUSD,M1: close #1 sell 0.01 GBPUSD at 2.03190 tp: 2.03100 at price 2.03210
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.13 16:04 Bars_Trader GBPUSD,M1: open #2 sell 0.01 GBPUSD at 2.02860 tp: 2.02770 ok.
16:01:36 2007.07.13 08:00 Bars_Trader GBPUSD,M1: close #2 sell 0.01 GBPUSD at 2.02860 tp: 2.02770 at price 2.02890.
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: open #3 sell 0.01 GBPUSD at 2.03640 tp: 2.03550 ok.
16:01:36 2007.07.17 00:05 Bars_Trader GBPUSD,M1: close #3 sell 0.01 GBPUSD at 2.03640 tp: 2.03550 at price 2.03630
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: open #4 sell 0.01 GBPUSD at 2.04880 tp: 2.04790 ok.
16:01:36 2007.07.18 20:00 Bars_Trader GBPUSD,M1: close #4 sell 0.01 GBPUSD at 2.04880 tp: 2.04790 at price 2.05430
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: open #5 sell 0.01 GBPUSD at 2.05140 tp: 2.05050 ok.
16:01:36 2007.07.19 08:00 Bars_Trader GBPUSD,M1: close #5 sell 0.01 GBPUSD at 2.05140 tp: 2.05050 at price 2.05200.
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: open #6 sell 0.01 GBPUSD at 2.04840 tp: 2.04750 ok.
16:01:36 2007.07.19 17:33 Tester: Take profit #6 at 2.04750 (2.04760 / 2.04790)
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: open #7 sell 0.01 GBPUSD at 2.04810 tp: 2.04720 ok.
16:01:36 2007.07.20 08:00 Bars_Trader GBPUSD,M1: close #7 sell 0.01 GBPUSD at 2.04810 tp: 2.04720 at price 2.04900.
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: start= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: open #8 sell 0.01 GBPUSD at 2.06160 tp: 2.06070 ok.
16:01:36 2007.07.25 02:12 Tester: Take profit #8 at 2.06070 (2.06040 / 2.06070)
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: start= 0
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: start= 0

コードをより完全に表示する。例えば今、この変数がどこで宣言されているかはわかりません。

 
ilunga:

は、コードをより詳細に表示します。例えば、今、この変数がどこで宣言されているかはわかりません。


extern int TF;
extern int TP;
extern int BARS;
extern int BarrierMinute;
extern int Step=0;
//--------
extern double ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ;
extern double Decrease=2;
extern inttern Wait=2;
extern inttern 繰り返す。
extern int int MA_Sell;
extern int int Applied_Price_Sell;
//extern int MAPeriod_1;
//extern int Calc=8;
extern double Lots=5;
//----
静的 int PrevTime=0;
ダブルロット
int wait, start, step, repeat;
datetime openTime=0;
double lot=0.1;
 
sergovan 2012.01.26 07:27|禁止|削除

こんにちは、私のEAのOP_BUYSTOPとOP_SELLSTOPの注文をOP_SELLLIMITとOP_BUYLIMITに変更する方法を教えてください。 私はそれを試して、私のBUYLIMIT注文は配置されますが、SELLLIMITものはそうは思わない、多分私は何か間違ったことをしていますか。


添付ファイル
Expertd10.mq4(5.82 KB)を削除しました。
 

ハローフレンド、この問題を解決してくれませんか?

私はソフトウェアストップロス付きのExpert Advisorを書いています。アルゴリズムの基本的なスキームは次のとおりです。


int start()
{double x, PreProfit, TekProfit;
for (x=0; x<1; x++) //Forループ演算子は(理論上)1回実行する必要があります
{PreviousProfit=(-20);}// 1回の値を割り当てる!(理論上)。

TextProfit=OrderProfit();//選択された注文の利益を見つける
if (PredPreviousProfit<TekProfit)//if current profit is higher than previous one, then...
{WeakProfit=TekProfit;}//変数PredCompetitiveに新しい値を割り当てます!
//PredCompanyProfit 変数は、史上最高の利益値を保持しているはずです。
}


キャッチは、変数「x」の値が新しいティックでゼロにリセットされ、新しいティックごとに「PredPreCompetition」変数に(-20)が代入 されることですこのように、アルゴリズムの意味が全くなくなってしまうのですPreProfit "変数は、注文の決済時にこの値が "リセット "されるまで、常に注文の利益の最大値を維持するように設計されています。

何が間違いなのか?もしかしたら、この問題には他の解決策があるのかもしれません。とても感謝しています。

 
bis:

キャッチは、新しいティックで変数 "x" の値がゼロにリセットされ、変数 "PredPreprofit" への値 (-20) の割り当てが、新しいティックごとに実行されることです!このように、アルゴリズムの意味が全く失われてしまうのですPrevProfit」変数は、オーダーがクローズされたときにこの値が強制的に「リセット」されるまで、オーダーの最大利益値を永久に保つように設計されています。

何が間違いなのか?もしかしたら、この問題には他の解決策があるのかもしれません。ありがとうございました。

https://docs.mql4.com/ru/basis/variables/static をご覧ください。
 
FAQ:
sergovan 2012.01.26 07:27|禁止|削除

こんにちは、私のEAでOP_BUYSTOPとOP_SELLSTOPをOP_SELLLIMITとOP_BUYLIMITに変更する方法を教えてください。 私は注文BUYLIMITを変更しようとしたがSELLLIMITはそう思っていない、多分私は何か間違ったことをしているのだろうか?


Expertd10.mq4(5.82 KB) 削除


Bid and Askを変更した時に忘れてしまったのでは?
 

標準のインジケータをStrategy Testerで 表示させる方法を知っている人はいますか?