[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 336

 

そして、バルマは、必ず

//--------------------------------------------------------------- 5 --
// торговые критерии
if(vverh>0)
  {
   Opn_B=true;
   Cls_S=true;
   Opn_S=false;
   Cls_B=false;
  }
if(vverh>0)
  {
   Opn_S=true;
   Cls_B=true;
   Opn_B=false;
   Cls_S=false;
  }
  
//--------------------------------------------------------------- 6 --
条件を正しく表記していれば
 

皆さん!こんばんは(夜、朝、昼)!

素朴な疑問にお答えください。

どの関数が注文の開始価格を 返すのか、それは。

- へいさて

- ストップ ロスで終了。

よろしくお願いします。

 
solnce600:

皆さん!こんばんは(夜、朝、昼)!

素朴な疑問の答えを教えてください。

どのような関数がその注文のオープン価格を返します。

- へいさて

- ストップ ロスで終了。

よろしくお願いします。



そのような機能はありません - ちょっとしたコードを書く必要があります
 
artmedia70:

変数は、テスターでストラテジーをテストするときのみ使用 できます。

実世界では、ロジックの実行に必要なすべての値を適切なタイミングで計算する必要があります。これらの変数の値は、例えば再起動時に非常に失わ れやすいためです。



アーテム、そしてそれは例を挙げることが可能ですか?結局のところ、変数を関数で置き換えることさえ可能なのです。また、関数を変数に置き換えることはできません :)

 

solnce600


皆さん!皆さん、こんばんは!(夜、朝、昼)。

あなたにとって素朴な疑問の答えを教えてください。

どの関数が注文の建値を返すのか、それは:

- へいさて

- ストップ ロスで終了。

よろしくお願いします。



そういう支店が あるんです......そこにはいろいろなものがあって、面白いんですよ。

この関数は、停止中の最後のポジションを閉じるためのフラグを返します

 
r772ra:


そんな支店が あるんだ、面白いものがたくさんあるんだ。

この関数は、停止中の最後の位置を閉じるフラグを返します

ご教示いただきありがとうございました。

私が使っているのはまさにこの機能です。

逆指値注文が閉じられた後、その価格で成行注文を開始するコードを作成する必要があります。

ストップで決済された最後の注文の

ストップで決済された最後の注文の始値を変数に記憶させようとしたところ
if (isCloseLastPosByStop()==True)                                            //если посл.орд.SELL  закрылся по стопу(стоп данного ордера SELL = 295 п.)

double PrStop = (Bid - 0.0295);                                              // от цены срабатывания СТОП-ЛОССА вычитаем 295 п. 
                                                                             // и запоминаем это значение,(т.е. цену открытия ордера)в переменной  PrStop         
if (Bid == PrStop )                                                          //если цена Bid будет равна значению PrStop
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point,"jfh",123 );//открыть ордер.

しかし、価格がPrStopの値と等しい場合、注文は行われない。

また、PrStopの値よりも価格が低いときに注文を出そうとしました。

しかし、再びオーダーを設定することはなかった。

if (Bid < PrStop ) 

次の注文が閉まるまでNOT ON STOP LOSSになっているのが原因かと思われます。

isCloseLastPosByStop () は、各ティックで True を返し、PrStop 変数には

は、各ティックで新しい値になります。

私はKimの関数をすべて注意深く調べましたが、その名前は私の問題を解決するには不向きなようです。

ご指導いただけると幸いです。

 

ヒントをくださいプログラミングの第一歩を踏み出したところです。

関数の動作が速くなるのはなぜか(関数は2回呼び出される)

- ライブラリから呼び出された場合

- EAで直接start()関数の外に記述されている場合。

- もし、start()関数自体にある場合は

 

solnce600, Andrei, あなたはSLでクローズした最後のポジションを手にしていますよ。そして、その機能を少しいじれば、何でも分かるようになることを、誰が阻むのでしょうか。

double GetOOPCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t; 
  double   ocp, osl, OOP;
  double p = 0;
  int    i, j=-1, k=OrdersHistoryTotal();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
        if (op<0 || OrderType()==op) {
          if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            j=i;
//            p = OrderProfit()+OrderCommission()+OrderSwap();
            OOP = OrderOpenPrice();
  } } } } }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    ocp=NormalizeDouble(OrderClosePrice(), 5);
    osl=NormalizeDouble(OrderStopLoss(), 5);
