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

 

を開く2つの簡単なスクリプトについて、ご教授ください。

ストップロスやテイクプロフィットを設定した買い注文や 売り注文を、指定した時間帯に出す。

現在価格からの距離奇跡的に動くものを書きました。

誤って削除してしまい、今となっては何をどうしたのか思い出せません。

唯一の望み...

を販売します。


int start()
{
OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid-20*Point,3,Bid+50*Point,Bid-50*Point);

return(0);
}


を購入する。


int start()

{
OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+20*Point,3,Bid+50*Point,Bid-50*Point);

return(0);
} }.

help please...

 
NickXXX:

みなさん、こんにちは。

今日は時間を使ったエクササイズです)例えば、あるインジケータにある時間に何かをさせる必要があります。

コードは以下のようになります。

さて、21時30分だけでなく、22時、22時30分、23時......といった具合に、条件を変えたいとしましょう。

もちろん、次のようなことも可能です。

でも、特にチェックポイントが多くなるのは、なんとなく不合理な気がするんですよね。できると思いますし、よりシンプルになります。

質問、どうすれば楽になるのか(ですよね)?

ここでは、時間条件が法則に従うか、パターンに従うかによって決まる。例えば、あなたの場合、30分毎に: if(TimeCurrent()%1800==0) {tra-ta}.これらの時間軸にロジックがない場合、つまりあなたの選択肢です。ただ、この分にチェックがないとEAが条件から外れてしまうという、厳密な等式があるのが嫌ですね......。
 
Figar0:
ここでは、時間条件が何らかの法律の適用を受けるかどうか、パターンがあるかどうか、にすべてがかかっています。例えば、あなたの場合、30分ごと: if (TimeCurrent()%1800==0) {tra-ta}.これらの時間軸にロジックがない場合、つまりあなたの選択肢です。ただ、この分にチェックがないとEAが条件から外れてしまうという、厳密な等式があるのが嫌ですね......。

I.e.分割 作品の残りを チェックする。でも、この場合、必ず残りがあるような気がするのですが...。

厳密な平等には完全に賛成です、まだよく考えていません。原理的には、16.00~16.03のようなインターバルのようなものが可能でしょう。

ただ、要は30分に1回、計算をして寝るようにすればよかったんです。そのため、システムに常に無駄な計算の負担をかけることがないようにしました。

 
NickXXX:

I.e.分割作品の残りをチェックする。でも、この場合、必ず残りがあるような気がするのですが...。


はい、その通りです、より良い方法です: if(TimeCurrent()%1800<60) {tra-ta}.
 
Figar0:

そうですね、おっしゃるとおりです。

< 0.6、といったところでしょうか。割り算の余りは 常に1より小さい :)
 

そういう変数がたくさんある場合はどうするのですか?

double Time_Mes_1=21.30;
double Time_Mes_2=22.00;
double Time_Mes_3=22.30;
...

それは残念なことなのか、それともうまくいくのだろうか。

もう一つ小さな疑問なのですが、例えば条件を実行する間隔(例:16.00-16.03)を設定するとします。新しいティックの到着にもかかわらず、一度だけ実行するようにするにはどうしたらよいでしょうか?

 

1.datetimeというデータ型が あります。エキゾチックなものを求めるなら、intを時間に使うこともできますが、doubleは極端な例です。

2. 5-10ページ戻る:あなたが望むことを行う方法が書かれています。

 

こんにちは。

コードの修正をお願いします。

以下の2行はいずれも不具合があります。

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

if((OrderMagicNumber()==MAGIC || OrderMagicNumber()==777))

if((OrderMagicNumber()==(MAGIC || 777))

プログラムそのもの。

int OrdTicket_b()
 {
  string SMB=Symbol();
  int OrdTicket;
  int MAGIC;
  int i;
  for (i=0; i<OrdersHistoryTotal(); i++)
   {
    if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
     {
      if(OrderSymbol()==SMB)
       {
        if(OrderMagicNumber()==MAGIC || OrderMagicNumber()==777)
         {
          if(OrderType()==OP_BUY || OrderType()==OP_SELL)
           {
            OrdTicket=OrderTicket();
           }  
         }  
       }          
     }
   }
  return(OrdTicket);
 }
 
tara:
人前で異端を広めないでください。オタクは他所でやれ、いくらでもあるんだから...。
 
tara:

1.datetimeというデータ型があります。エキゾチックなものを求めるなら、時間にはintを使うことができますが、doubleは極端な例です。

2)5〜10ページ前に巻き戻す:そこには、あなたが望むことを行う方法が書かれています。

1.まあ、ここでのダブルは、チェックポイントをHHとしてマークできるように、分と時間を足すためだけに使われていたんですけどねMM(例:16. 23)です。

2.最後のページを見ると、もちろんdatetimeに関するものもありますが、全く同じではありません。単純に、最後に注文した時刻をHH.MM形式で出力して いる。