[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 848

 

そのためだと思います。

while (att_to_modify_sell<= attempt_to_modify)
 
vasya_vasya:

そのためだと思います。

ありがとうございます、気づいてすぐに投稿を削除しましたが、なんとか返信できましたね :)

やっぱり自分のサイクリックパターンは嫌だな...。

タスクは、マーケットによるクローズの試みがn回失敗した後に、注文を修正することです。

コードでうまくやる方法を教えてください。

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

 
vasya_vasya:

このためだと思います。

att_to_modify=2;
att_to_modify_sell=0;
            
Print("att_to_modify_sell="+att_to_modify_sell);
Print("Модификация SL, попытка установить новый СЛ, ord_open_sell="+ord_open_sell+" stop_TP="+stop_TP+" Старый СЛ= "+ord_sl+" Bid="+Bid+" ord_take_profit="+ord_take_profit+" Ask="+Ask);
Print("Модификация в цикле1");   
ticket=OrderModify(ticket_sell,0,NormalizeDouble((ord_open_sell-stop_TP*Point),Digits),NormalizeDouble(ord_take_profit,Digits),0,0); //первый перенос СЛ
  if(ticket<0)
  {               
    Print("OrderModify(SELLSTOP install first SL) failed with error #",GetLastError());
    att_to_modify_sell+=1;
    Sleep(3000);
    if (att_to_modify_sell>=attempt_to_modify /*&& Ask<(ord_open_sell-stop_TP*Point-p_TS_DIST*Point)*/)                     
    {
      OrderClose(ticket_sell,ord_lots,MarketInfo(Symbol(),MODE_ASK),3,Green);
    }
    if(ticket>=0)
    {
      att_to_modify_sell=attempt_to_modify+1;
      Print("Модификация прошла успешно");
    }  
    Print("att_to_modify_sell!!!="+att_to_modify_sell);           
  }

結論

2010.09.14 16:46:04 2010.06.07 00:00 MM1.20 EURUSD,M5: OrderModifyerror 130
2010.09.14 16:46:04 2010.06.07 00:00 MM_1.20 EURUSD,M5: Loop1 で修正
2010.09.14 16:46:04 2010.06.07 00:00 MM_1.20 EURUSD,M5: SL修正、新しいSLを設定しようとしている、ord_open_sell=1.19799000 stop_TP=200 Old SL=1.20499000 Bid=1.19470000 ord_take_profit=1.19479000 Ask=1.19483000。
2010.09.14 16:46:04 2010.06.07 00:00 MM_1.20 EURUSD,M5: att_to_modify_sell=0


エラーが発生したのですが、なぜ条件を処理しないのでしょう

if(ticket<0) ?????


その結果、プリントは表示されない...。

Print("OrderModify(SELLSTOP install first SL) failed with error #",GetLastError());
Print("att_to_modify_sell!!!="+att_to_modify_sell); 


att_to_modifyが試行された後、コードの一部が成行注文をクローズする!

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

 
EA自体を無効にすることは可能でしょうか?
 
Elliotttrader:

出力します。

2010.09.14 16:46:04 2010.06.07 00:00 MM1.20 EURUSD,M5: OrderModify error 130
2010.09.14 16:46:04 2010.06.07 00:00 MM_1.20 EURUSD,M5: Modification in loop1
2010.09.14 16:46:04 2010.06.07 00:00 MM_1.20 EURUSD.M5: OrderModify error 130 2010.06.07 00:00 MM1.20 EURUSD,M5: Modification in loop1 2010.06.06 00 00:00 MM_1.20 EURUSD,M5: SL modification, try to set new SL, ord_open_sell=1.19799000 stop_TP=200 Old SL=1.20499000 Bid=1.19470000 ord_take_profit=1.19479000 Ask=1.19483000
2010.09.14 16:46:04 2010.06.07 00:00 MM_1.20 EURUSD,M5: att_to_modify_sell=0を設定。

