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

 
Roger09:
チウィングへ

これを試してみてください。

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

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

//| script "delete pending order" |

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

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

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

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}

if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) delPending();

に変更します。

if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() )) delPending()に変更します。

 

GetClientRect?

チャートのクライアント座標を取得したいのですが、どうすればよいのでしょうか?

OBJPROP_CORNERを使わずに右下の座標を知りたいのですが。

よろしくお願いします。

 

Eu h1 ea

最適なものに変更するために私を助けてください

ファイル:
 

ロジックに関するヘルプ

皆さん、こんにちは。

コードロジックについて少し手助けをお願いします。私はあるシステムのEAを作ろうとしているのですが、売買シグナルの ロジックをどのように書けばいいのか少し戸惑っています。以下は、私がMQLに変換したいものの疑似ロジックです。

買いロジック。

If (MA_1 > MA_2) and (Previous(MA_1 < MA_2)) // A moving average cross mean we have a "GET READY" signal

// Once we have a "GET READY" signal the following conditions need to be true

// in order for the system to create a "BUY_SIGNAL".

// Note: the following conditions do not necessarily have to become true on the exact same bar,

but need to trigger true within + or - 2 bars of the "GET READY" bar.

( CLOSE > MA3 ) // Price closes above a MA

( CCI Crosses above the ZERO line ) // CCI crosses up above zero

( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up side

売りロジックは、買いロジックのちょうど反対です。

EAの完全なコードは必要なく、シグナルを作動させるためにMQLのIFとLOOP文に変換されたロジックだけです。このスレッドにある多くの例から、OpenOrderのコードなどを見つけ出すことができると思います。

どなたかご助言いただければ幸いです。

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

Moxy

 

メタエディタのヘルプを見るのが一番です。

iMa、iStochastic、iCCIなどの関数を見てみて ください。これらの関数には例があり、それらとEAのコードを見ることで得られる情報を組み合わせれば、簡単に見つけることができます。

幸運を祈ります。

ラックス

 
luxinterior:
メタエディタのヘルプを見るのが一番良い方法です。

iMa、iStochastic、iCCIなどの関数を見てみてください。これらの関数には例があり、それらとEAのコードを見ることで得られる情報を組み合わせれば、簡単に見つけることができます。

幸運を祈ります。

Lux

ラックスさん、こんにちは。

返信ありがとうございます。私は個々のiMAステートメントなどをワークアウトすることができます...私が持っている問題は、信号がトリガーされた後、異なるタイムバーを参照する方法です。例えば...もし私がGET READYシグナルを持っているならば、次のバーのオープンで買いシグナルを持って いることを確認するために、他のインジケータのために前2バーと後2バー(合計5バー)を参照する必要があります。意味があるのかどうかわかりません。

私はそれが...私が処理されているバーの前と後の両方のバーを参照する必要がある場合、私は必要なFORループなどをどのように構成するのだろうかと思います。

よろしくお願いします。

Moxy

 
Moxy:
こんにちは、Luxです。

ご回答ありがとうございます。個々のiMAステートメントなどをワークアウトすることができます。問題は、シグナルがトリガーされた後、異なるタイムバーを参照する方法です。例えば...もし私がGET READYシグナルを持っているならば、次のバーのオープンで買いシグナルを持っていることを確認するために、他のインジケータのために前2バーと後2バー(合計5バー)を参照する必要があります。意味があるのかどうかわかりません。

私はそれが...私が処理されているバーの前と後の両方のバーを参照する必要がある場合、私は必要なFORループなどをどのように構成するのだろうかと思います。

ということです。

Moxy

iMA()でshift変数を使用することでこれを行うことができます。また、Open, High, Low, Closeの値、つまり現在のバーから3本離れたClose[3]を使ってこれを行うことができます。

 

移動の移動平均

私はMAの周りの平均的な移動のセットを決定するために、最も古いBARから、私は上下の動きを探して、配列にそれらを入れて、その配列を平均化します。

このコードを完成させるために、ちょっとした手助けが欲しいのです。

double AverageMove()

{

int cbars = iBars(Symbol(),EntryTimeFrame)。

int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0;

double retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow.Bool reset,TradeShort,iHigh,iLow,iLimit=0;

bool reset,TradeShort,TradeLong;

iLimit=Bars-1;

if(Symbol() != "AUDNZD") return(0);

for(ndx=0; ndx<iLimit; ndx++)

{

MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx);

pHValue = High[ndx];

pLValue = Low[ndx];

if(MAvalue pLValue)

{

if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue).if(Symbol())="MAValue+"pHValue")。

reset = trueとする。

if(EntryPoint > 0 && cHigh > 0)

{

RangeCounter++;

RangeValue[RangeCounter]=cHigh - EntryPoint;

}

if(EntryPoint > 0 && cLow > 0)

{

RangeCounter++;

RangeValue[RangeCounter]=EntryPoint - cLow;

}

EntryPoint = MAvalue。

}

if(pHValue < MAvalue && reset) TradeShort = true;

if(pLValue > MAvalue && reset) TradeLong = true; if(pLValue > MAvalue && reset) TradeLong = true;

if(TradeLong)

{

reset = falseです。

cHigh = pHValue;

}

if(トレードショート)

{

reset = False;

cLow = pLValue;

}

}

ArraySetAsSeries(RangeValue,true)。

retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0);

Print("平均移動量 "+retval);

}

 

チャートでのクライアントエリアを知りたいのですが。

こんにちは。

チャートのクライアントエリアを知りたいのですが。

アドバイスをお願いします。

左上隅の点を(0,0)とすると、右下隅の座標を知りたいのですが。

この場合、ObjectSet("",OBJPROP_CORNER,3)は使用しない方が良いと思います。

よろしくお願いします。

 

モクシーです。

もし私が正しく理解しているならば、EAでこの一行一行のコードを書かなければならないでしょう。

MA1、インデックス-1前

MA1, index now

MA1、インデックス+1後

これが基本です。