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

 
r772ra:
doubleiClose() 文字列シンボル,int timeframe,int shift)

こんな感じ。

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



 
extern double lot = 1;
extern double ts = 50; 
extern double sl = 50; 
extern double tp = 40;
extern double periodrsi = 30;
extern double hirsi = 80;
extern double lowrsi = 30;

int K=0;
int L=0;
 


int init()
  {
   return(0);
  }

 
int start()
  { 
    double r1 = iRSI(NULL,0,periodrsi,PRICE_CLOSE,1);


  

    static bool first = true;
    static int pre_OrdersTotal = 0;
    int _OrdersTotal = OrdersTotal();
    if ( first )
    {
        pre_OrdersTotal = _OrdersTotal;
        first = false;
        return(0);
    }
 
   
   
   
    if ( _OrdersTotal > pre_OrdersTotal ) 
{K=0;
L=0;}
    if ( _OrdersTotal < pre_OrdersTotal )
{K=0;
L=0;}
    pre_OrdersTotal = _OrdersTotal; 

if (r1>hirsi) K=1;
 {
 if ((K==1) && (r1<hirsi))

 { 
  L=(L+1);                        // набираем проходы вниз под hirsi

K=0;
 }
 }



 if(OrdersTotal()<1)

 {
 if((r1<hirsi) && (L==2))   //есть два прохода

 OrderSend(Symbol(),OP_SELL,lot,Bid,0,Ask+sl*Point,Bid-tp*Point,"Easiest ever",0,0);
こんにちは、友人!このコードに次の条件を追加するような関数をアドバイスしてください。取引は、rsiがn個のバーの 間に2つのダウンパスをした場合にのみ開かれます。例えば、rsiが30バーの間に2つのダウンパスをした場合、注文を開く。)
 
TemirKhan:
こんにちは友人!このコードに次の条件を追加する関数を提案してください。取引は、rsiがn本のバーの 間に2回下降パスをした場合にのみ開かれます。例えば、rsiが30本のバーの間に2回下降パスをした場合、注文を開くのですが、これが分かりません。)


カウンターをスタートさせるのです。そして、履歴を走らせると、条件によってカウントされます。"クロスダウン "したら、カウンターに1つ追加...。"等 "です。

学び、時間をかければ、きっとうまくいくはずです

 
hoz:


カウンターをスタートさせるのです。そして、履歴を走らせると、条件によってカウントされるのです。"下 "を横切ったら、カウンターに1つ追加して...。" などです。

学び、時間をかければ、きっとうまくいくはずです


クロッシングカウンターがあるんですね、あそこは。
if (r1>hirsi) K=1;
 {
 if ((K==1) && (r1<hirsi))

 { 
  L=(L+1);                        // набираем проходы вниз под hirsi

K=0;
 }
 }
30小節以内にクロスオーバーが起こった場合のみ、Lが "2 "の値を得ることができるように、小節カウンタが必要です、でもどうやって?
 

と思うようになりました。疑問を払拭するためにキムの機能を調べてみると...私の主張は確信に変わりました。でだけ、なぜか「自由貿易の流れ」のチェックが入る。 オープニング и 御仕舞い の命令...そして、その時 しゅうせいほう(SLとTPの初期設定)、にて。 トラール への移籍時、および ブレークイーブン はチェックがありません。なぜ?結局のところ、どちらの場合もサーバーが呼ばれるのです

結局のところ、そのトレーダーが取られた場合、Expert Advisorは論理的に、例えばストップを設定せず、ポジションに対して全く何もしないことになるのです。これは理解できない。

 
hoz:

と思うようになりました。疑問を払拭するためにキムの機能を調べてみると......私の推理は確信に変わりました。でだけ、なぜか「自由貿易の流れ」のチェックが入る。 オープニング и 御仕舞い の命令...そして、その時 しゅうせいほう(SLとTPの初期設定)、にて。 トラール への移籍時、および ブレークイーブン はチェックがありません。なぜ?結局のところ、どちらの場合もサーバーが呼ばれるのです

結局のところ、トレーダーがその後取られた場合、Expert Advisorは論理的に、例えばストップを設定せず、ポジションに全く何もしない。これは理解できない。


大したことはない。次のティックに設定する
 
Vinin:

大したことではありません。次のティックに設定します

では、その場合、なぜ開閉時にチェックするのでしょうか?次のティックでも設定されます :)やはり、スキャルパーには大きな役割を果たすのかもしれませんね...。
 
hoz:

では、その場合、なぜ開閉時にチェックするのでしょうか?また、次のティックに設定します :)何しろ、スキャルパーにとっては大きな役割を果たすのですから...。

だから、すべてはあなたの手の中にあるのです。だから、実行されるのです。そういうやり方もあります。
 

改めて参考文献を調べ、改めてここの行を読みました。

https://docs.mql4.com/ru/basis/preprosessor/import

Для импорта функций во время выполнения mql4-программы используется так называемое позднее связывание. Это значит, что пока не вызвана импортируемая функция, соответствующий модуль (ex4 или dll) не загружается.

つまり、ライブラリを読み込むためには、import行の後のコードで呼び出される必要がありますよね?

例えば、こんな風にやってみました。

#import "hoz_Base@Library.ex4"
   double ND(double A);
   double Get_TradePrice(int fi_priceId,       // Цена: 0 - Ask; 1 - Bid
                      string fs_symbol);

1.ということが判明しました。 関数を宣言します。 Expert Advisorのコードの一番最初に使用される?

2. Expert Advisor 自体のコードで多くを宣言せず、ヘッダファイルを使用すること?I.e.宣言だけ?

このような質問が出たのは、かなり本格的なプログラマーによって書かれたExpert Advisorを見たことがあるからですが、そのヘッダーファイルにはメイン関数と非メイン関数がすべて含まれています。これには驚きましたね...。その理由は、コンパイルされたライブラリの速度がはるかに速く、さらにライブラリ関数のコードが「分離」されているため、非常に便利だからである。

 
おはようございます。このスレッドは初めてなので、申し訳ありませんが、このスレッドを見ずに、新しいスレッドを作成しました。

https://www.mql5.com/ru/forum/145453