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

 
Valdemar:

皆さん、このタイミング機能をEAコードに挿入したとき、どこを間違えたか教えてください。

コンパイラがエラーで溢れるだけだった。



他の関数の中で関数を宣言した場所で。

int init()
  {
  
bool isTradeTimeInt (int hb=05,int mb=50,int he=23,int me=00) 
    {
 
Roll:

指定された関数の第10パラメータを参照してください。0に設定する。

OrderSend(g_symbol_284, OP_BUY, Lots, g_ask_528 - gi_164 * g_point_400, Slippage, l_price_40, l_price_32, 0, g_magic_112, "Newest", MediumBlue) を実行。

という行がありますが、これは何を変更すればいいのでしょうか?

 
Starting:

使い方は簡単で、スクリプトを実行 すると...。

それが、あなたが証明する必要があったことです。つまり、正しい順序を判断するコードが必要 なのです。このような状況は何十種類もあり、コードを簡略化するために、それぞれに特別な関数を保存することはできないのです。それぞれのケースに応じた書き方が必要です。
同様の機能の例はこちらでご覧いただけます。 KimIVの便利な機能をご紹介します。

既製品で合わない場合は、既存のものを類推して自作することも可能です。
 
Bicus:

ここでは、価格イナーシャをもとに計算しています。つまり、1番目の注文のストップロスが発動され、2番目の注文はロスより少し小さい値で利益が出ている状態です。もう少し同じ方向に価格が動けば、そうですね、トータルで利益が出るかもしれませんね。

しかし、イマイチこの戦略は食指が動きません。

そうだ、そうだ!利益方向にあと数ピップス行くかどうか推測している :)
 
granit77:
これこそ、私たちが証明しなければならないことです。つまり、必要な順番を見つけるようなコードが必要 なのです。このような状況は何十種類もあり、それぞれに特別な関数を用意してコードを簡略化するわけにはいきません。それぞれのケースに応じた書き方が必要です。
同様の機能の例はこちらでご覧いただけます。 KimIVの便利な機能をご紹介します。

既製品で合わない場合は、既存のものを類推して自作することも可能です。


言いたいことがよく伝わらなかったようです。

主張1.すべてのコードは、保留中の注文が発生した後、この注文の開始日(この注文が発生した時点で市場に出回るようになった)にアクセスすると、保留中の注文の発注日と同じ開始日を取得します - これがOrderOpenTime()関数の動作方法です。

主張2:口座上の注文の状態を常に監視するExpert Advisorがなければ、保留中の注文がトリガーされた正確な時刻を覚えておくことはできません。


考えられる解決策 1.保留中の注文を設定した日から現在の日付まで実行してみて、建値とトリガーレベルが最初に交差した時刻に注意すればよいのです。

これは多少なりとも正確な時間になるのですが、スプレッドという大きなマイナスがあります。履歴にスプレッドを記録していないので(例えばDukasで取引していないので、Dukasからスプレッドを取ったティック履歴を採取して記録する必要があります)、実際に価格が保留注文設定ラインを越えたのを見た時ではなく、もっと前に、価格がオープンレベルに触れかけたが越えずに、スプレッド拡大により注文がトリガーされた可能性があります。


最も可能性の高い解決策は、Expert Advisorを作成してチャートに表示し、口座の注文を監視することです。EAの動作に支障が出る可能性があるというデメリットもあるため、やりたくないというのが理由です。


ご指摘の機能です。OrderOpenTime()関数へのリンクを提供しています。遅延された注文については、その作成日であり、トリガーされた日ではない。そのため、既存の機能は適さない。そして、注文開始日についてはOrderOpenTime()を参照したままなので、これらを組み合わせる方法はありません。

 
Pyxlik2009:

OrderSend(g_symbol_284, OP_BUY, Lots, g_ask_528 - gi_164 * g_point_400, Slippage, l_price_40, l_price_32, 0, g_magic_112, "Newest", MediumBlue) を実行。

という行がありますが、これは何を変更すればいいのでしょうか?

パラメータをプリントして 見る
 
Pyxlik2009:

OrderSend(g_symbol_284, OP_BUY, Lots, g_ask_528 - gi_164 * g_point_400, Slippage, l_price_40, l_price_32, 0, g_magic_112, "Newest", MediumBlue) を実行。

という行がありますが、これは何を変更すればいいのでしょうか?

あなたは、第10パラメータ"最新 " を持って、あなたが必要とする数は、注文の有効 期限である一方
 

いちぎょうじゅう

if (!(AccountFreeMarginCheck(g_symbol_284, OP_BUY, Lots) <= 0.0 || GetLastError() == 134/* NOT_ENOUGH_MONEY */)) g_ticket_352 = OrderSend(g_symbol_284, OP_BUY, Lots, g_ask_528 - gi_164 * g_point_400, Slippage, l_price_40, l_price_32, 0, g_magic_112, "Newest RX-1", MediumBlue);
 
 
Pyxlik2009:

いちぎょうじゅう

もう一度。

ドキュメンテーション

intOrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0,datetime expiration=0, color arrow_color=CLR_NONE, string comment=NULL, int magic=0,datetime expiration=0)

Newest " 文字列の10番目のパラメータは 数字ではありません そのため、エラー
が発生します。

 

PapaYozh
:


他の関数の中で関数を宣言したところ。

int init()
  {
  
bool isTradeTimeInt (int hb=05,int mb=50,int he=23,int me=00) 
    {


PapaYozh 様、ご意見ありがとうございますしかし、int start()にこの関数を挿入しましたが、コンパイラの結果はいずれにしても変わりません

int start()
{
int H,M,Ticket;
double Max,Min,
Max1,Min1,
TP,
Total;

bool isTradeTimeInt(int hb=07,int mb=55,int he=23,int me=00) 
    {
  datetime db, de;           // Время начала и окончания работы
  int      hc;               // Часы текущего времени торгового сервера

  db=StrToTime(TimeToStr(TimeCurrent(), TIME_MINUTES)+" "+hb+":"+mb);
  de=StrToTime(TimeToStr(TimeCurrent(), TIME_MINUTES)+" "+he+":"+me);
  hc=TimeHour(TimeCurrent());
  if (db>=de) {
    if (hc>=he) de+=24*60*60; else db-=24*60*60;
  

  if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
  else return(False);
}
 

H=Hour();
M=Minute();
Total=OrdersTotal();
if(Total==0)
{
if(isTradeTimeInt==true)
{
   Max=High[iHighest(Symbol(),PERIOD_M5,MODE_HIGH,12,0)];
   Min=Low[iLowest(Symbol(),PERIOD_M5,MODE_LOW,12,0)];
結局、コンパイラはこのようなエラーを示しましたが、間違った変数定義のことを指しているのでしょうか?

私はどんな不便、理解、結局のところ、ちょうどこのような容易ではない問題で経験を積むために始めて、私はこのフォーラムとここに応答した人々のおかげで、彼らのスキルを開発し、改善し続けていると思う、ありがとうございました。