コーディングの方法は? - ページ 81

 

ヘルプが必要です

こんにちは、すべてのコーダー。

私はどのように私はキャンドルによると価格をチェック することができますコードを教えてください。私は、どのように私は現在のキャンドルがMAラインに触れるかどうかを確認することができます意味とどのように私は現在のキャンドルは、MAラインの下にオープン、ハイ、ローとクローズを持っていることをコード化することができます。あなたの助けは非常に高く評価されるでしょう。

よろしくお願いします.........!

 
arsenic786:
こんにちは、すべてのコーダー。

私はキャンドルによると、価格をチェックすることができますどのようにコードを教えてください。私は、どのように私は現在のキャンドルがMAラインに触れるかどうかを確認することができます意味とどのように私は現在のキャンドルは、MAラインの下にオープン、ハイ、ローとクローズを持っていることをコード化することができます。あなたの助けは非常に高く評価されるでしょう。

よろしくお願いします.........!

さて、クロスをチェックするには、前の終値、現在の終値と移動平均値(だからiMa、Close[1]とClose[0])を比較する必要があります。

しかし、ローソク足が移動平均線より下にあるかどうかを確認するには、LOWとHIGHの価格とiMaの値を比較する必要があります。

 

ティックタイムインジケータ

ティック間の時間を1つの要素とするインジケータを作りたいと思っています。この機能を 組み込むことが可能かどうか、どなたかアドバイスをお願いします。

よろしくお願いします。

 

ペア/タイムフレームを通じたスキャン

こんにちは。

私は、ADXのような指標を使用して、現在の環境(トレンド、範囲バウンドなど)を検出するためにペアのいくつかの、そしてペアの時間枠のいくつかを介してスキャンしたいと思います。これは、私が基準のセットに基づいて取引するのに最適なペア/タイムフレームを選択するのに役立ちます。

この場合、すべてのチャートに環境認識EAを取り付け、その結果をファイルに書き出し、そのファイル上で私自身が比較するというお粗末な方法を取ることになります。しかし、これはあまりにも面倒な手作業です。

1つのチャートにEAを取り付け、そのEAにiCloseやiOpenなどの時系列関数を使って すべてのペアと時間枠からデータを取得させ、その価格を私のインジケータに供給することは可能でしょうか?

2番目の方法で何か問題があると思われる方はいらっしゃいますか?CPUの処理が多すぎる?チェックにかかる時間が長すぎるなど?5分足より細かい時間軸は必要ありません。

私はEAに慣れていないので、その性能はわかりません。どのようなヘルプも非常に高く評価されます。よろしくお願いします。

 

プログラムでEAをチャートに貼り付ける

こんにちは。

EAをプログラムでチャートに貼り付けることは可能でしょうか?例えば、現在EA1を動かしていて、ある条件を満たすとEA2を別のチャートにアタッチするようにしたいのです。それは可能でしょうか?

 
meokoken:
こんにちは。

私は、ADXなどの指標を使用して、現在の環境(トレンド、レンジバウンドなど)を検出するために、いくつかのペアとペアの時間枠のいくつかを介してスキャンしたいと思います。これは、私が基準のセットに基づいて取引するのに最適なペア/タイムフレームを選択するのに役立ちます。

この場合、すべてのチャートに環境認識EAを取り付け、その結果をファイルに書き出し、そのファイル上で私自身が比較するというお粗末な方法を取ることになります。しかし、これはあまりにも面倒な手作業です。

1つのチャートにEAを取り付け、そのEAにiCloseやiOpenなどの時系列関数を使ってすべてのペアと時間枠からデータを取得させ、その価格を私のインジケーターに供給することは可能でしょうか?

2番目の方法で何か問題があると思われる方はいらっしゃいますか?CPUの処理が多すぎる?チェックにかかる時間が長すぎるなど?5分足より細かい時間軸は必要ありません。

私はEA初心者なので、性能がよくわかりません。どんな助けでも非常に感謝されます。応援しています!

