MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 100

 
trader781:

どこに貼ればいいのか、なぜ貼らないのかがわからない (-1)

入力パラメータ bool があります。

void OnTick

{注文開始、トレーリングストップの分析}。

void トレイリングストップ

{クローズドコンディションに対応

もしそうなら、私たちはすべてのことをカバーします。

}

実際には、return; It's a voidです。

そこにどんなロジックがあるのか、私にはわかりません。どうやったら、あなたが持っているものを当てられると思う?
 
trader781:

3点差で

2つ目以上の注文を出すかどうかを設定する1つの外部ポイント

2)最初の注文を開けなければならない条件

3)クローズオーダーポイント

私はあなたにコードを送ることができますが、それは皆のために同じです

では、助けを必要としないのであれば、なぜスレッドを散らかすのでしょうか?

役に立たないページには、役に立つメッセージはありません。

P.S.それとも、最大限に記事を詰め込むことが目的なのでしょうか?
 
trader781:
そして、この3点について、スイッチの図解をお願いしています。では、ゴミと思われる方は私の投稿を削除します。

この点はどうなのでしょうか。

2つ目以上の注文を出すかどうかを設定する1つの外部ポイント

2)最初の注文を開けなければならない条件

3)ポイントオブオーダークロージング

自分が何をしたいのか、わかっているのだろうか?

ポイント2の注文は設定できないし、閉じることもできないし、削除することしかできない。だいたい、持っているものすべてが、どこか論理的に支離滅裂で曖昧なんだから、副業にしないとダメでしょう。

 

コードの中にこんな部分があります。

if(ObjectFind(0,nm)<0) {
    ObjectCreate(0,nm,OBJ_TEXT,0,0,0);
    ObjectSetString(0,nm,OBJPROP_PRICE, TIME(0)+Period()*60*3); // сдвиг вправо на 3 свечи
}

質問:Period()は、H1という桁の集合からM30までの正気の値を返すが、この方法でマーカーをずらすことができなくなった。

周期に関係なくN本ずつローソク足で移動させる方法は?別に関数を書かなくてもいいんですよね?

 
Vitaly Muzichenko:

コードの中にこんな部分があります。

if(ObjectFind(0,nm)<0) {
    ObjectCreate(0,nm,OBJ_TEXT,0,0,0);
    ObjectSetString(0,nm,OBJPROP_PRICE, TIME(0)+Period()*60*3); // сдвиг вправо на 3 свечи
}

質問:Period()は、H1という桁の集合からM30までの正気の値を返すが、この方法でマーカーをずらすことができなくなった。

周期に関係なくN本ずつローソク足で移動させる方法は?別に関数を書かなくてもいいんですよね?

PeriodSeconds(PERIOD_CURRENT)*3
 
Artyom Trishkin:
PeriodSeconds(PERIOD_CURRENT)*3

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

問題は、このエントリーがどの程度正しいかということです。プログラム全体を通して、Time[0]とTime[1]がたくさん使われているのに対して、プログラムの最初にあり、毎回呼ばれるわけではなく、変数に書かれているのです。配列の 外側にエラーはないようですが、すべて表面的に定義されています。

datetime TM[], TIME0, TIME1;

//------------
void OnTimer()

ArraySetAsSeries(TM, true);
  if(CopyTime(_Symbol, PERIOD_CURRENT, 0, 2, TM)==-1) return;
   TIME0 = TM[0];
   TIME1 = TM[1];

ありがとうございます。

 
Vitaly Muzichenko:

この点はどうなのでしょうか。

2つ目以上の注文を出すかどうかを設定する1つの外部ポイント

2)最初の注文を開けなければならない条件

3)ポイントオブオーダークロージング

自分が何をしたいのか、わかっているのだろうか?

ポイント2の注文は設定できないし、閉じることもできないし、削除することしかできない。だいたい、いつもどこか論理的に支離滅裂で曖昧なんだから、副官になってよ。

をお願いします。以下は、extern bool パラメータ OpenOrders=false;//+---open order の場合です。

注文をオープンしてクローズし、リソースを消費することなくチャートに表示させる必要があります。

現時点では自己鋸引き(うまくいくが、パネルエレメントとしては許容できない)。

ファイル:
 
trader781:

をお願いします。以下は、extern bool パラメータ OpenOrders=false;//+---open order の場合です。

注文を出し、決済し、リソースを消費することなくチャートに表示させる必要があります。

現時点では自己鋸引き(うまくいくが、パネルエレメントとしては許容できない)。

私ならそうします。コードに "Disabled "を追加

追伸:72行目を「if(! Disabled) return;」に置き換えてください。フラッグの論理は明確だと思います。
ファイル:
 
Vitaly Muzichenko:

私なら次のようにします。コードに "Disabled "を追加する。

追伸:72行目を「if(! Disabled) return;」に置き換えてください。フラッグの論理は明確だと思います。

いいえ、明確ではありません。原点に帰ること。

1) 無効化=true

trueに初期化する inite

ontikに渡す if(!Disabled) return;

オープンクローズ

Disabled=false; exit.すべて順調です。

2) 無効化=false

ontikをtrueに初期化する

onticに渡す if(!Disabled) return;

オープンクローズ

Disabled=false; exit.次の注文はどこで開けるのですか?何らかのバリアントでこれを可能にする必要があります。

さて、なぜ私がロジックの説明を求めたか、お分かりいただけたでしょうか。

私も2つのEAをオプションで持っています。

 
trader781:

いや、よくわからない。来た道を戻る。

1) 無効化=true

initeをtrueに初期化する。

ontikに渡す if(!Disabled) return;

オープンクローズ

Disabled=false; exit.すべて順調です。

2) 無効化=false

ontikをtrueに初期化する

onticに渡す if(!Disabled) return;

オープンクローズ

Disabled=false; exit.次の注文はどこで開ける のですか?何らかのバリアントでこれを可能にする必要があります。

さて、なぜ私がロジックの説明を求めたか、お分かりいただけたでしょうか。

私も2つのEAをオプションで持っています。

明確ではありません。EAを停止する必要がある場合は、提案されたバリアントがこれに対処し、停止する必要がない場合は、EAを取引させ、いかなる方法でも制限しないようにします。ストップ後にオンデマンドで取引したい場合は、時間を切り替えるだけで十分です、無効が真になり、プログラムが動作し続けるでしょう