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

 
Roger:
端末を再起動してみてください。

:)ありがとうございます。端末を再起動してもダメでしたが、自分の脳を再起動したら大丈夫でした!(笑)。私のEAでは、取引ブロック、条件ブロック、変数ブロック、追加機能ブロックなど、さまざまなブロックを使っていますが、これらのブロックは、インクルード・システムでつながっています。そこで、取引条件のブロック「Criteria」を変更していたのですが、「Criteria01」が必要でした。それがコツなんです...。:)

ZZZ・・・「ドラバシキ」を信じ始めていたのに・・・。:)少し寝ればよかった...。

 
itum:
助けてください!!!次のコードでは、注文が利益を生んでいるかどうかをチェックします。そうでない場合は、金額を数えます!
最初の取引で利益が出なかった場合、カウントループが開始され、永遠に追加されます。

でも、こんな裏技があるんです。 取引で利益が出た場合、それ以降の負け注文は全て普通にカウントされる・・・。

double orderProf;// 負けトレードの数のカウンター

double CalculateLots(){。
double Res=0.01。
bool bProfit=true。
int PrevTime=-1;
double tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){ (int i=0;i<OrdersHistoryTotal();i++)
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderCloseTime()<PrevTime) continue;
PrevTime=OrderCloseTime()。
if (OrderProfit()>0){bProfit=true;orderProf=0;}.if (OrderProfit()<0){bProfit=false;orderProf++;}.
tmpLots=OrderLots()です。
}


return(Res)です。
}
イゴール・キムのリンクはあげたけど...。そこには、あなたのニーズに合ったグッズがたくさん...。
 
artmedia70:
イゴール・キムのリンクはあげたけど...。そこには、あなたのニーズに合ったものがたくさん...。

DAK !私のものと同じです・・・。

PROBLEMは、初回は正常にカウントされないが、その後は正常にカウントされる...というもの。)))

助ける

 

難問はこれだ。

コードの一番最後にあるインジケータは、オブジェクトを作成し、別のインジケータのフラグとして機能します。

オブジェクトを作成した 後、インジケータを5秒間スリープさせ、その後オブジェクトを削除して60秒間スリープさせ、その後最後の再試行に入り、新しいティックで再度やり直す必要があります。

こんなことに挑戦しています

      int pauseT=0, // 
          pause01=0, // время первой паузы
          pause02=0; // время второй паузы
         if (ObjectFind("signalG")==1) // проверка наличия
         pause01=TimeLocal()+5; // 
         {while (TimeLocal()<pause01) // цикл сравнения
         {pauseT=TimeLocal()+1;} // чем бы его занять?????
         ObjectDelete("signalG");}
         if (ObjectFind("signalG")==-1) // повтор всего для 2-ой паузы
         pause02=TimeLocal()+15;
         while (TimeLocal()<pause02)
         {pauseT=TimeLocal()+1;}

時間切れに なりそうなところまでハングアップする。

何かコツがあるのでしょうか?

 
Abzasc:

難問はこれだ。

コードの一番最後にあるインジケータは、オブジェクトを作成し、別のインジケータのフラグとして機能します。

オブジェクトを作成した後、インジケータを5秒間スリープさせ、その後オブジェクトを削除して60秒間スリープさせ、その後最後の再試行に入り、新しいティックで初めからやり直す必要があるのですが、どうすればよいでしょうか?

こんなことに挑戦しています

時間切れに なりそうなところまでハングアップする。

何かコツがあるのでしょうか?

スレッジハンマー...:):)すみません、我慢できなくて...。:)
 
artmedia70:
スレッジハンマー...:):)
タイマーとして?無気力な眠りにつくだろう :)
 
Abzasc:
タイマーとして?無気力睡眠に入ります :)
そうだな...くすぐられたい時に、目を覚ますだろう...。:)
なるほど、話がそれてしまいましたね。もっと具体的に教えてほしいです。 一人は起こし、一人は寝かせ、一人は釘を刺す...。
給餌についてはどうでしょうか?:)
 
artmedia70:
more details on
インジケータを一時停止 させる。眠っているようなものです。
 
Abzasc:
インジケーターに間を持たせる。睡眠と同じようなものです。

Sleepの 何が問題なのか?

そしてまた、-オブジェクトの存在を確認するとき

         if (ObjectFind("signalG")==1) // проверка наличия
インジケーターのサブウィンドウ番号と比較します。2人いたらどうする?
目的の指標のサブウィンドウ番号を代入した変数で比較するのがよいでしょう。

私はこうして検索しています。

 int WinID=WindowFind("A/D");               // Номер окна AD

そして、すでにサブウィンドウの存在を確認しています。

// --------------- Начертим восходящую трендовую линию (DN - экстремумы) ---------------------            
             
               if (WinID>0)   // Если окно индикатора есть на чарте (оно может иметь любой номер, кроме 0)
                  {
                     if (ObjectFind("Trend_GLine_DN")<0)     // Если объект ещё не построен
                     ObjectCreate("Trend_GLine_DN",OBJ_TREND,WinID,LowestTDN,LowestPeakDN,HighestTDN,HighestPeakDN);
                     ObjectSet("Trend_GLine_DN",OBJPROP_COLOR,Lime);
                     ObjectSet("Trend_GLine_DN",OBJPROP_TIME1,LowestTDN);
                     ObjectSet("Trend_GLine_DN",OBJPROP_PRICE1,LowestPeakDN);
                     ObjectSet("Trend_GLine_DN",OBJPROP_TIME2,HighestTDN);
                     ObjectSet("Trend_GLine_DN",OBJPROP_PRICE2,HighestPeakDN);
                  }
 
artmedia70:

Sleepの嫌いなところは?

インジケーターで動作しない。このようにする理由は......よくわからない。どうやら、常に動いているインジケーターは催眠術にかかるようです :)
artmedia70 です。

2つ持っている場合は?

それはないでしょう。不要なウィンドウを取り除くだけ。

後でチェックが必要ですが、できればEAに :) ありがとうございます、メモしておきます。