シンボル機能 で対応可能です。例えば、10枚のチャートで移動平均と終値をチェックする場合、異なる時間軸の10本のクロスを現在のバーでチェックすると、次のようになります。

double eurudMa = iMa("EURUSD", blablabla,PERIOD_X,0);

double eurusdClose = iClose("EURUSD",PERIOD_X);

とし、必要に応じてそれらの値を比較します。

他の指標でも同じです。指定したクロスの買値と売値を取得したい場合は、同様にMarketInfo関数を使用します。

よろしくお願いします。

ケイル

 

信号線が あるOsMA

コーダーの皆さん、助けてください。どなたか、添付のOsMAインジケーターにシグナルラインを追加していただけないでしょうか?ありがとうございました。

ファイル:
osma.mq4  3 kb
 

デジタル版を作るには?

こんにちは、皆さん。

私はここで初心者です。

Wolfeが親切にも以下のコードのテンプレートを作ってくれたので、それを修正しました。これは完全にうまく動作し、私がやりたいことをやってくれます。

しかし、今、私は

私はこれのデジタル版、DIGISTOCHのインジケータに似たものを作ろうと思っています。

私が知りたいのは

- バッファを「クリア」または「フラッシュ」する方法は?バッファのリンクを "消去 "して新しいバッファを作成することはできないようです。

- バッファを含まないように変更するにはどうすればよいのでしょうか?この方法によって、メモリが節約できると思うのですが?SetIndexBufferを消してみたのですが、MT4で読み込むとエキスパートターミナルのウィンドウで「zero divide」エラーになります。

- 下のラベルは両方ともH1の値しか表示されません。本来はH1とH4の数値を表示するはずです。だから、それはここで動作していません。

- DIGIStochのように、M1からMN1までの異なる時間軸のRatioを1つの画面に表示させたいのですが、可能でしょうか?

何かお手伝いいただけると幸いです。

よろしくお願いします。

//+------------------------------------------------------------------+

//| 2MA_RSI.mq4 |

//+------------------------------------------------------------------+

#property copyright "Wolfe"

#property link "xxxxwolfe@gmail.com"

#property indicator_separate_window

#property indicator_level1 100

#property indicator_level2 80

#property indicator_level3 50

#property indicator_level4 20

#property indicator_buffers 4

#property indicator_color1 Black //RSI

#property indicator_color2 Blue //MA1

#property indicator_color3 Red //MA2

#property indicator_color4 Green //Ratio

int RSI_Timeframe=0;//0=current chart,1=m1,5=m5,15=m15,30=m30,60=h1,240=h4,etc...

int RSI_Period = 10;

int RSI_Applied_Price = 0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4

int MA1_Period = 10;

int MA1_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA

int MA2_Period = 30;

int MA2_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA

double RSI[],MA1_Array[],MA2_Array[],MR_Ratio[];

double _RSI[],_MA1_Array[],_MA2_Array[],_MR_Ratio[];

string ShortName="MoR";

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators setting

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1); //RSI

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); //EMA10

SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1); //EMA30

SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2); //Ratio

SetIndexBuffer(0,RSI);

SetIndexLabel(0,"RSI");

SetIndexBuffer(1,MA1_Array);

SetIndexLabel(1,"MA1");

SetIndexBuffer(2,MA2_Array);

SetIndexLabel(2,"MA2");

SetIndexBuffer(3,MR_Ratio);

SetIndexLabel(3,"Ratio");

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

IndicatorShortName(ShortName);

return(0);

}

int start()

