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

 
こんにちは、私もこのような状況なので、松葉杖を使わずに直したいです。Expert Advisorはポジションを開き、StopとTakeを持つ。ローソク足1本でのテスト中(ポジション開設の 条件を満たした時)、1本目の注文を決済した直後に、2本目、3本目と注文が開設される場合があります。これは、そのローソク足でポジションを建てる条件が満たされ、しばらくしてからストップまたはテイク注文が発動するためです(建てる条件はまだ満たされており、ローソク足は閉じられていません)。

エントリーの仕方(ポジションを持つ条件)と、同じローソク足で新規ポジションを持たないようにテイクやストップを発動するか(オープンの条件は満たしている)、アドバイスをお願いします。ありがとうございました。

 
Profitpamm:
こんにちは、私もこのような状況なので、松葉杖を使わずに直したいです。Expert Advisorはポジションを開き、StopとTakeを持つ。ローソク足1本でのテスト中(ポジションを持つ という条件が満たされた時)、1本目の注文を決済した直後に、2本目、3本目...と注文を出す場合がある。これは、ポジションを開くための条件が満たされ、いくつかの時間後に、ストップまたはテイクオーダーがトリガされるという事実によるものです(オープンの条件がまだ満たされている、ろうそくが閉じられていない)。
エントリー方法(ポジションを持つ条件)と、新規ポジションを持たないように同じローソク足でテイクまたはストップを発動するかどうか(オープン条件を満たすかどうか)、アドバイスをお願いします。ありがとうございました。

オープンポジションがあるかどうか、このローソク足でポジションがオープンされクローズされたかどうか、日付で確認する...
 
Profitpamm:
こんにちは、私もこのような状況なので、松葉杖を使わずに直したいです。Expert Advisorはポジションを開き、StopとTakeを設定します。ローソク足1本でのテスト中(ポジション開設の 条件を満たした時)、1本目の注文を決済した直後に、2本目、3本目と注文が開設される場合があります。これは、そのローソク足でポジションを建てる条件が満たされ、しばらくしてからストップまたはテイク注文が発動するためです(建てる条件はまだ満たされており、ローソク足は閉じられていません)。

エントリーの仕方(ポジションを開く条件)と、同じローソク足で新規ポジションを開かないようにテイクやストップを発動するか(開く条件を満たしているか)、アドバイスをお願いします。ありがとうございました。


ここでは、その使い方の一例をご紹介します...

datetime zap_tim;

//=======================
void start()
{
if(zap_tim!=Time[0])
 {
  OrderSend(............);
  zap_tim=Time[0];
 }
}
 
-Aleks-:

オープンポジションがあるかどうか、そのローソク足でポジションがオープンされクローズされたかどうか、日付でチェックする...。
アレックスさん、ありがとうございます。
 
Valerius:


その使い方の一例をご紹介しますと...。

Valeriusさん、分かりやすい説明ありがとうございました
 

リファレンスの標準コードでは動作しない

https://docs.mql4.com/ru/basis/types/casting

単純構造型のデータを持ち込む

333

どのように治療するのか?

異なる基本型の値を変換するために使用される。例えば、配列uchar arr[]があり、ある位置にdoubleの値を書き込む必要があります。

void GetBytes(double x,uchar &arr[],int pos)

あるいはその逆もしかり。

double GetDouble(uchar&arr[],intpos)。

もしかしたら、もっとシンプルな解決策を提案してくれる人がいるかもしれません。

Приведение типов - Типы данных - Основы языка - Справочник MQL4
Приведение типов - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
Приведение типов - Типы данных - Основы языка - Справочник MQL4
 

doubleiMA(
stringsymbol,// シンボル名
inttimeframe,// timeframe
intma_period,// 期間
intma_shift,// 平均値をシフトする
intma_method,// 平均化手法
intapplied_price,//価格タイプ
intshift// shift
);

記号の 代わりにペアを入れるには
 
Rustam Bikbulatov:

doubleiMA(
stringsymbol,// シンボル名
inttimeframe,// タイムフレーム
intma_period,//期間
intma_shift,// 平均のシフト
intma_method,// 平均化手法
intapplied_price,//価格タイプ
int shift//シフト
);

記号の 代わりにペアを入れるには

"EURUSD"
 
Alekseu Fedotov:

"EURUSD"

倒置法です。
 
Rustam Bikbulatov:

doubleiMA(
stringsymbol,// シンボル名
inttimeframe,// タイムフレーム
intma_period,//期間
intma_shift,// 平均のシフト
intma_method,// 平均化手法
intapplied_price,//価格タイプ
int shift//シフト
);

シンボルの 代わりにどのようなペアを置くのですか?
double  iMA("EURCAD", Period(), ...);