どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 920

 

こんにちは

ヒストリカルデータで開始する」ボタンがアクティブになっていません。

その理由は何でしょうか?

 
mukata:

こんにちは

ヒストリカルデータで開始する」ボタンがアクティブになっていません。

その理由は何でしょうか?

何を始めるの?
[Deleted]  
Vinin:
パラメータは正しいか?
いいえ、パラメータは正しく設定されています。0から99までのシフトを確認した。1から99までの値はすべて明確に表示と対応していますが、シフト値0では表示とデータが対応していません。どのように撮られているのか、私のミスは何なのかがわからない。
 

皆さん、お疲れ様でした :-)

私はこの問題に直面しました。保留中の注文を 出す関数があります。しかし、指定された価格での注文がない場合のみ、それを配置します。しかし、不思議なことに同じ値段で注文が繰り返される。以下は、注文を出す機能です。

int fOrderOpenBuy(double PR1, double PTP){
bool chek1=false;
   RefreshRates();
   double lts=fGetLotsSimple(OP_BUY);
      if(lts>0){      
         if(!IsTradeContextBusy()){
            //double PR=Close[1]-(150*Point);
            double slts=ND(PR1-Point*StopLoss);
            if(StopLoss==0)slts=0;
//проверка ордеров
     int  TotalOrders=OrdersTotal(); 
           for (int i=0; i<=TotalOrders; i++){
     
                 if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
                 
                     if   (PR1==OrderOpenPrice()){chek1=true;}   
                 Print ("Чек "+OrderOpenPrice()+"  "+PR1);
                 }
           }  
        if (chek1==false) {   int irv=OrderSend(Symbol(),OP_BUYLIMIT,lts,PR1,Slippage,slts,PTP,NULL,Magic_N,0,CLR_NONE); }
               if(irv>0){
                  PlaySound("ok");
                  return(irv);
               }
               else{
                  PlaySound("timeout");
                  Print ("Error open BUY. "+fMyErDesc(GetLastError())); 
                  return(-1);
               }
         }
         else{
            static int lt2=0;
               if(TimeCurrent()>lt2+20){
                  lt2=TimeCurrent();
                  Print("Need open buy. Trade Context Busy");
               }            
            return(-2);
         }
      }
      else{
         static int lt3=0;
            if(TimeCurrent()>lt3+20){
               lt3=TimeCurrent();
               if(lts==-1)Print("Need open buy. No money");
               if(lts==-2)Print("Need open buy. Wrong lots size");                  
            }
         return(-3);                  
      }
}  

同じ建値が出力されますが、if(PR1==OrderOpenPrice()){chek1=true;} の行は実行されたく ありません。なぜなのか、答えられる人はいますか?

 

なぜなら、もううんざりしているから......。:-( 値段は同じで、まだ注文が開いている......。

 
プロフェッショナルの皆様へ!!EAがデモとリアルで取引できませんが、ストラテジーテスターでは全てOKです。

どのような問題が考えられるか教えてください。いろいろなインジケータを付けてみましたが、すべて動作しますが、Strategy Tester でのみ動作します。

ファイル:
 

皆さん、こんにちは。

ヒントを教えてください・・・。

以下は、Print関数がメッセージを表示する際に2つの条件がある場合のコードスニペットです。

問題です。

Print関数はメッセージを1目盛り ごとに印刷しますが、最初の1目盛りだけ印刷し、残りは休ませる必要があります。

最初のティックの後に停止する方法を教えてください。

ありがとうございます。

if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY))

if ( OrderType ()==OP_SELL)

X1 = OrderProfit( );

if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY))

if ( OrderType ()==OP_SELL)

if(X1 < 0)

Print(" LOW ", X1 );

 
solnce600:

皆さん、こんにちは。

ヒントを教えてください・・・。

以下は、Print関数がメッセージを表示する際に2つの条件がある場合のコードスニペットです。

問題です。

Print関数はメッセージを1目盛りごとに印刷しますが、最初の1目盛りだけ印刷し、残りは休ませる必要があります。

最初のティックの後に停止する方法を教えてください。

ありがとうございます。

if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY))

if ( OrderType ()==OP_SELL)

X1 = OrderProfit( );

if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY))

if ( OrderType ()==OP_SELL)

if(X1 < 0)

Print(" LOW ", X1 );

1小節に1回のラクガキであれば、私は

if (b!=Bars){

b=棒グラフ

}

つまり、括弧の中にある計算は、1つのバーにつき1回しか起こらない...。

 
nikelodeon:

1小節に1回のラクサイトということであれば、私が使っているのは

if (b!=Bars){

b=棒グラフ

}

つまり、括弧の中にある計算は、1つのバーに1回しか起こらない...。

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

最初の分バーにだけ情報を表示させたいのですが。

ご提案いただいたバージョンで試してみましたが、2本目と3本目などの情報が表示されてしまいます......2本目と1本目が等しくない、3本目と2本目が等しくない、などといった理由からです。

最初のバーで一度印刷する必要があります。そして、次の注文がSTOPで決済されるまでPrint 機能は「休む」べきで ある。

 
solnce600:

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

最初の分バーにのみ情報を表示させたいのですが。

あなたが提供するオプションは、私が試した、......しかし、それは2と3などの情報を表示する......2番目のバーが1と等しくない、3番目は2と等しくない、などであるため。

最初のバーで一度印刷する必要があります。そしてPrint 機能は、次の注文がSTOPで決済されるまで「休むべきで ある。

フラッグを使ってみてください。

のように

bool flag=false。

......

if (x1<0)&&(flag==false){Print();flag=true;}.

すると、1回だけ印刷されます。

そして、ストップがかかった後、フラグをfalseにリセットすれば、もう一度プリントが実行される...。