{

int i,limit = Bars - IndicatorCounted() - 1;

for(i=limit; i>=0; i--){

RSI= iRSI(NULL,60,RSI_Period,RSI_Applied_Price,i);

}

for(i=limit; i>=0; i--){

MA1_Array = iMAOnArray(RSI,0,MA1_Period,0,MA1_Method,i);

MA2_Array = iMAOnArray(RSI,0,MA2_Period,0,MA2_Method,i);

}

for (i=0; i<=limit; i++){

MR_Ratio = MA1_Array / MA2_Array * 100;

}

double tmp1=MR_Ratio[0];

SetText("Label1",DoubleToStr(tmp1,1),Black,55,20);

//+------------------------------------------------------------------+

//| Trying to set new buffers |

//+------------------------------------------------------------------+

IndicatorBuffers(4);

SetIndexBuffer(0,_RSI);

SetIndexBuffer(1,_MA1_Array);

SetIndexBuffer(2,_MA2_Array);

SetIndexBuffer(3,_MR_Ratio);

for(i=limit; i>=0; i--){

_RSI= iRSI(NULL,240,RSI_Period,RSI_Applied_Price,i);

}

for(i=limit; i>=0; i--){

_MA1_Array = iMAOnArray(_RSI,0,MA1_Period,0,MA1_Method,i);

_MA2_Array = iMAOnArray(_RSI,0,MA2_Period,0,MA2_Method,i);

}

for (i=0; i<=limit; i++){

_MR_Ratio = _MA1_Array / _MA2_Array * 100;

}

double tmp2=_MR_Ratio[0];

SetText("Label2",DoubleToStr(tmp2,1),Black,95,20);

//----

return(0);

}

void SetText(string ObjName,string ObjText,color clr,int xpos,int ypos){

ObjectCreate(ObjName,OBJ_LABEL,WindowFind(ShortName),0,0);

ObjectSetText(ObjName,ObjText,9,"Arial Bold",clr);

ObjectSet(ObjName,OBJPROP_CORNER,0);

ObjectSet(ObjName,OBJPROP_XDISTANCE,xpos);

ObjectSet(ObjName,OBJPROP_YDISTANCE,ypos);

}

 
SolomonZhang:
こんにちは、皆さん。

私はここで初心者です。

Wolfeが親切にも以下のコードのテンプレートを作ってくれたので、それを修正しました。これは完全にうまく動作し、私がやりたいことをやってくれます。

しかし、今、私は

私はこれのデジタル版、DIGISTOCHのインジケータに似たものを作ろうと思っています。

私が知りたいのは

- バッファを「クリア」または「フラッシュ」する方法は?バッファのリンクを "消去 "して新しいバッファを作成することはできないようです。

- バッファを含まないように変更するにはどうすればよいのでしょうか?この方法によって、メモリが節約できると思うのですが?SetIndexBufferを消してみたのですが、MT4で読み込むとエキスパートターミナルのウィンドウで「zero divide」エラーになります。

- 下のラベルは両方ともH1の値しか表示されません。本来はH1とH4の数値を表示するはずです。だから、それはここで動作していません。

- DIGIStochのように、M1からMN1までの異なる時間軸のRatioを1つの画面に表示させたいのですが、可能でしょうか?

何かお手伝いいただけると幸いです。

よろしくお願いします。

ループ毎にinitした後、バッファに空の値を定義するだけです。

ゼロディバイドについては、計算前に何らかの "if "条件を作成するだけです。

 

マルチタイムシグナルコード

こんにちは、プログラマー

私はプログラミングを学んでいる初心者で、基本的なEAを作成しました。

アイデアは、基本的に高いTFの信号を探し、低いTFのリトレースメントを待って、次のような順序を実行することです。

4 HRは、次の上のシグナルを生成した場合。

if(MacdCurrentSignalCurrent)MacdPrevious<SignalPrevious)=LongSignalActivated。

上記のシグナルを保持し、1HR(または他の時間枠)のリトレースメントを待つには、次のようにします。

if (MacdCurrentSignalCurrent && MacdPrevious<SignalPrevious) Order=SignalBuy(買いのシグナル)

または

その他のストラテジー

私はすでにすべての指標は、異なる時間枠のための変数に定義されている...

私は誰かが手を貸すために喜んでいる場合は、EAを送信することができます...また、任意の経験豊富なプログラマが私と一緒に働くために喜んでいる場合私の戦略、私は(残念ながら多くを支払う余裕がない)補償する意思がある...

どんな助けでも感謝します。

Mo Syed

電子メール:moi.syed@gmail.com