//    if (ocp==osl) return(p);
    if (ocp==osl) return(OOP);
  }
  return(0);
}
終値の利益を出す2行をコメントアウトし、そのクローズしたポジションの始値を出す2行を追加しました。テストはしていませんが、必要なものを代用するとすべてうまくいくので、うまくいくはずですぜひご覧ください。
 
borilunad:

solnce600, Andrei, あなたはSLでクローズした最後のポジションを手にしていますよ。そして、その機能を少しいじれば、好き放題に調べられることを、誰が止めるというのでしょう。

私は、終値の利益を示す2本の線をコメントアウトし、そのクローズしたポジションの始値を得るために2本の線を追加しました。テストはしていませんが、必要なものを入れればすべてうまくいくので、うまくいくはずですぜひご覧ください。

この度は迅速な対応をしていただき、誠にありがとうございました。

についても教えていただけるとありがたいのですが......。

私の戦略はとてもシンプルです。

価格がオープン(iOpen (Symbol (),0,0)) から反対方向に小さい 距離(10ピップス)よりも速く 上方(300ピップス)へ移動した場合

-価格が反転して反対方向に行った後、各ローソク足の始値で成行注文を出す(iOpen(Symbol(),0,0)

このアイデアを実現するために、まず思い浮かぶのは

1.各ローソク足の始値で、大きな逆指値と小さな利食いの成行注文を出します。

利益確定よりもストップで早く決済された場合、ストップで決済された注文の始値で成行注文を設定します。

この方法は、後で成行注文として設定すべきローソク足を始値で検出することができます......。しかし、これを行うには、私は市場を配置する必要があります。

すべての 電流の開始時に、大きなストップと小さな利益で注文 します。

それに、実際の取引でローソク足の始点ごとに注文を 出す必要はないんだ。

まず最初に思い浮かぶのは

- デモ口座 のチャートに1つの EAを貼り付けて、各ローソク足の始点で注文を出す必要があります。

- また、 実際の口座で別の EAをチャートに貼り付けて、上記の条件でのみ注文を出す必要があります。

しかし、2つの 口座と2つのEAで 取引することは、最も便利で最適なバリエーションではないように思います。 私は1つの口座と1つのEAで 取引したいのです。

質問:各ローソク足の始値で成行注文を出さずに、上記のポジションオープンの条件を見つけるには、他にどのような方法があるのでしょうか?

ありがとうございます。

 
solnce600:

この度は迅速な対応をしていただき、誠にありがとうございました。

についても教えていただけるとありがたいのですが......。

私の戦略はとてもシンプルです。

ローソク足の 始点から反対方向に10pips以上 上昇(下降)した場合(iOpen (Symbol (),0,0)

-その後、価格が反転して反対方向に行った後、各ローソク足の始値で成行注文(iOpen (Symbol (),0,0) )を出します。

このアイデアを実現するために、まず思い浮かぶのは

1. 各ローソク足の始値で、大きな逆指値と小さな利益で成行注文を出します。

2.利益確定よりもストップで早く決済された場合、ストップで決済された注文の始値で成行注文を設定します。

この方法は、後で成行注文として設定すべきローソク足を始値で検出することができます......。しかし、これを行うには、私は市場を配置する必要があります。

すべての 電流の開始時に、大きなストップと小さな利益で注文 します。

それに、実際の取引でローソク足の始点ごとに注文を 出す必要はないんだ。

まず最初に思い浮かぶのは

- デモ口座 のチャートに1つの EAを貼り付けて、各ローソク足の始点で注文を出す必要があります。

- また、 実際の口座で別の EAをチャートに貼り付けて、上記の条件でのみ注文を出す必要があります。

しかし、2つの 口座と2つのEAで 取引することは、最も便利で最適なバリエーションではないように思います。 私は1つの口座と1つのEAで 取引したいのです。

Q: 各ローソク足の始値で成行注文を出さずに、ポジションを開く条件を検出するには、他にどのような方法がありますか?

ありがとうございます。

まあ、当然ですが、まるで実際に見たかのように大騒ぎしていますね!怪しいですね。私は、あなたの考えを十分に理解しているわけではありませんが、条件におけるローソク足をトレースして、この条件があなたと一致する場合、始値のゼロローソク足から任意の距離に保留注文を設定し、ストップと利益を設定しながら、設定直後に同じ方法で別のキムの機能を適用して最後の注文のデータを決定して修正することを試してみてはどうですか?ロジックをよく吟味し、実験して、どうぞ。がんばってください。