エラーが発生したのですが、なぜ条件を処理しないのでしょう

ということで、プリントされない...。

att_to_modifyが試行された後、コードの一部が成行注文をクローズする!

ありがとうございます。


130エラー- 停止する場所が間違っています。

関数の第3パラメータを解析する

ticket=OrderModify(ticket_sell,0,NormalizeDouble((ord_open_sell-stop_TP*Point),Digits),NormalizeDouble(ord_take_profit,Digits),0,0);//最初の振り込みのSL

これは、私が理解したところでは、売り注文で、逆指値が下がっている

多分、"+" -ord_open_sell+stop_TP*Point が必要。

 
abolk:


130エラー - 停止する場所が間違っています。

関数の第3パラメータを解析する

ticket=OrderModify(ticket_sell,0,NormalizeDouble((ord_open_sell-stop_TP*Point),Digits),NormalizeDouble(ord_take_profit,Digits),0,0);//SLの最初のロールオーバー

これは、私が理解したところでは、売り注文で、ストップ・プライスを下げると

多分、"+" -ord_open_sell+stop_TP*Pointが 必要です。

このエラーについて聞いているのではありません。なぜ処理されないのか聞いているのです。
if(ticket<0)
ありがとうございました。
 
Elliotttrader:
このエラーについて聞いているのではありません。なぜうまくいかないのか聞いているんです。
ありがとうございました。

まず、修正後のチケット印刷の値を印刷します
 
abolk:

手始めに、修正後のチケットの値を印刷する


質問を書いているのですが、何も変わらず、問題が解決していないので、期待して繰り返し書きます。

私は自分でインジケータを書いています、私は歴史から約2000のバー、そのようなループを必要としています。

for (int i=1; i<1900; i++)

と入力すると、1000本しか取り出せません。

Bars変数を設定しようとしましたが、2000までチャートと履歴データを描いたにもかかわらず、その値は1000だと言われました。

なぜこうなるのか、何がいけないのか?

アドバイスお願いします!!!!

 
abolk:

手始めに、修正後のチケットの値を印刷する

略称

               Print("Модификация SL, попытка установить новый СЛ, ord_open_sell="+ord_open_sell+" stop_TP="+stop_TP+" Старый СЛ= "+ord_sl+" Bid="+Bid+" ord_take_profit="+ord_take_profit+" Ask="+Ask);
               Print("Модификация в цикле1");             
               ticket=OrderModify(ticket_sell,0,NormalizeDouble((ord_open_sell-stop_TP*Point),Digits),NormalizeDouble(ord_take_profit,Digits),0,0); //первый перенос СЛ
               Print("ticket="+ticket);

               if(ticket<0){Print("OrderModify(SELLSTOP install first SL) failed with error #",GetLastError());}

               Print("Модификация закончена");


2010.09.14 20:35:26 2010 06.07 00:00 MM_1.20 EURUSD,M5:修正完了
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: ticket=0
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: OrderModifyerror 130
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5:Loop1での変更点
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: SL修正、新しいSLを設定しようとしています order_open_sell=1.19799000 stop_TP=200 Old SL=1.20499000 Bid=1.19470000 order_take_profit=1.19479000 Ask=1.19483000でした。

2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: att_to_modify_sell=0


みんな、不具合が起きているんだ。どのようなエラーで

ticket
朴訥な0ルになる?
 
Elliotttrader:

略称

2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5:モディファイ終了
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: ticket=0
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: OrderModify error 130
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5:Loop1での変更点
2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: SL修正、新しいSLを設定しようとしています order_open_sell=1.19799000 stop_TP=200 Old SL=1.20499000 Bid=1.19470000 order_take_profit=1.19479000 Ask=1.19483000でした。

2010.09.14 20:35:26 2010.06.07 00:00 MM_1.20 EURUSD,M5: att_to_modify_sell=0

みんな、不具合が出ているんだ。どのようなエラーで

be naven 0-lu?

print -- ticket_sell とチケット変数型表示