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

 
VOLDEMAR:

そうですね、x=0とすると、そのままx:とすると0になってしまうので、0にならずに上がっていきます。


スタートアップコアにあることに気づかなくてすみません・・・。
 
きっとリセットされますよ。 皆さん、ありがとうございます!ちょっと笑えますね。
 
int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;
int start()
  { 
int    X=0; 
double price=(Ask+Bid)/2;      
int total=OrdersTotal();                                         
                                       
   for (int i=total-1; i>=0; i--)                                 
   {
    if(OrderSelect(i, SELECT_BY_POS))                          
     { 
      Alert ("Uy",i);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol())
       {
       X ++;
       }  
       }
       }
       Alert ("X",X);}

if (X==0)
   {
   tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, price +otstup*Point, Point* 3, R1, price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); 
   tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, price -otstup*Point, Point* 3,R2, price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    }       


   return(0);
  

これが正解!!!!!!!

 
Dimka-novitsek:
きっとリセットされますよ。皆さんありがとうございます!ちょっと笑えますね! 。
comment();を使うと、テスト中に左上で変数に何が起こっているのかがわかります。
 
ありがとうございます!!!
 
あなたのコードを入れたら、コンパイルできない。何がエラーなのか、理解できない。しかし、主なものは、私はまだ尋ねた、何らかの論理的なエラーがあるはずです、注文はすべてのティックで開かれ、ほとんどの場合、この部分は動作しません。
 if(OrderSymbol()==Symbol()&& OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 && OrderSymbol()==Symbol())
この部分がうまくいかず、私にも理解できないのですが?
 
VOLDEMAR:

みんな、もっと複雑な質問なんだけど......。

EAで所定の利益に達したときにすべての注文を閉じるようにするには・・・。 1つのシンボルに対してのみクローズ注文を行う ...

例:EAは1つのシンボル100p上のすべての注文を閉じるために3ペアの金額で動作します...

EURが100p以上ある場合、EURの注文だけをクローズし、他の注文は200pになるかもしれません ...

accountbalanse()を使用すると、3つのペアの合計が100p以上になったときのみEAが終了します。 このオプションは私のために動作しません!

助けてください............。



おそらく
オーダープロフィット( )
また、If (OrderSymbol()==Symbol())は{fnCloisterBlackfe120fs30}{pos(355,125)}自分で書けないけど...。
 

コードのどこがおかしいのか、アドバイスをお願いします。ロボットは売り注文を決済することになっており、それがなければ買うはずです。エラー4105が表示され、対処しようとするが結果が出ない。もしかして、他の処理方法があるのでは?

PRICECURRENTPROFITは買いレベルです。


// ROBOT SELLS
//売り注文が あるかどうか判断
if (Bid>=PRICECURRENTPROFIT && PRICECURRENTMPROFIT>0)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); mode = OrderType(); if(OrderSymbol())=="EURUSD")。
{if(mode == OP_BUY)
{go=OrderClose(OrderTicket(), Lots, Bid, slippage, Green);

}.
}
} // 開いたら閉じる
} if(go != true) {Print("Failed to open SELL order.Error N", GetLastError());
switch(GetLastError()){case 4105: OrderSend("EURUSD",OP_SELL,Lots,Bid,2*Point,0,0, "robot sells",MagicNumber,0,Red);break;}; }.
}

 

売り買いできるように機能を追加したいのですが、売りと買いで別々のマジックナンバーが必要です。

利食い注文が発生した場合、ロボットはすべての保留中の注文を 閉じます。 私は、OP_SELLLIMITの保留中の注文をすべて閉じ、OP_BUYLIMIT、OP_BUYを変更せずに残してほしいのです。

 
Dimka-novitsek:
あなたのコードを入れたら、コンパイルできない。何がエラーなのか、理解できない。しかし、最も重要なのは、私はまだ尋ねた、何らかの論理的なエラーがあるはずです、注文はすべてのティックで開かれ、最も可能性の高いこの部分が動作していない、私もそれを理解することはできませんか?
コードがすべて表示されていないか、一番下の閉じる中括弧が抜けている。